Rulebook

How the score works

Five pillars, 100 points between them. Content a crawler can’t see costs the most, and blocking training crawlers costs nothing at all. Each pillar below is a formula you can recompute by hand, next to the evidence it rests on.

Crawl access

15 pts

Whether your robots.txt and page directives let AI crawlers fetch, index, and quote the page.

Block the bots that answer questions, or tag the page noindex, and nothing else you do matters. Most sites clear this, so it works as a gate rather than a place to earn points.

scoring — Full marks: every answer-engine and agent crawler allowed, no noindex or nosnippet in robots.txt, the robots meta tag, or the X-Robots-Tag header, on a clean single-hop HTTPS fetch. Blocking a citation crawler or a noindex caps the whole report at 40.

evidence Opting out of OAI-SearchBot removes you from ChatGPT search results (OpenAI docs).

Content delivery

30 pts

How much of the real content sits in the raw HTML, before any JavaScript runs.

AI crawlers read the HTML and stop; they don't run JavaScript. Anything injected after load is invisible to them. It's also the hardest pillar to fake, because the only way to pass is to actually server-render.

scoring — Scores the text-to-markup yield and how early the content appears, paired against script weight so an empty shell cannot fake it. A JS-injected mount point caps this near zero; a heavy bundle is fine as long as the text is really in the HTML.

evidence ~69% of AI-crawler requests execute no JavaScript (Vercel, 2024–26).

Structural legibility

25 pts

Whether the content is structured so a parser can cleanly segment and quote it.

Answer engines strip nav and footer, chunk on heading boundaries, and lift tables almost verbatim. Div-soup with no heading tree flattens into unusable text even when every word is present.

scoring — Graded on heading hierarchy, semantic landmarks, real tables and lists, descriptive link text, and image alt coverage. Presence earns a floor; a clean, chunkable structure earns the rest.

evidence 44% of ChatGPT citations come from the first 30% of a page, and ~85% of page content is never used (Zyppy, ~1.2M answers).

Semantic clarity

18 pts

Whether structured data and metadata state who you are and agree with the visible content.

Engines read JSON-LD facts before prose and use them for the brand and dates shown with a citation. It only helps when it's specific and matches the page. Contradictions cost points.

scoring — Rewards specific, field-complete JSON-LD, a right-sized title and description, OpenGraph, and a self-referential canonical. Generic or thin schema earns little; schema that contradicts the visible content is docked.

evidence Valid structured data makes a page 2.3× likelier to appear in AI Overviews (Semrush, 2025).

Navigability

12 pts

Whether an agent can move past this page to discover the rest of your site.

Reading one page isn't using a site. Agents follow the sitemap and internal links to finish a task. This pillar carries the least weight because most of it is cheap to add, and the much-hyped llms.txt is still ignored by answer engines.

scoring — Rewards a real sitemap.xml, a dense graph of unique internal links, breadcrumbs, and a genuinely curated llms.txt. Declared files are capped so they cannot buy the score.

evidence 97% of llms.txt files received zero AI requests in 2026 (Ahrefs).

Two things cap a report at 40 no matter what else it earns: blocking a crawler that answers questions, and content that only exists once JavaScript runs. Both mean an agent comes away with nothing, so the rest of the score stops mattering.