xkcd.com

xkcd.com is SSL secured

Free website and domain report on xkcd.com

Last Updated: 11th April, 2023 Update Now
Overview

Snoop Summary for xkcd.com

This is a free and comprehensive report about xkcd.com. Xkcd.com is hosted in United States on a server with an IP address of 151.101.128.67, where the local currency is USD and English is the local language. Our records indicate that xkcd.com is privately registered by Domains By Proxy, LLC. Xkcd.com is expected to earn an estimated $1,507 USD per day from advertising revenue. The sale of xkcd.com would possibly be worth $1,099,983 USD. This figure is based on the daily revenue potential of the website over a 24 month period. Xkcd.com receives an estimated 240,132 unique visitors every day - an insane amount of traffic! This report was last updated 11th April, 2023.

About xkcd.com

Site Preview: xkcd.com xkcd.com
Title: xkcd: 1-to-1 Scale
Description: Stick-figure strip featuring humour about technology, science, mathematics and relationships, by Randall Munroe.
Keywords and Tags: 538, cannibalism, comics, edible arrangements, how, how old, humor, new year's eve, opinions, politics, popular, religion, rule 34, rule34, snopes, terminator dark fate, what if, xkcd, xkcd password, xkcd what if, yoda
Related Terms: randall monsters inc, skylar staten randall, stick figure deaths, suze randall
Fav Icon:
Age: Over 21 years old
Domain Created: 25th January, 2003
Domain Updated: 9th January, 2019
Domain Expires: 25th January, 2024
Review

Snoop Score

4/5 (Excellent!)

Valuation

$1,099,983 USD
Note: All valuation figures are estimates.

Popularity

Very High
Note: Popularity is estimated.

Rank, Reach and Authority

Alexa Rank: 7,678
Alexa Reach:
SEMrush Rank (US): 6,409
SEMrush Authority Score: 77
Moz Domain Authority: 88
Moz Page Authority: 75

Organic vs Paid (Google Ads)

Organic Paid
Keywords: 77,567 0
Traffic: 464,847 0
Cost: $424,513 USD $0 USD
Traffic

Visitors

Daily Visitors: 240,132
Monthly Visitors: 7,308,871
Yearly Visitors: 87,648,292
Note: All visitors figures are estimates.

Visitors By Country

Revenue

Revenue

Daily Revenue: $1,507 USD
Monthly Revenue: $45,863 USD
Yearly Revenue: $549,986 USD
Note: All revenue figures are estimates.

Revenue By Country

SEO

Backlinks Analysis (SEMrush)

Backlinks: 20,247,034
Referring Domains: 90,307
Referring IPs: 69,269
Xkcd.com has 20,247,034 backlinks according to SEMrush. 81% of these backlinks are "dofollow" (follow) links which allow the flow of link equity to pass through, which may improve xkcd.com's search engine rankings. Other links are treated as 'hints' by search engines and may also pass link equity, depending on what search engines decide in each case.
100% of xkcd.com's backlinks are text and image links, which are ideal for SEO. Other backlink types may be unrecognized or ignored by search engines.

Top New Follow Links

1
Source: https://planet.debian.org/
Target: https://xkcd.com/386/

2
Source: https://flowingdata.com/
Target: https://xkcd.com/2271/

3
Source: http://avzel.blogspot.com/
Target: https://xkcd.com/2279/

4
Source: http://avzel.blogspot.com/
Target: https://xkcd.com/2271/

5
Source: https://www.bluesnews.com/
Target: https://xkcd.com/2280/

Top Ranking Keywords (US)

1
Keyword: xkcd
Ranked Page: https://xkcd.com/

2
Keyword: new year's eve
Ranked Page: https://xkcd.com/2248/

3
Keyword: rule 34
Ranked Page: https://xkcd.com/305/

4
Keyword: edible arrangements
Ranked Page: https://xkcd.com/2245/

5
Keyword: rule34
Ranked Page: https://xkcd.com/305/

Domain Analysis

Value Length
Domain: xkcd.com 8
Domain Name: xkcd 4
Extension (TLD): com 3
Expiry Check:

Page Speed Analysis

Average Load Time: 0.16 seconds
Load Time Comparison: Faster than 99% of sites

PageSpeed Insights

Avg. (All Categories) 69
Performance 100
Accessibility 73
Best Practices 92
SEO 82
PWA 0
0–49 (Fail) 50–89 (Average) 90–100 (Pass)
URL: https://xkcd.com/
Updated: 3rd March, 2023

0.49 seconds
First Contentful Paint (FCP)
97%
2%
1%

0.00 seconds
First Input Delay (FID)
100%
0%
0%

Simulate loading on desktop
100

Performance

Indicates how well the page is performing and highlights opportunities where performance may be improved for xkcd.com. This includes details about optimizing page load times which can result in a better user experience.

Metrics

First Contentful Paint — 0.4 s
The time taken for the first image or text on the page to be rendered.
Time to Interactive — 0.4 s
The time taken for the page to become fully interactive.
Speed Index — 0.4 s
The time taken for the page contents to be visibly populated.
Total Blocking Time — 0 ms
The total blocking time is the sum of all time periods between First Contentful Paint and Time to Interactive (when task length exceeded 50ms).
Largest Contentful Paint — 0.7 s
The timing of the largest text or image that is painted.
Cumulative Layout Shift — 0.05
Cumulative Layout Shift is the measurement of visible elements collective movement within the viewport.
View Data

Audits

Max Potential First Input Delay — 20 ms
Users could experience a delay when interacting with the page.
First Meaningful Paint — 0.4 s
The time taken for the primary content of the page to be rendered.
Network Requests
Below is a list of network requests that were made during page load.
URL Protocol Start Time (Ms) End Time (Ms) Transfer Size (Bytes) Resource Size (Bytes) Status Code MIME Type Resource Type
http://xkcd.com/
http/1.1
0
25.459000025876
368
0
301
text/plain
https://xkcd.com/
http/1.1
25.7870000205
95.055000041611
3460
7434
200
text/html
Document
https://xkcd.com/s/7d94e0.css
http/1.1
112.56000003777
167.00600000331
1834
3609
200
text/css
Stylesheet
https://xkcd.com/s/0b7742.png
http/1.1
112.82300000312
190.01000002027
11506
11001
200
image/png
Image
https://xkcd.com/s/5bef6b.png
http/1.1
141.42900001025
217.35700004501
19064
18560
200
image/png
Image
https://imgs.xkcd.com/comics/obituary_editor.png
http/1.1
142.28000002913
281.12900000997
61953
61515
200
image/png
Image
https://imgs.xkcd.com/s/a899e84.jpg
http/1.1
142.41400000174
216.32300002966
21921
21489
200
image/jpeg
Image
https://imgs.xkcd.com/s/temperature.png
http/1.1
142.53900002223
215.69500002079
28141
27710
200
image/png
Image
Network Round Trip Times — 0 ms
High Network RTT (Round Trip Times) can have a large impact on performance. Providing servers geographically closer to the user could improve performance.
Server Backend Latencies — 0 ms
High server latencies indicate the server is overloaded or has a poor backend performance.
Tasks
Below is a list of the top-level main thread tasks that executed during page load.
Start Time (Ms) End Time (Ms)
103.581
27.093
132.54
6.529
170.604
33.277
210.79
13.083
Diagnostics
Below is a collection of useful page vitals.
View Data
Metrics
Below is a collection of metrics.
View Data
Script Treemap Data
Provide as required, for treemap app.

Other

Eliminate render-blocking resources — Potential savings of 50 ms
Resources, such as JavaScript and style sheets, can block the first paint of the page. Xkcd.com should consider delivering critical JavaScript/style sheets (JS/CSS) inline and deferring all non-critical JS/CSS.
URL Transfer Size (Bytes) Potential Savings (Ms)
https://xkcd.com/s/7d94e0.css
1834
70
Properly size images — Potential savings of 14 KiB
Images can slow down the page's load time. Xkcd.com should consider serving more appropriate-sized images.
URL Resource Size (Bytes) Potential Savings (Bytes)
https://xkcd.com/s/5bef6b.png
18560
13920
Defer offscreen images
Time to Interactive can be slowed down by resources on the page. Xkcd.com should consider lazy-loading offscreen and hidden images.
Minify CSS
Cascading Style Sheets (CSS) files can contribute to network payload sizes. Xkcd.com should consider minifying CSS files.
Minify JavaScript
JavaScript (JS) files can contribute to network payload sizes and increase script parse times. Xkcd.com should consider minifying JS files.
Reduce unused CSS
Dead and/or unused rules in Style Sheets (CSS) can contribute to network payload sizes. Xkcd.com should consider removing dead rules from style sheets and deferring the loading of CSS not used for above-the-fold content.
Reduce unused JavaScript
It is advised to remove unused JavaScript in order to reduce bytes consumed by network activity.
Efficiently encode images
Unoptimized images can consume more cellular data than what is necessary.
Serve images in next-gen formats — Potential savings of 95 KiB
Consider JPEG 2000, JPEG XR or WebP image formats which provide better compression than PNG and JPEG.
URL Resource Size (Bytes) Potential Savings (Bytes)
https://imgs.xkcd.com/comics/obituary_editor.png
61515
45341.6
https://imgs.xkcd.com/s/temperature.png
27710
21133.6
https://xkcd.com/s/5bef6b.png
18560
11344.5
https://imgs.xkcd.com/s/a899e84.jpg
21489
10981.75
https://xkcd.com/s/0b7742.png
11001
8681.7
Enable text compression
Text-based resources should be served with compression, such as gzip, deflate or brotli.
Preconnect to required origins
Resource hints, such as 'preconnect' or 'dns-prefetch', may assist in establishing early connections to important third-party origins.
Initial server response time was short — Root document took 70 ms
It is advised to keep the server response time short for the main document, because all other requests depend on it.
URL Time Spent (Ms)
https://xkcd.com/
70.252
Avoid multiple page redirects — Potential savings of 190 ms
Redirects can cause additional delays before the page can begin loading. Xkcd.com should avoid multiple or unnecessary page redirects.
URL Time Spent (Ms)
http://xkcd.com/
190
https://xkcd.com/
0
Preload key requests
Key requests can be preloaded by using '<link rel=preload>'. Xkcd.com should consider using '<link rel=preload>' to prioritize fetching resources that are currently requested later in page load.
Use video formats for animated content
Large GIFs are inefficient for delivering animated content. It is recommended to use MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF.
Remove duplicate modules in JavaScript bundles
Ensure that no duplicate JavaScript modules from bundles exist to reduce bytes consumed by network activity.
Avoid serving legacy JavaScript to modern browsers
Polyfills and transforms enable legacy browsers to use new JavaScript features. For bundled JavaScript it is recommended to adopt a modern script deployment strategy using module/nomodule feature detection. This will reduce the amount of code shipped to modern browsers.
Preload Largest Contentful Paint image
It is recommended to preload images used by LCP elements, to improve LCP time.
URL Potential Savings (Ms)
https://imgs.xkcd.com/comics/obituary_editor.png
0
Avoids enormous network payloads — Total size was 145 KiB
Large network payloads can cost users money and are linked to long load times.
URL Transfer Size (Bytes)
https://imgs.xkcd.com/comics/obituary_editor.png
61953
https://imgs.xkcd.com/s/temperature.png
28141
https://imgs.xkcd.com/s/a899e84.jpg
21921
https://xkcd.com/s/5bef6b.png
19064
https://xkcd.com/s/0b7742.png
11506
https://xkcd.com/
3460
https://xkcd.com/s/7d94e0.css
1834
http://xkcd.com/
368
Avoids an excessive DOM size — 117 elements
A large DOM (Document Object Model) will increase memory usage, cause longer system calculations as well as costly layout reflows.
Statistic Element Value
Total DOM Elements
117
Maximum DOM Depth
8
Maximum Child Elements
13
Avoid chaining critical requests — 1 chain found
Below is a list of Critical Request Chains, which shows which resources are loaded with a high priority. Xkcd.com should consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
User Timing marks and measures
Make use of the User Timing API to measure an app's real-world performance during key user experiences.
JavaScript execution time — 0.0 s
JavaScript (JS) execution time can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
URL Total CPU Time (Ms) Script Evaluation (Ms) Script Parse (Ms)
https://xkcd.com/
88.67
7.066
5.182
Minimizes main-thread work — 0.1 s
Main-thread work timing can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
Category Time Spent (Ms)
Other
32.631
Style & Layout
25.943
Rendering
21.672
Script Evaluation
8.539
Parse HTML & CSS
8.391
Script Parsing & Compilation
5.182
All text remains visible during webfont loads
Make use of the font-display CSS feature, which will ensure text is user-visible while webfonts are loading.
Keep request counts low and transfer sizes small — 8 requests • 145 KiB
It is advised to add a budgets.json file in order to set budgets for the quantity and size of page resources.
Resource Type Requests Transfer Size (Bytes)
Total
8
148247
Image
5
142585
Document
1
3460
Stylesheet
1
1834
Other
1
368
Media
0
0
Font
0
0
Script
0
0
Third-party
0
0
Minimize third-party usage
It is advised to either limit, remove or delay the loading of redundant third-party code which may be significantly impacting load performance.
Lazy load third-party resources with facades
Consider replacing third-party embeds with a facade until they are required (use lazy loading).
Largest Contentful Paint element — 1 element found
The element which was identified as the Largest Contentful Paint.
Element
Largest Contentful Paint image was not lazily loaded
Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint.
Element
Avoid large layout shifts — 2 elements found
Below is a list of all DOM elements that contribute to the CLS of the page.
Element CLS Contribution
0.043324853899861
0.0070176660195854
Uses passive listeners to improve scrolling performance
Improve the page's scroll performance by marking touch and wheel event listeners as 'passive'.
Avoids `document.write()`
Avoid or limit the use of external scripts that are dynamically injected via 'document.write()' as users on slow connections will be delayed by tens of seconds.
Avoid long main-thread tasks
Below is a list of the longest tasks on the main thread, which is useful when identifying the worst input delay contributors.
Avoid non-composited animations
It is recommended to avoid non-composited animations which are often janky and increase CLS.
Avoids `unload` event listeners
The 'unload' event does not fire reliably, causing issues with browser optimizations such as the Back-Forward Cache. It is recommended that 'pagehide' or 'visibilitychange' events are used instead.

Budgets

Performance budget
It is advised to keep the quantity and size of all network requests under the targets set by the provided performance budget.
Timing budget
It is advised to set a timing budget to monitor the performance of your site.

Other

Serve static assets with an efficient cache policy — 1 resource found
Xkcd.com can speed up repeat visits by increasing the cache lifetime, which is essentially how long before a cached copy expires.
URL Cache TTL (Ms) Transfer Size (Bytes)
https://imgs.xkcd.com/comics/obituary_editor.png
300000
61953

Other

Image elements do not have explicit `width` and `height`
Reduce layout shifts and improve CLS by setting explicit width and height properties on image elements.
URL
https://imgs.xkcd.com/comics/obituary_editor.png
Does not have a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of xkcd.com on mobile screens.
73

Accessibility

Indicates how accessible the page is and highlights opportunities where the page can be made more accessible to users of xkcd.com. This includes details about various page attributes that can be optimized.

ARIA

`[aria-*]` attributes match their roles
Avoid mismatching 'aria-*' attributes and their 'role' value, as it invalidates the attribute.
`button`, `link`, and `menuitem` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
`[aria-hidden="true"]` is not present on the document `<body>`
If aria-hidden=true is set on the document body, assistive technologies, like a screen reader will work inconsistently.
`[aria-hidden="true"]` elements do not contain focusable descendents
Interactive elements within an aria-hidden=true element are unavailable to users of assistive technologies, like a screen reader.
ARIA input fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when an input field does not have an accessible name specified.
ARIA `meter` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
ARIA `progressbar` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
`[role]`s have all required `[aria-*]` attributes
Some ARIA roles have required 'aria-*' attributes, which provide essential information about state and functionality.
Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.
Some ARIA parent roles cannot perform their intended functions if specific child roles are not used.
`[role]`s are contained by their required parent element
Some ARIA child roles cannot perform their intended functions if specific parent roles are not used.
`[role]` values are valid
All ARIA roles require valid values to perform their intended functions.
ARIA toggle fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when a toggle field does not have an accessible name specified.
ARIA `tooltip` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
ARIA `treeitem` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
`[aria-*]` attributes have valid values
ARIA attributes cannot be interpreted with invalid values when used by screen readers and other assistive technologies.
`[aria-*]` attributes are valid and not misspelled
ARIA attributes cannot be interpreted with invalid names when used by screen readers and other assistive technologies.
ARIA IDs are unique
Ensure all ARIA ID values are unique to prevent elements from being overlooked by assistive technologies, like a screen reader.

Names and labels

Buttons have an accessible name
Buttons become unusable as they are announced simply as "button" when the button does not have an accessible name, when used by screen readers and other assistive technologies.
Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
No form fields have multiple labels
Having multiple labels for form fields can be confusing to assistive technologies, like a screen reader.
`<frame>` or `<iframe>` elements have a title
Screen reader users and other assistive technology users rely on frame titles to describe the contents of frames.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
`<input type="image">` elements have `[alt]` text
Input buttons with alternative text assist screen readers and other assistive technology users to understand its purpose.
Form elements have associated labels
Screen readers and other assistive technologies rely on labels to properly announce form controls.
`<object>` elements have alternate text
It is advised that alt text is used on '<object>' elements in order to provide meaning to screen reader and other assistive technology users, as these technologies are unable to translate non-text content.

Navigation

The page contains a heading, skip link, or landmark region
It is advised to provide ways to bypass repetitive content, allowing users to navigate the page efficiently.
`[id]` attributes on active, focusable elements are unique
Ensure all focusable elements have a unique id value to allow them to be visible to users of assistive technologies, like a screen reader.
Heading elements appear in a sequentially-descending order
Properly order all headers and do not skip heading levels to better the navigation and readability for users of assistive technologies, like a screen reader.
No element has a `[tabindex]` value greater than 0
Although technically valid, a tabindex value greater than 0 often creates frustrating experiences for users who rely on assistive technologies.

Tables and lists

`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.
Screen readers and other assistive technologies may produce poor and inaccurate output when definition lists are not properly marked up.
Definition list items are wrapped in `<dl>` elements
In order for screen readers and other assistive technologies to properly announce definition list items ('<dt>' and '<dd>'), they must be wrapped in parent a '<dl>' element.
Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).
Use proper list structure to aid screen readers and other assistive technologies.
List items (`<li>`) are contained within `<ul>` or `<ol>` parent elements
In order for screen readers to announce list items, ensure that list items ('<li>') are contained within parent '<ul>' or '<ol>' tags.
Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that '<td>' cells using the headers attribute only refer to other cells in the same table, to improve screen reader user experience.
`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that table headers refer to some set of cells, to improve screen reader user experience.

Internationalization and localization

`<html>` element has a valid value for its `[lang]` attribute
Specify a valid BCP 47 language in order to help screen readers and other assistive technologies announce text properly.
`[lang]` attributes have a valid value
Specify a valid BCP 47 language on elements in order to help screen readers and other assistive technologies announce text properly.

Best practices

The document does not use `<meta http-equiv="refresh">`
Pages that refresh automatically cause a poor user experience as focus is directed back to the top of the page unexpectedly.
`[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.
For users with low vision who rely on screen magnification, ensure that zooming is not disabled.

Audio and video

`<video>` elements contain a `<track>` element with `[kind="captions"]`
Xkcd.com may provide assistance to deaf or hearing-impaired users with captions on videos.

Navigation

`[accesskey]` values are not unique
Access keys assist users with focusing on different parts of the page. Each access key should be unique for proper navigation.
Failing Elements

Contrast

Internationalization and localization

`<html>` element does not have a `[lang]` attribute
It is advised to provide a lang attribute so that screen readers and other assistive technologies are guaranteed to announce the page's text correctly. When not provided, the user's default language setting will be used which may cause inaccuracies.
Failing Elements

Names and labels

Links do not have a discernible name
In order to improve the navigation for screen reader and other assistive technology users, use link text that is unique, focusable and discernible.

Manual Checks

The page has a logical tab order
The visual layout should be logical in its tab order and users cannot focus elements that are offscreen.
Interactive controls are keyboard focusable
Ensure that custom interactive controls are keyboard focusable and that a focus indicator is displayed.
Interactive elements indicate their purpose and state
Ensure that interactive elements (such as links and buttons) are distinguishable from non-interactive elements and that they indicate their state.
The user's focus is directed to new content added to the page
When new content (such as a dialogue) is added to the page, the user's focus should be directed to it.
User focus is not accidentally trapped in a region
Avoid focus being accidentally trapped when a user tabs in and out of controls or regions on page.
Custom controls have associated labels
Ensure that custom interactive controls have associated labels, which are provided by aria-label and aria-labelledby attributes.
Custom controls have ARIA roles
Ensure that all custom interactive controls have appropriate ARIA roles.
Visual order on the page follows DOM order
Ensure that the DOM order matches with the page's visual order, in order to improve navigation for screen readers and other assistive technologies.
Offscreen content is hidden from assistive technology
Ensure that offscreen content is hidden through the use of "display:none" styling or the aria-hidden attribute.
HTML5 landmark elements are used to improve navigation
Elements such as <main> and <nav> are recommended as they are used by screen readers and other assistive technologies to improve keyboard navigation.
92

Best Practices

Indicates the recommended, best practices currently in place on the page and highlights the best practices that xkcd.com should incorporate. This includes practices such as protecting pages with HTTPS.

Audits

Avoids requesting the geolocation permission on page load
When requesting a user's location, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.
Avoids requesting the notification permission on page load
When requesting permission to send notifications, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.
Avoids front-end JavaScript libraries with known security vulnerabilities
Ensure that the use of third-party scripts is minimal and that only trusted third-party scripts are used as some may contain known security vulnerabilities which may be exploited by attackers.
Ensure CSP is effective against XSS attacks
Significantly reduce the risk of cross-site scripting attacks (XSS) by ensuring you have a strong Content Security Policy (CSP).
Description Directive Severity
No CSP found in enforcement mode
High

Audits

Allows users to paste into password fields
Ensure that password inputs may be pasted into to aid in the user's ability to use password managers and improve security.
Displays images with correct aspect ratio
Ensure that image display dimensions match their natural aspect ratio.
Serves images with appropriate resolution
For maximum image clarity, ensure images have natural dimensions and are proportional to the display size and pixel ratio.
Fonts with `font-display: optional` are preloaded
It is recommended that optional fonts are preloaded.

Audits

Page has the HTML doctype
Ensure a doctype is specified to prevent the browser from switching to quirks-mode.
Properly defines charset
It is advised to declare a character encoding, optionally via a <meta> tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header.

Audits

Detected JavaScript libraries
Below is a list of all front-end JavaScript libraries that were detected on the page.
Avoids deprecated APIs
Avoid deprecated APIs which will eventually be removed the browser.
No browser errors logged to the console
Below is a list of all errors logged to the console, which indicate unresolved problems on the site.
Page has valid source maps
Consider deploying source maps for added benefits such as the ability to debug while in production.
No issues in the `Issues` panel in Chrome Devtools
There may be unresolved issues logged to Chrome Devtools.

Audits

Does not use HTTPS — 1 insecure request found
Ensure that all pages are protected with HTTPS (including those that do not handle sensitive data) as HTTPS prevents tampering and passive listening on communications between the app and its users. Additionally, HTTPS is a prerequisite for HTTP/2 and many new web platform APIs.
Insecure URL Request Resolution
http://xkcd.com/
Allowed
82

SEO

Indicates how well the page is optimized for ranking in search engines and highlights Search Engine Optimization (SEO) opportunities for xkcd.com. This includes optimizations such as providing meta data.

Content Best Practices

Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
Links have descriptive text
Make use of descriptive link text to assist search engines in understanding the content.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
Document has a valid `hreflang`
Search engines can be instructed to list specific versions of a page for a given language or region through the use of hreflang links.
Document has a valid `rel=canonical`
Search engines can be suggested which URL should be shown in search results through the use of canonical links.
Document avoids plugins
The content of plugins cannot be indexed by search engines and many devices either restrict or do not support them.

Crawling and Indexing

Page has successful HTTP status code
Avoid pages with unsuccessful HTTP status codes as they may not be indexed by search engines.
Links are crawlable
Ensure that the 'href' attribute of anchor elements links to the appropriate destination. This allows for more pages of the site to be discovered by search engines.
Page isn’t blocked from indexing
Pages that cannot be crawled by search engines cannot be indexed or included in their search results. Ensure that search engines have permission to crawl all pages that should be indexed.
robots.txt is valid
Malformed robots.txt files prevent crawlers from understanding how a site wants to be crawled or indexed, which can be devastating to SEO.

Mobile Friendly

Document uses legible font sizes
Font sizes of 12px or less are too small to most mobile users without user gestures and further action. Aim for more than 60% of page text to use font sizes greater than 12px.
Tap targets are sized appropriately
Interactive elements (such as buttons and links) should be appropriately spaced, sized and easy enough to select or tap with regard to their surrounding elements.

Mobile Friendly

Does not have a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of xkcd.com on mobile screens.

Content Best Practices

Document does not have a meta description
Meta descriptions may be used by search engines when displaying a link to the page and should concisely summarize the page's content.

Manual Checks

Structured data is valid
Structured data can be validated through the use of the Structured Data Testing Tool and the Structured Data Linter.
0

PWA

Indicates how valid the aspects of a Progressive Web App (PWA) are for the page and highlights opportunities to enable/improve the PWA of xkcd.com. This includes details about web app manifests.

PWA Optimized

Content is sized correctly for the viewport
Ensure that the width of the app's content matches the width of the viewport, otherwise the app might not be optimized for mobile screens.

Installable

Web app manifest or service worker do not meet the installability requirements — 1 reason
User engagement may be increased by leveraging the browsers ability to proactively prompt users to add the app to their homescreen.
Failure reason
No manifest was fetched

PWA Optimized

Does not register a service worker that controls page and `start_url`
A service worker is used to provide Progressive Web Apps the use of features such as working offline, the ability for the app to be added to the homescreen as well as push notifications.
Is not configured for a custom splash screen
Themed splash screens ensure a high-quality user experience at launch for app users.
View Data
Does not set a theme color for the address bar.
A theme may be applied to the browser address bar, which ideally can be made to match the site.
View Data
Does not have a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of xkcd.com on mobile screens.
Does not provide a valid `apple-touch-icon`
iOS users of Progressive Web Apps will benefit from an apple touch icon, which can be defined with 'apple-touch-icon', which must point to a non-transparent 192px (or 180px) square PNG.
Manifest doesn't have a maskable icon
Maskable icons are great to ensure that images fill the entire shape when installing the app on a device.

Manual Checks

Site works cross-browser
Ensure that the Progressive Web App works correctly across every major browser.
Page transitions don't feel like they block on the network
Users perceive apps with responsive, snappy transitions as higher peforming and ensures a great user experience, even on a slow network.
Each page has a URL
Ensure that all pages are deep linkable via URL. They should also be unique for the purpose of shareability on social media.
Avg. (All Categories) 65
Performance 98
Accessibility 73
Best Practices 83
SEO 69
PWA 0
0–49 (Fail) 50–89 (Average) 90–100 (Pass)
URL: https://xkcd.com/
Updated: 3rd March, 2023

0.54 seconds
First Contentful Paint (FCP)
98%
1%
1%

0.25 seconds
First Input Delay (FID)
2%
96%
2%

Simulate loading on mobile
98

Performance

Indicates how well the page is performing and highlights opportunities where performance may be improved for xkcd.com. This includes details about optimizing page load times which can result in a better user experience.

Metrics

First Contentful Paint — 1.3 s
The time taken for the first image or text on the page to be rendered.
Time to Interactive — 1.3 s
The time taken for the page to become fully interactive.
Speed Index — 1.3 s
The time taken for the page contents to be visibly populated.
Total Blocking Time — 0 ms
The total blocking time is the sum of all time periods between First Contentful Paint and Time to Interactive (when task length exceeded 50ms).
Largest Contentful Paint — 2.3 s
The timing of the largest text or image that is painted.
Cumulative Layout Shift — 0.054
Cumulative Layout Shift is the measurement of visible elements collective movement within the viewport.
View Data

Audits

Max Potential First Input Delay — 20 ms
Users could experience a delay when interacting with the page.
First Meaningful Paint — 1.3 s
The time taken for the primary content of the page to be rendered.
Network Requests
Below is a list of network requests that were made during page load.
URL Protocol Start Time (Ms) End Time (Ms) Transfer Size (Bytes) Resource Size (Bytes) Status Code MIME Type Resource Type
http://xkcd.com/
http/1.1
0
19.611999974586
353
0
301
text/plain
https://xkcd.com/
http/1.1
20.007000071928
69.096000050195
3461
7434
200
text/html
Document
https://xkcd.com/s/7d94e0.css
http/1.1
78.044000081718
121.08399998397
1833
3609
200
text/css
Stylesheet
https://xkcd.com/s/0b7742.png
http/1.1
78.394000069238
121.67799996678
11506
11001
200
image/png
Image
https://xkcd.com/s/5bef6b.png
http/1.1
83.971000043675
151.9880000269
19064
18560
200
image/png
Image
https://imgs.xkcd.com/comics/obituary_editor_2x.png
http/1.1
84.22800002154
177.34399996698
138387
137947
200
image/png
Image
https://imgs.xkcd.com/s/a899e84.jpg
http/1.1
84.472000016831
130.78200002201
21920
21489
200
image/jpeg
Image
https://imgs.xkcd.com/s/temperature.png
http/1.1
84.620999987237
135.47800004017
28141
27710
200
image/png
Image
Network Round Trip Times — 0 ms
High Network RTT (Round Trip Times) can have a large impact on performance. Providing servers geographically closer to the user could improve performance.
Server Backend Latencies — 0 ms
High server latencies indicate the server is overloaded or has a poor backend performance.
Tasks
Below is a list of the top-level main thread tasks that executed during page load.
Start Time (Ms) End Time (Ms)
73.27
10.437
125.622
33.874
Diagnostics
Below is a collection of useful page vitals.
View Data
Metrics
Below is a collection of metrics.
View Data
Script Treemap Data
Provide as required, for treemap app.

Other

Eliminate render-blocking resources — Potential savings of 110 ms
Resources, such as JavaScript and style sheets, can block the first paint of the page. Xkcd.com should consider delivering critical JavaScript/style sheets (JS/CSS) inline and deferring all non-critical JS/CSS.
URL Transfer Size (Bytes) Potential Savings (Ms)
https://xkcd.com/s/7d94e0.css
1833
180
Properly size images
Images can slow down the page's load time. Xkcd.com should consider serving more appropriate-sized images.
Defer offscreen images
Time to Interactive can be slowed down by resources on the page. Xkcd.com should consider lazy-loading offscreen and hidden images.
Minify CSS
Cascading Style Sheets (CSS) files can contribute to network payload sizes. Xkcd.com should consider minifying CSS files.
Minify JavaScript
JavaScript (JS) files can contribute to network payload sizes and increase script parse times. Xkcd.com should consider minifying JS files.
Reduce unused CSS
Dead and/or unused rules in Style Sheets (CSS) can contribute to network payload sizes. Xkcd.com should consider removing dead rules from style sheets and deferring the loading of CSS not used for above-the-fold content.
Reduce unused JavaScript
It is advised to remove unused JavaScript in order to reduce bytes consumed by network activity.
Efficiently encode images
Unoptimized images can consume more cellular data than what is necessary.
Enable text compression
Text-based resources should be served with compression, such as gzip, deflate or brotli.
Preconnect to required origins
Resource hints, such as 'preconnect' or 'dns-prefetch', may assist in establishing early connections to important third-party origins.
Initial server response time was short — Root document took 50 ms
It is advised to keep the server response time short for the main document, because all other requests depend on it.
URL Time Spent (Ms)
https://xkcd.com/
50.078
Avoid multiple page redirects — Potential savings of 630 ms
Redirects can cause additional delays before the page can begin loading. Xkcd.com should avoid multiple or unnecessary page redirects.
URL Time Spent (Ms)
http://xkcd.com/
630
https://xkcd.com/
0
Preload key requests
Key requests can be preloaded by using '<link rel=preload>'. Xkcd.com should consider using '<link rel=preload>' to prioritize fetching resources that are currently requested later in page load.
Use video formats for animated content
Large GIFs are inefficient for delivering animated content. It is recommended to use MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF.
Remove duplicate modules in JavaScript bundles
Ensure that no duplicate JavaScript modules from bundles exist to reduce bytes consumed by network activity.
Avoid serving legacy JavaScript to modern browsers
Polyfills and transforms enable legacy browsers to use new JavaScript features. For bundled JavaScript it is recommended to adopt a modern script deployment strategy using module/nomodule feature detection. This will reduce the amount of code shipped to modern browsers.
Preload Largest Contentful Paint image
It is recommended to preload images used by LCP elements, to improve LCP time.
Avoids enormous network payloads — Total size was 219 KiB
Large network payloads can cost users money and are linked to long load times.
URL Transfer Size (Bytes)
https://imgs.xkcd.com/comics/obituary_editor_2x.png
138387
https://imgs.xkcd.com/s/temperature.png
28141
https://imgs.xkcd.com/s/a899e84.jpg
21920
https://xkcd.com/s/5bef6b.png
19064
https://xkcd.com/s/0b7742.png
11506
https://xkcd.com/
3461
https://xkcd.com/s/7d94e0.css
1833
http://xkcd.com/
353
Avoids an excessive DOM size — 117 elements
A large DOM (Document Object Model) will increase memory usage, cause longer system calculations as well as costly layout reflows.
Statistic Element Value
Total DOM Elements
117
Maximum DOM Depth
8
Maximum Child Elements
13
Avoid chaining critical requests — 1 chain found
Below is a list of Critical Request Chains, which shows which resources are loaded with a high priority. Xkcd.com should consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
User Timing marks and measures
Make use of the User Timing API to measure an app's real-world performance during key user experiences.
JavaScript execution time — 0.0 s
JavaScript (JS) execution time can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
URL Total CPU Time (Ms) Script Evaluation (Ms) Script Parse (Ms)
https://xkcd.com/
227.144
15.164
5.848
Minimizes main-thread work — 0.3 s
Main-thread work timing can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
Category Time Spent (Ms)
Style & Layout
125.32
Other
71.144
Rendering
31.212
Script Evaluation
21.672
Parse HTML & CSS
11.728
Script Parsing & Compilation
5.848
All text remains visible during webfont loads
Make use of the font-display CSS feature, which will ensure text is user-visible while webfonts are loading.
Keep request counts low and transfer sizes small — 8 requests • 219 KiB
It is advised to add a budgets.json file in order to set budgets for the quantity and size of page resources.
Resource Type Requests Transfer Size (Bytes)
Total
8
224665
Image
5
219018
Document
1
3461
Stylesheet
1
1833
Other
1
353
Media
0
0
Font
0
0
Script
0
0
Third-party
0
0
Minimize third-party usage
It is advised to either limit, remove or delay the loading of redundant third-party code which may be significantly impacting load performance.
Lazy load third-party resources with facades
Consider replacing third-party embeds with a facade until they are required (use lazy loading).
Largest Contentful Paint element — 1 element found
The element which was identified as the Largest Contentful Paint.
Element
Largest Contentful Paint image was not lazily loaded
Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint.
Avoid large layout shifts — 2 elements found
Below is a list of all DOM elements that contribute to the CLS of the page.
Element CLS Contribution
0.049999426323557
0.0039522813785413
Uses passive listeners to improve scrolling performance
Improve the page's scroll performance by marking touch and wheel event listeners as 'passive'.
Avoids `document.write()`
Avoid or limit the use of external scripts that are dynamically injected via 'document.write()' as users on slow connections will be delayed by tens of seconds.
Avoid long main-thread tasks — 1 long task found
Below is a list of the longest tasks on the main thread, which is useful when identifying the worst input delay contributors.
URL Start Time (Ms) Duration (Ms)
https://xkcd.com/
1152
68
Avoid non-composited animations
It is recommended to avoid non-composited animations which are often janky and increase CLS.
Avoids `unload` event listeners
The 'unload' event does not fire reliably, causing issues with browser optimizations such as the Back-Forward Cache. It is recommended that 'pagehide' or 'visibilitychange' events are used instead.
First Contentful Paint (3G) — 2490 ms
The time taken for the first image or text on the page to be rendered while on a 3G network.

Budgets

Performance budget
It is advised to keep the quantity and size of all network requests under the targets set by the provided performance budget.
Timing budget
It is advised to set a timing budget to monitor the performance of your site.

Other

Serve images in next-gen formats — Potential savings of 146 KiB
Consider JPEG 2000, JPEG XR or WebP image formats which provide better compression than PNG and JPEG.
URL Resource Size (Bytes) Potential Savings (Bytes)
https://imgs.xkcd.com/comics/obituary_editor_2x.png
137947
97441.2
https://imgs.xkcd.com/s/temperature.png
27710
21133.6
https://xkcd.com/s/5bef6b.png
18560
11344.5
https://imgs.xkcd.com/s/a899e84.jpg
21489
10981.75
https://xkcd.com/s/0b7742.png
11001
8681.7

Other

Serve static assets with an efficient cache policy — 1 resource found
Xkcd.com can speed up repeat visits by increasing the cache lifetime, which is essentially how long before a cached copy expires.
URL Cache TTL (Ms) Transfer Size (Bytes)
https://imgs.xkcd.com/comics/obituary_editor_2x.png
300000
138387
Image elements do not have explicit `width` and `height`
Reduce layout shifts and improve CLS by setting explicit width and height properties on image elements.
URL
https://imgs.xkcd.com/comics/obituary_editor_2x.png
Does not have a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of xkcd.com on mobile screens.
73

Accessibility

Indicates how accessible the page is and highlights opportunities where the page can be made more accessible to users of xkcd.com. This includes details about various page attributes that can be optimized.

ARIA

`[aria-*]` attributes match their roles
Avoid mismatching 'aria-*' attributes and their 'role' value, as it invalidates the attribute.
`button`, `link`, and `menuitem` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
`[aria-hidden="true"]` is not present on the document `<body>`
If aria-hidden=true is set on the document body, assistive technologies, like a screen reader will work inconsistently.
`[aria-hidden="true"]` elements do not contain focusable descendents
Interactive elements within an aria-hidden=true element are unavailable to users of assistive technologies, like a screen reader.
ARIA input fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when an input field does not have an accessible name specified.
ARIA `meter` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
ARIA `progressbar` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
`[role]`s have all required `[aria-*]` attributes
Some ARIA roles have required 'aria-*' attributes, which provide essential information about state and functionality.
Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.
Some ARIA parent roles cannot perform their intended functions if specific child roles are not used.
`[role]`s are contained by their required parent element
Some ARIA child roles cannot perform their intended functions if specific parent roles are not used.
`[role]` values are valid
All ARIA roles require valid values to perform their intended functions.
ARIA toggle fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when a toggle field does not have an accessible name specified.
ARIA `tooltip` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
ARIA `treeitem` elements have accessible names
Without accessible names on elements, screen readers will default to announcing a generic name, which means your content will be less accessible to users who rely on screen readers.
`[aria-*]` attributes have valid values
ARIA attributes cannot be interpreted with invalid values when used by screen readers and other assistive technologies.
`[aria-*]` attributes are valid and not misspelled
ARIA attributes cannot be interpreted with invalid names when used by screen readers and other assistive technologies.
ARIA IDs are unique
Ensure all ARIA ID values are unique to prevent elements from being overlooked by assistive technologies, like a screen reader.

Names and labels

Buttons have an accessible name
Buttons become unusable as they are announced simply as "button" when the button does not have an accessible name, when used by screen readers and other assistive technologies.
Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
No form fields have multiple labels
Having multiple labels for form fields can be confusing to assistive technologies, like a screen reader.
`<frame>` or `<iframe>` elements have a title
Screen reader users and other assistive technology users rely on frame titles to describe the contents of frames.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
`<input type="image">` elements have `[alt]` text
Input buttons with alternative text assist screen readers and other assistive technology users to understand its purpose.
Form elements have associated labels
Screen readers and other assistive technologies rely on labels to properly announce form controls.
`<object>` elements have alternate text
It is advised that alt text is used on '<object>' elements in order to provide meaning to screen reader and other assistive technology users, as these technologies are unable to translate non-text content.

Navigation

The page contains a heading, skip link, or landmark region
It is advised to provide ways to bypass repetitive content, allowing users to navigate the page efficiently.
`[id]` attributes on active, focusable elements are unique
Ensure all focusable elements have a unique id value to allow them to be visible to users of assistive technologies, like a screen reader.
Heading elements appear in a sequentially-descending order
Properly order all headers and do not skip heading levels to better the navigation and readability for users of assistive technologies, like a screen reader.
No element has a `[tabindex]` value greater than 0
Although technically valid, a tabindex value greater than 0 often creates frustrating experiences for users who rely on assistive technologies.

Tables and lists

`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.
Screen readers and other assistive technologies may produce poor and inaccurate output when definition lists are not properly marked up.
Definition list items are wrapped in `<dl>` elements
In order for screen readers and other assistive technologies to properly announce definition list items ('<dt>' and '<dd>'), they must be wrapped in parent a '<dl>' element.
Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).
Use proper list structure to aid screen readers and other assistive technologies.
List items (`<li>`) are contained within `<ul>` or `<ol>` parent elements
In order for screen readers to announce list items, ensure that list items ('<li>') are contained within parent '<ul>' or '<ol>' tags.
Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that '<td>' cells using the headers attribute only refer to other cells in the same table, to improve screen reader user experience.
`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that table headers refer to some set of cells, to improve screen reader user experience.

Internationalization and localization

`<html>` element has a valid value for its `[lang]` attribute
Specify a valid BCP 47 language in order to help screen readers and other assistive technologies announce text properly.
`[lang]` attributes have a valid value
Specify a valid BCP 47 language on elements in order to help screen readers and other assistive technologies announce text properly.

Best practices

The document does not use `<meta http-equiv="refresh">`
Pages that refresh automatically cause a poor user experience as focus is directed back to the top of the page unexpectedly.
`[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.
For users with low vision who rely on screen magnification, ensure that zooming is not disabled.

Audio and video

`<video>` elements contain a `<track>` element with `[kind="captions"]`
Xkcd.com may provide assistance to deaf or hearing-impaired users with captions on videos.

Navigation

`[accesskey]` values are not unique
Access keys assist users with focusing on different parts of the page. Each access key should be unique for proper navigation.
Failing Elements

Contrast

Internationalization and localization

`<html>` element does not have a `[lang]` attribute
It is advised to provide a lang attribute so that screen readers and other assistive technologies are guaranteed to announce the page's text correctly. When not provided, the user's default language setting will be used which may cause inaccuracies.
Failing Elements

Names and labels

Links do not have a discernible name
In order to improve the navigation for screen reader and other assistive technology users, use link text that is unique, focusable and discernible.

Manual Checks

The page has a logical tab order
The visual layout should be logical in its tab order and users cannot focus elements that are offscreen.
Interactive controls are keyboard focusable
Ensure that custom interactive controls are keyboard focusable and that a focus indicator is displayed.
Interactive elements indicate their purpose and state
Ensure that interactive elements (such as links and buttons) are distinguishable from non-interactive elements and that they indicate their state.
The user's focus is directed to new content added to the page
When new content (such as a dialogue) is added to the page, the user's focus should be directed to it.
User focus is not accidentally trapped in a region
Avoid focus being accidentally trapped when a user tabs in and out of controls or regions on page.
Custom controls have associated labels
Ensure that custom interactive controls have associated labels, which are provided by aria-label and aria-labelledby attributes.
Custom controls have ARIA roles
Ensure that all custom interactive controls have appropriate ARIA roles.
Visual order on the page follows DOM order
Ensure that the DOM order matches with the page's visual order, in order to improve navigation for screen readers and other assistive technologies.
Offscreen content is hidden from assistive technology
Ensure that offscreen content is hidden through the use of "display:none" styling or the aria-hidden attribute.
HTML5 landmark elements are used to improve navigation
Elements such as <main> and <nav> are recommended as they are used by screen readers and other assistive technologies to improve keyboard navigation.
83

Best Practices

Indicates the recommended, best practices currently in place on the page and highlights the best practices that xkcd.com should incorporate. This includes practices such as protecting pages with HTTPS.

Audits

Avoids requesting the geolocation permission on page load
When requesting a user's location, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.
Avoids requesting the notification permission on page load
When requesting permission to send notifications, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.
Avoids front-end JavaScript libraries with known security vulnerabilities
Ensure that the use of third-party scripts is minimal and that only trusted third-party scripts are used as some may contain known security vulnerabilities which may be exploited by attackers.
Ensure CSP is effective against XSS attacks
Significantly reduce the risk of cross-site scripting attacks (XSS) by ensuring you have a strong Content Security Policy (CSP).
Description Directive Severity
No CSP found in enforcement mode
High

Audits

Allows users to paste into password fields
Ensure that password inputs may be pasted into to aid in the user's ability to use password managers and improve security.
Displays images with correct aspect ratio
Ensure that image display dimensions match their natural aspect ratio.
Fonts with `font-display: optional` are preloaded
It is recommended that optional fonts are preloaded.

Audits

Page has the HTML doctype
Ensure a doctype is specified to prevent the browser from switching to quirks-mode.
Properly defines charset
It is advised to declare a character encoding, optionally via a <meta> tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header.

Audits

Detected JavaScript libraries
Below is a list of all front-end JavaScript libraries that were detected on the page.
Avoids deprecated APIs
Avoid deprecated APIs which will eventually be removed the browser.
No browser errors logged to the console
Below is a list of all errors logged to the console, which indicate unresolved problems on the site.
Page has valid source maps
Consider deploying source maps for added benefits such as the ability to debug while in production.
No issues in the `Issues` panel in Chrome Devtools
There may be unresolved issues logged to Chrome Devtools.

Audits

Does not use HTTPS — 1 insecure request found
Ensure that all pages are protected with HTTPS (including those that do not handle sensitive data) as HTTPS prevents tampering and passive listening on communications between the app and its users. Additionally, HTTPS is a prerequisite for HTTP/2 and many new web platform APIs.
Insecure URL Request Resolution
http://xkcd.com/
Allowed

Audits

Serves images with low resolution
For maximum image clarity, ensure images have natural dimensions and are proportional to the display size and pixel ratio.
URL Displayed size Actual size Expected size
https://imgs.xkcd.com/s/a899e84.jpg
520 x 100
520 x 100
1040 x 200
https://imgs.xkcd.com/s/temperature.png
520 x 100
520 x 100
1040 x 200
https://xkcd.com/s/0b7742.png
185 x 83
185 x 83
370 x 166
69

SEO

Indicates how well the page is optimized for ranking in search engines and highlights Search Engine Optimization (SEO) opportunities for xkcd.com. This includes optimizations such as providing meta data.

Content Best Practices

Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
Links have descriptive text
Make use of descriptive link text to assist search engines in understanding the content.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
Document has a valid `hreflang`
Search engines can be instructed to list specific versions of a page for a given language or region through the use of hreflang links.
Document has a valid `rel=canonical`
Search engines can be suggested which URL should be shown in search results through the use of canonical links.
Document avoids plugins
The content of plugins cannot be indexed by search engines and many devices either restrict or do not support them.

Crawling and Indexing

Page has successful HTTP status code
Avoid pages with unsuccessful HTTP status codes as they may not be indexed by search engines.
Links are crawlable
Ensure that the 'href' attribute of anchor elements links to the appropriate destination. This allows for more pages of the site to be discovered by search engines.
Page isn’t blocked from indexing
Pages that cannot be crawled by search engines cannot be indexed or included in their search results. Ensure that search engines have permission to crawl all pages that should be indexed.
robots.txt is valid
Malformed robots.txt files prevent crawlers from understanding how a site wants to be crawled or indexed, which can be devastating to SEO.

Mobile Friendly

Does not have a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of xkcd.com on mobile screens.
Document doesn't use legible font sizes
Font sizes of 12px or less are too small to most mobile users without user gestures and further action. Aim for more than 60% of page text to use font sizes greater than 12px.
Tap targets are not sized appropriately
Interactive elements (such as buttons and links) should be appropriately spaced, sized and easy enough to select or tap with regard to their surrounding elements.

Content Best Practices

Document does not have a meta description
Meta descriptions may be used by search engines when displaying a link to the page and should concisely summarize the page's content.

Manual Checks

Structured data is valid
Structured data can be validated through the use of the Structured Data Testing Tool and the Structured Data Linter.
0

PWA

Indicates how valid the aspects of a Progressive Web App (PWA) are for the page and highlights opportunities to enable/improve the PWA of xkcd.com. This includes details about web app manifests.

Installable

Web app manifest or service worker do not meet the installability requirements — 1 reason
User engagement may be increased by leveraging the browsers ability to proactively prompt users to add the app to their homescreen.
Failure reason
No manifest was fetched

PWA Optimized

Does not register a service worker that controls page and `start_url`
A service worker is used to provide Progressive Web Apps the use of features such as working offline, the ability for the app to be added to the homescreen as well as push notifications.
Is not configured for a custom splash screen
Themed splash screens ensure a high-quality user experience at launch for app users.
View Data
Does not set a theme color for the address bar.
A theme may be applied to the browser address bar, which ideally can be made to match the site.
View Data
Content is not sized correctly for the viewport
Ensure that the width of the app's content matches the width of the viewport, otherwise the app might not be optimized for mobile screens.
Does not have a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of xkcd.com on mobile screens.
Does not provide a valid `apple-touch-icon`
iOS users of Progressive Web Apps will benefit from an apple touch icon, which can be defined with 'apple-touch-icon', which must point to a non-transparent 192px (or 180px) square PNG.
Manifest doesn't have a maskable icon
Maskable icons are great to ensure that images fill the entire shape when installing the app on a device.

Manual Checks

Site works cross-browser
Ensure that the Progressive Web App works correctly across every major browser.
Page transitions don't feel like they block on the network
Users perceive apps with responsive, snappy transitions as higher peforming and ensures a great user experience, even on a slow network.
Each page has a URL
Ensure that all pages are deep linkable via URL. They should also be unique for the purpose of shareability on social media.
Hosting

Server Location

Server IP Address: 151.101.128.67
Continent: North America
Country: United States
United States Flag
Region:
City:
Longitude: -97.822
Latitude: 37.751
Currencies: USD
USN
USS
Languages: English

Web Hosting Provider

Name IP Address
Fastly, Inc.
Registration

Domain Registrant

Private Registration: Yes
Name: Registration Private
Organization: Domains By Proxy, LLC
Country: US
City: Tempe
State: Arizona
Post Code: 85284
Email:
Phone: +1.4806242599
Note: Registration information is derived from various sources and may be inaccurate.

Domain Registrar

Name IP Address
GoDaddy.com, LLC 23.13.154.6
Security

Visitor Safety

Mature Content: Not Likely
McAfee WebAdvisor Rating: Safe
WOT Rating:
WOT Trustworthiness: 96/100
WOT Child Safety: 88/100
Note: Safety information is not guaranteed.

SSL/TLS Certificate

Issued To: xkcd.com
Issued By: GlobalSign Atlas R3 DV TLS CA 2022 Q3
Valid From: 27th September, 2022
Valid To: 29th October, 2023
Subject: CN = xkcd.com
Hash: 32813cee
Issuer: CN = GlobalSign Atlas R3 DV TLS CA 2022 Q3
O = GlobalSign nv-sa
S = BE
Version: 2
Serial Number: 1636897223680606570294739172849534314
Serial Number (Hex): 013B41439C2A7978E526C013067EC56A
Valid From: 27th September, 2024
Valid To: 29th October, 2024
Signature Algorithm (Short Name): RSA-SHA256
Signature Algorithm (Long Name): sha256WithRSAEncryption
Authority Key Identifier: keyid:FA:91:39:63:9A:FB:AD:10:24:E5:BE:B5:B9:DA:AB:D9:C4:46:69:AB
Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication
CRL Distribution Points:
Full Name:
URI:http://crl.globalsign.com/ca/gsatlasr3dvtlsca2022q3.crl

Certificate Policies: Policy: 2.23.140.1.2.1
Policy: 1.3.6.1.4.1.4146.10.1.3
CPS: https://www.globalsign.com/repository/

Authority Information Access: OCSP - URI:http://ocsp.globalsign.com/ca/gsatlasr3dvtlsca2022q3
CA Issuers - URI:http://secure.globalsign.com/cacert/gsatlasr3dvtlsca2022q3.crt

SCT List: Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : AD:F7:BE:FA:7C:FF:10:C8:8B:9D:3D:9C:1E:3E:18:6A:
B4:67:29:5D:CF:B1:0C:24:CA:85:86:34:EB:DC:82:8A
Timestamp : Sep 27 21:43:21.342 2022 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:44:02:20:65:23:4A:72:CF:34:EC:BF:CA:35:8B:88:
BA:CB:AB:8F:E9:1B:34:40:43:12:E6:73:DD:99:38:1C:
68:6B:E0:91:02:20:0C:0E:04:5B:C6:F7:5A:B3:AF:2C:
C7:23:90:E9:40:B1:72:4D:C4:E2:A0:7D:13:68:86:E1:
0C:FE:CD:12:D5:C7
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : B3:73:77:07:E1:84:50:F8:63:86:D6:05:A9:DC:11:09:
4A:79:2D:B1:67:0C:0B:87:DC:F0:03:0E:79:36:A5:9A
Timestamp : Sep 27 21:43:21.381 2022 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:45:02:20:23:5F:AD:80:DF:BB:9F:3D:2F:F0:79:74:
75:26:B7:D4:D5:FE:BC:84:2D:54:62:32:24:9E:D6:BE:
3C:0D:31:02:02:21:00:CB:37:BE:C2:AC:BE:CA:E8:4C:
F1:F2:09:4C:CE:AC:58:D8:85:E1:0A:6C:24:96:64:4F:
08:56:E5:0E:36:7A:EB
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : 7A:32:8C:54:D8:B7:2D:B6:20:EA:38:E0:52:1E:E9:84:
16:70:32:13:85:4D:3B:D2:2B:C1:3A:57:A3:52:EB:52
Timestamp : Sep 27 21:43:21.430 2022 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:46:02:21:00:BE:74:9B:CE:01:39:7A:75:66:43:DF:
07:B5:6A:C3:67:96:02:B3:0F:36:17:AF:A9:FA:4E:58:
EA:CE:69:D2:FF:02:21:00:B8:0A:75:F5:B4:3E:84:EC:
AF:59:52:78:73:EC:03:FA:EA:79:41:D4:3D:5B:E0:70:
E9:3C:7A:8F:66:C7:19:7E
Key Usage: Digital Signature, Key Encipherment
Basic Constraints: CA:FALSE
Subject Alternative Name: DNS:xkcd.com
Technical

DNS Lookup

HTTP Response Headers

HTTP-Code: HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=UTF-8
Expires: 11th April, 2023
Cache-Control: max-age=300
Date: 11th April, 2023
Connection: keep-alive
Content-Length: 7413
Last-Modified: 11th April, 2023
ETag: "6434ce06-1cf5"
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 173
X-Served-By: cache-dfw-kdfw8210023-DFW, cache-ewr18162-EWR
X-Cache: HIT, HIT
X-Cache-Hits: 1496, 1
X-Timer: S1681213708.535302,VS0,VE1
Vary: Accept-Encoding

Whois Lookup

Created: 25th January, 2003
Changed: 9th January, 2019
Expires: 25th January, 2024
Registrar: GoDaddy.com, LLC
Status: clientTransferProhibited
clientUpdateProhibited
clientRenewProhibited
clientDeleteProhibited
Nameservers: dns1.p03.nsone.net
dns2.p03.nsone.net
dns3.p03.nsone.net
dns4.p03.nsone.net
Owner Name: Registration Private
Owner Organization: Domains By Proxy, LLC
Owner Street: DomainsByProxy.com
2155 E Warner Rd
Owner Post Code: 85284
Owner City: Tempe
Owner State: Arizona
Owner Country: US
Owner Phone: +1.4806242599
Owner Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=XKCD.COM
Admin Name: Registration Private
Admin Organization: Domains By Proxy, LLC
Admin Street: DomainsByProxy.com
2155 E Warner Rd
Admin Post Code: 85284
Admin City: Tempe
Admin State: Arizona
Admin Country: US
Admin Phone: +1.4806242599
Admin Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=XKCD.COM
Tech Name: Registration Private
Tech Organization: Domains By Proxy, LLC
Tech Street: DomainsByProxy.com
2155 E Warner Rd
Tech Post Code: 85284
Tech City: Tempe
Tech State: Arizona
Tech Country: US
Tech Phone: +1.4806242599
Tech Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=XKCD.COM
Full Whois: Domain Name: XKCD.COM
Registry Domain ID: 94386149_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.godaddy.com
Registrar URL: https://www.godaddy.com
Updated Date: 2019-01-09T12:34:44Z
Creation Date: 2003-01-25T21:25:10Z
Registrar Registration Expiration Date: 2024-01-25T21:25:10Z
Registrar: GoDaddy.com, LLC
Registrar IANA ID: 146
Registrar Abuse Contact Email: abuse@godaddy.com
Registrar Abuse Contact Phone: +1.4806242505
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Registry Registrant ID: Not Available From Registry
Registrant Name: Registration Private
Registrant Organization: Domains By Proxy, LLC
Registrant Street: DomainsByProxy.com
Registrant Street: 2155 E Warner Rd
Registrant City: Tempe
Registrant State/Province: Arizona
Registrant Postal Code: 85284
Registrant Country: US
Registrant Phone: +1.4806242599
Registrant Phone Ext:
Registrant Fax: +1.4806242598
Registrant Fax Ext:
Registrant Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=XKCD.COM
Registry Admin ID: Not Available From Registry
Admin Name: Registration Private
Admin Organization: Domains By Proxy, LLC
Admin Street: DomainsByProxy.com
Admin Street: 2155 E Warner Rd
Admin City: Tempe
Admin State/Province: Arizona
Admin Postal Code: 85284
Admin Country: US
Admin Phone: +1.4806242599
Admin Phone Ext:
Admin Fax: +1.4806242598
Admin Fax Ext:
Admin Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=XKCD.COM
Registry Tech ID: Not Available From Registry
Tech Name: Registration Private
Tech Organization: Domains By Proxy, LLC
Tech Street: DomainsByProxy.com
Tech Street: 2155 E Warner Rd
Tech City: Tempe
Tech State/Province: Arizona
Tech Postal Code: 85284
Tech Country: US
Tech Phone: +1.4806242599
Tech Phone Ext:
Tech Fax: +1.4806242598
Tech Fax Ext:
Tech Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=XKCD.COM
Name Server: DNS1.P03.NSONE.NET
Name Server: DNS2.P03.NSONE.NET
Name Server: DNS3.P03.NSONE.NET
Name Server: DNS4.P03.NSONE.NET
DNSSEC: unsigned
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2023-04-11T11:48:27Z <<<
For more information on Whois status codes, please visit https://icann.org/epp

TERMS OF USE: The data contained in this registrar's Whois database, while believed by the
registrar to be reliable, is provided "as is" with no guarantee or warranties regarding its
accuracy. This information is provided for the sole purpose of assisting you in obtaining
information about domain name registration records. Any use of this data for any other purpose
is expressly forbidden without the prior written permission of this registrar. By submitting
an inquiry, you agree to these terms and limitations of warranty. In particular, you agree not
to use this data to allow, enable, or otherwise support the dissemination or collection of this
data, in part or in its entirety, for any purpose, such as transmission by e-mail, telephone,
postal mail, facsimile or other means of mass unsolicited, commercial advertising or solicitations
of any kind, including spam. You further agree not to use this data to enable high volume, automated
or robotic electronic processes designed to collect or compile this data for any purpose, including
mining this data for your own personal or commercial purposes. Failure to comply with these terms
may result in termination of access to the Whois database. These terms may be subject to modification
at any time without notice.

Nameservers

Name IP Address
dns1.p03.nsone.net 198.51.44.3
dns2.p03.nsone.net 198.51.45.3
dns3.p03.nsone.net 198.51.44.67
dns4.p03.nsone.net 198.51.45.67
Related

Subdomains

Domain Subdomain
blog
ipv6

Similar Sites

Domain Valuation Snoop Score
0/5
$1,597,793 USD 4/5
$3,061,184,553 USD 5/5
$13,780 USD 3/5
0/5

Organic Search (US) Competitors

Backlink Competitors

Sites with the same domain name

Domain Valuation Snoop Score
0/5
0/5
0/5
$2,418 USD 2/5

Sites hosted on the same IP address