The rule book
Every check we make, and why
78 rules so far. Each has a page saying what it looks for, what it costs you, how to fix it, and where the numbers come from. No black box: if we flag something, you can read exactly why.
SEO
41 rulesWhether search engines can index the page, and what they will show for it.
Indexing
Error The page doesn't answer 200 OKindexing.statusError Too many redirects before the pageindexing.redirect-chainError The page tells search engines not to index itindexing.noindexError robots.txt stops search engines reading the pageindexing.robots-blockedWarning No canonical linkindexing.canonical-missingError The canonical link can't be trustedindexing.canonical-invalidError A canonical link points at a page that can't be indexedindexing.canonical-targetWarning The site has no sitemapindexing.sitemap-missingWarning The sitemap lists pages that can't be indexedindexing.sitemap-errorsWarning Language versions that don't link back to each otherindexing.hreflang-pairsWarning Search Console is set up for this sitemanual.search-consoleNotice Bing Webmaster Tools is set upmanual.bing-webmasterError Staging is hidden and production is notmanual.staging-blocked
Meta tags
Error The page has no titlemeta.title-missingWarning The title is too long or too shortmeta.title-lengthWarning The page has no meta descriptionmeta.description-missingNotice The meta description is too long or too shortmeta.description-lengthWarning The page does not say what language it is inmeta.langWarning No viewport tag: phones show the desktop layoutmeta.viewportNotice The character encoding is not declaredmeta.charsetNotice The site has no faviconmeta.faviconWarning Pages share the same titlemeta.title-duplicateNotice Pages share the same meta descriptionmeta.description-duplicate
Content
Warning The page has no main headingcontent.h1Notice The title and the heading are about different thingscontent.title-h1Notice The page has very little textcontent.thinWarning Something is measuring visitsmanual.analytics-installedNotice Your own visits are left out of the numbersmanual.analytics-excludes-teamWarning The Google Business Profile is claimed and rightmanual.business-profile
Links
Warning The secure page loads insecure fileslinks.mixed-contentError Links on the site lead to missing pageslinks.broken-internalNotice Links on the site point at addresses that redirectlinks.internal-redirectWarning Pages in the sitemap that nothing links tolinks.orphanNotice The "page not found" page helpsmanual.404-page-helpful
Structured data
Security
Performance
Social sharing
15 rulesHow the page looks when its link is shared in a feed or a chat.
Social sharing
Warning No og:title for link previewssocial.og-titleWarning No og:description for link previewssocial.og-descriptionNotice og:url is missing or disagrees with the canonicalsocial.og-urlNotice No og:typesocial.og-typeNotice No og:site_namesocial.og-site-nameError No share imagesocial.og-image-missingError The share image can't be loadedsocial.og-image-urlError The share image is too small, or the wrong shapesocial.og-image-sizeWarning The share image is too heavysocial.og-image-weightWarning The share image's format isn't supported everywheresocial.og-image-typeNotice The share image has no alt textsocial.og-image-altWarning No twitter:card, or one the image is too small forsocial.twitter-cardWarning Sharing tags are outside <head>social.tags-in-bodyWarning The head is too big for WhatsApp to readsocial.head-within-300kbWarning Sharing tags are too far down the page for Facebooksocial.tags-within-1mb
Accessibility
18 rulesWhat 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
Error The page has no title to announcea11y.page-titleWarning Screen readers can't tell what language the page is ina11y.langWarning Pinch-zoom is switched offa11y.viewport-zoomNotice No main landmarka11y.landmark-mainNotice Headings skip a levela11y.heading-orderWarning Images have no alt texta11y.image-altNotice Alt text that doesn't describe the imagea11y.image-alt-qualityWarning Links with no texta11y.link-nameWarning Buttons with no namea11y.button-nameWarning Form fields without a labela11y.form-labelWarning Frames without a titlea11y.iframe-titleNotice Data tables without header cellsa11y.table-headersWarning Sound may play on its owna11y.autoplayNotice The tab order has been rearrangeda11y.tabindexWarning The same id is used more than oncea11y.duplicate-idWarning ARIA roles that don't exist or are incompletea11y.aria-validWarning Someone has been through the site with a keyboarda11y.keyboard-walkthroughNotice Someone has listened to the sitea11y.screen-reader-pass
AI review
4 rulesWhat 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.