Audit rules
Every check, and what it cannot tell you
44 rules: 31 on every page, 13 across a site crawl, plus live fetches as 17 AI crawlers. We publish fewer rules than some tools on purpose: each one records the value it read, and a test that returned nothing is marked not measured instead of counted.
Run all of them on your page:
SEO 20
Whether search engines can discover, crawl, and understand this page.
- HTTPS connection
Whether the URL that answered is served over HTTPS, after following redirects.
https · scored
- Page title
Whether the head contains a title element and how long it is.
title · scored
- Meta description
Whether a meta description is present and its length.
description · scored
- Indexing directives
The robots meta tag and X-Robots-Tag as sent, read as data rather than as prose.
index · scored
- Canonical URL
Whether the page declares a canonical and what it points at.
canonical · scored
- Main heading
Whether the source HTML contains exactly one h1 and its text.
h1 · scored
- Mobile viewport
Whether a viewport meta tag is present.
viewport · scored
- Image alternative text
How many images in the source HTML carry an alt attribute, including empty ones.
alt · scored
- Descriptive link labels
The anchor text of internal links, looking for generic labels like "click here" or "read more".
link-text · scored
- Structured data formats
Which structured data formats appear: JSON-LD, microdata, RDFa, and their @type values.
schema-presence · scored
- JSON-LD syntax
Whether each JSON-LD block parses as JSON.
schema-json · scored
- JSON-LD context
Whether each JSON-LD block declares an @context of schema.org.
schema-context · scored
- Common schema properties
Which commonly expected properties are present on each entity type.
schema-fields · scored
- robots.txt discovery
Whether /robots.txt answers and whether its content parses as a robots file.
robots · scored
- Sitemap discovery
Whether /sitemap.xml answers and how many URLs it contains.
sitemap · scored
- Reserved image dimensions
How many images in the source declare width and height attributes.
image-size · scored
- HTML response weight
The byte size of the HTML response as received, compressed or not as sent.
html-size · scored
- Server response time
Time to first byte for the audited request, from our machine.
response-time · scored
- Synchronous head scripts
Script tags in the head with neither async nor defer.
blocking-scripts · scored
- Image loading strategy
Which images declare loading="lazy" and which declare fetchpriority.
image-loading · scored
Answer clarity 4
Whether the page answers the question a reader arrived with, and whether that answer is reachable.
- Text available in source
How much readable text is present in the HTML the server returns.
geo-readable · reported, never scored
- Content structure
The heading outline of the document as sent.
geo-outline · reported, never scored
- Snippet controls
Whether directives limit how much of the page a search engine may show.
aeo-snippet-controls · reported, never scored
- Opening answer passage
Whether the page opens with a self-contained passage that answers the obvious question.
aeo-answer-lead · reported, never scored
AI search 5
The evidence a generative answer could draw on, plus any visibility that has actually been measured.
- Author or contributor signal
Whether the page declares an author, by name, by link, or in structured data.
geo-author · reported, never scored
- Published or updated date
Whether the page declares a published or modified date a machine can read.
geo-date · reported, never scored
- Links to supporting sources
Outbound links, and whether any point at primary or reference sources.
geo-sources · reported, never scored
- About or contact discovery
Whether the page or its navigation links to an about or contact page.
geo-identity · reported, never scored
- Generative search eligibility needs review
Whether anything we recorded blocks or discourages a generative search engine from using this page.
geo-eligibility · reported, never scored
Additional improvements 2
Worth doing for readers and assistive technology. Not search ranking signals, and never scored as such.
- Heading structure
Whether heading levels are sequential and no level is skipped.
a11y-heading-structure · reported, never scored
- Document language
Whether the html element declares a language and whether it is a valid language tag.
a11y-document-language · reported, never scored
Site crawl 13
Checks that need more than one page. They run on a site crawl, on paid plans.
Two or more pages share the same title.
duplicate-title
Two or more pages share the same meta description.
duplicate-meta-description
Pages whose main text is identical.
duplicate-content
Pages whose text is almost the same (similarity hash).
near-duplicate
An internal link that takes more than one redirect to land.
redirect-chain
Redirects that never reach a page.
redirect-loop
An internal link to a page that answers with an error.
broken-internal-link
A page in the sitemap that no crawled page links to. Not measured when the crawl hit its cap.
orphan-page
A page more clicks from the home page than a reader would go.
deep-page
A page that links nowhere else on the site.
no-outgoing-links
A page with so many links that each one carries little weight.
over-linking
Name, address and phone that disagree between pages.
local-business-contact
Pages that mention a topic another page covers, without linking to it. Suggestions, never defects.
internal-link-suggestions
AI crawlers we fetch as 17
Not a robots.txt reading: we request the page as each crawler and report whether it got through, so a CDN or firewall block shows up too.
Machine-readable: methodology and every definition as JSON · what we do not measure