Launch checklist
Every check, as a list to work through
The 78 things we look at, in one list you can print and tick off. Every line links to what it means and how to fix it.
10 of them need a person: nothing can tell from the HTML whether Search Console is set up or whether the site can be used with a keyboard. The rest we check for you, every scan. Monitor a whole site and this list ticks itself.
SEO
Whether search engines can index the page, and what they will show for it.
Indexing
- The page doesn't answer 200 OK
indexing.status - Too many redirects before the page
indexing.redirect-chain - The page tells search engines not to index it
indexing.noindex - robots.txt stops search engines reading the page
indexing.robots-blocked - No canonical link
indexing.canonical-missing - The canonical link can't be trusted
indexing.canonical-invalid - A canonical link points at a page that can't be indexed
indexing.canonical-target - The site has no sitemap
indexing.sitemap-missing - The sitemap lists pages that can't be indexed
indexing.sitemap-errors - Language versions that don't link back to each other
indexing.hreflang-pairs - Search Console is set up for this siteBy hand
manual.search-console - Bing Webmaster Tools is set upBy hand
manual.bing-webmaster - Staging is hidden and production is notBy hand
manual.staging-blocked
Meta tags
- The page has no title
meta.title-missing - The title is too long or too short
meta.title-length - The page has no meta description
meta.description-missing - The meta description is too long or too short
meta.description-length - The page does not say what language it is in
meta.lang - No viewport tag: phones show the desktop layout
meta.viewport - The character encoding is not declared
meta.charset - The site has no favicon
meta.favicon - Pages share the same title
meta.title-duplicate - Pages share the same meta description
meta.description-duplicate
Content
- The page has no main heading
content.h1 - The title and the heading are about different things
content.title-h1 - The page has very little text
content.thin - Something is measuring visitsBy hand
manual.analytics-installed - Your own visits are left out of the numbersBy hand
manual.analytics-excludes-team - The Google Business Profile is claimed and rightBy hand
manual.business-profile
Links
- The secure page loads insecure files
links.mixed-content - Links on the site lead to missing pages
links.broken-internal - Links on the site point at addresses that redirect
links.internal-redirect - Pages in the sitemap that nothing links to
links.orphan - The "page not found" page helpsBy hand
manual.404-page-helpful
Structured data
- Structured data that search engines cannot read
structured.json-ld-parse - Structured data is missing something it needs
structured.required - The site and its social accounts point at each otherBy hand
manual.social-profiles-linked
Security
- The page is not served securely
security.https - No HSTS header
security.hsts
Performance
- The HTML is sent uncompressed
performance.compression - The HTML is heavy
performance.html-weight
Social sharing
How the page looks when its link is shared in a feed or a chat.
Social sharing
- No og:title for link previews
social.og-title - No og:description for link previews
social.og-description - og:url is missing or disagrees with the canonical
social.og-url - No og:type
social.og-type - No og:site_name
social.og-site-name - No share image
social.og-image-missing - The share image can't be loaded
social.og-image-url - The share image is too small, or the wrong shape
social.og-image-size - The share image is too heavy
social.og-image-weight - The share image's format isn't supported everywhere
social.og-image-type - The share image has no alt text
social.og-image-alt - No twitter:card, or one the image is too small for
social.twitter-card - Sharing tags are outside <head>
social.tags-in-body - The head is too big for WhatsApp to read
social.head-within-300kb - Sharing tags are too far down the page for Facebook
social.tags-within-1mb
Accessibility
What a screen reader, a keyboard and a pinch of the fingers make of the page, as far as its HTML can say.
Automated checks find roughly a third of accessibility problems. Passing them is not WCAG conformance; a person with a keyboard and a screen reader finds the rest.
Accessibility
- The page has no title to announce
a11y.page-title - Screen readers can't tell what language the page is in
a11y.lang - Pinch-zoom is switched off
a11y.viewport-zoom - No main landmark
a11y.landmark-main - Headings skip a level
a11y.heading-order - Images have no alt text
a11y.image-alt - Alt text that doesn't describe the image
a11y.image-alt-quality - Links with no text
a11y.link-name - Buttons with no name
a11y.button-name - Form fields without a label
a11y.form-label - Frames without a title
a11y.iframe-title - Data tables without header cells
a11y.table-headers - Sound may play on its own
a11y.autoplay - The tab order has been rearranged
a11y.tabindex - The same id is used more than once
a11y.duplicate-id - ARIA roles that don't exist or are incomplete
a11y.aria-valid - Someone has been through the site with a keyboardBy hand
a11y.keyboard-walkthrough - Someone has listened to the siteBy hand
a11y.screen-reader-pass
AI review
What a model makes of the words on the page: the judgements a checker cannot make.
These are a model's opinions, not rules. They are never counted as errors, they are capped by your plan, and a page is only reviewed again when its words change.
Meta tags
- The title doesn't say what the page is about
ai.title-intent - The meta description isn't a reason to click
ai.description-pitch
Accessibility
- Alt text that doesn't describe its image
ai.alt-quality
Content
- The page is harder to read than it needs to be
ai.readability