Docs
What it checks
The full catalogue of crawlie's 57 technical-SEO, accessibility and GEO rules — broken links, metadata, canonicals, structured-data validation, WCAG accessibility checks, JavaScript-rendering checks, AI-search readiness, and more.
crawlie runs 57 rules and counting. Every finding links to plain-English guidance —
why it matters, how to fix it, and what happens if you ignore it. Get that for any rule
with crawlie explain <rule-id> (or the explain_issue MCP tool).
Technical SEO
Broken links · 4xx / 5xx · redirects & chains · titles & meta descriptions (missing / duplicate / length) · H1s · canonicals · noindex / nofollow / X-Robots-Tag · robots.txt blocking · images missing alt · thin & duplicate content · orphan & deep pages.
Representative rule ids: broken-link, client-error, server-error,
redirect-chain, title-missing, title-too-long, title-duplicate,
description-missing, description-duplicate, h1-missing, h1-multiple,
canonical-missing, image-missing-alt, blocked-by-robots, thin-content,
duplicate-content, low-text-ratio, content-requires-js, deep-page.
Performance & security
Slow responses · large pages · missing compression · HTTPS · mixed content · HSTS.
Rule ids: slow-response, large-page, no-compression, not-secure,
mixed-content, no-hsts.
Accessibility (WCAG)
Static, false-positive-resistant accessibility checks — decided from the markup alone, no
rendering or contrast analysis required. crawlie flags links and buttons with no accessible
name (icon-only controls, empty aria-labels), form fields with no associated label
(a placeholder isn’t a label), iframes missing a title, viewports that block pinch-zoom
(user-scalable=no / low maximum-scale), positive tabindex values that hijack focus
order, and headings that skip a level. These run on every HTML page, indexable or not.
Rule ids: a11y-link-no-text, a11y-button-no-text, a11y-input-no-label,
a11y-zoom-disabled, a11y-iframe-no-title, a11y-positive-tabindex,
a11y-skipped-heading.
Mobile, international & social
Viewport · lang · hreflang · Open Graph · Twitter cards · structured data.
Rule ids: viewport-missing, lang-missing, hreflang-incomplete, og-missing,
twitter-missing, structured-data-missing.
Structured-data validation
Beyond detecting JSON-LD, crawlie parses it and validates each item against Google’s
rich-result requirements — flagging markup that won’t earn a rich result. It catches
JSON-LD that doesn’t parse at all, required properties that are missing (e.g. price on
an Offer, image on a Product), and recommended properties worth adding — across
Article, Product, Recipe, Event, FAQ, Breadcrumb, JobPosting, LocalBusiness, and more.
Rule ids: structured-data-invalid, schema-missing-required,
schema-missing-recommended.
JavaScript rendering
Run a crawl with --render (CLI) or render: true (MCP) and crawlie audits each
page from its post-JavaScript DOM via headless Chrome — so content, links and
meta tags injected by React, Next.js, Vue and other client-rendered frameworks are
seen, not missed. crawlie compares the raw server HTML with the rendered DOM and
flags pages whose content only exists after JavaScript runs — a real risk, since
Google renders JS on a delayed second pass and most AI answer engines don’t run it
at all.
Rule id: content-requires-js.
GEO — Generative Engine Optimization
How citable your pages are by AI search like ChatGPT, Perplexity, and Google AI Overviews: structured data, semantic HTML, answer-readiness, authorship / E-E-A-T, dated content, question-style headings, and extractable blocks — rolled into a per-page GEO score.
Rule ids: geo-not-answerable, geo-no-structured-data, geo-no-semantic-html,
geo-no-llms-txt, geo-no-author, geo-thin-for-ai, geo-ready.
Want the live, authoritative list? Run
crawlie explainwith no rule to print the full catalogue (CLI), or call thelist_rulesMCP tool — it reflects exactly what your installed version checks.