Reference

What we check

Every signal the scanner looks at, what it means, and what to do when it fails. Nine carry score weight; two are informational.

CheckWhat it answersWeight
llms.txtA markdown file at /llms.18
robots.txt AI botsThe rules in /robots.18
Schema.org JSON-LDStructured data embedded in the page as JSON-LD, describing what the page and the organisation behind it actually are.14
SitemapA valid, reachable sitemap.12
Title & meta descriptionThe document title and meta description of the page being scanned.10
llms-full.txtAn optional companion to llms.8
Canonical URLA link rel="canonical" declaring the authoritative URL for the page.8
Open Graphog.6
Indexable pageWhether the page carries a noindex directive in its robots meta tag.6
ai.txtA proposed convention at /ai.
Content-SignalAn emerging robots.

Weights sum to 100. A partial result earns half the weight.

Scored checks

llms.txt · weight 18/100

What it is. A markdown file at /llms.txt that gives AI systems a curated map of your site: what you are, and which pages matter.

Why it matters. It is the emerging convention AI crawlers and agents look for when they want an overview rather than a scrape. Without it, engines assemble their understanding of you from whatever HTML they happen to parse — and you lose control of the narrative.

How to fix it. Publish /llms.txt as real markdown: an H1 with your name, a one-line summary in a blockquote, then grouped links with short descriptions. Serve it as text/markdown or text/plain, and make sure a missing file returns a real 404 rather than your app shell.

Reference: llmstxt.org/

robots.txt AI bots · weight 18/100

What it is. The rules in /robots.txt that apply to AI crawlers — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others.

Why it matters. Assistants that respect robots.txt decide from this file whether your content can appear in their answers at all. A blanket disallow, or rules written years ago for search engines, can silently remove you from AI search entirely.

How to fix it. Add explicit allow rules for the AI agents you want citing you. Being silent is not neutral — it leaves each crawler to apply its own default.

Reference: www.robotstxt.org/

Schema.org JSON-LD · weight 14/100

What it is. Structured data embedded in the page as JSON-LD, describing what the page and the organisation behind it actually are.

Why it matters. It is the strongest machine-readable statement of identity you can make. Generative engines lean on it to tell your brand apart from similarly named products — which matters more the more generic your name is.

How to fix it. Add JSON-LD with Organization and WebSite at minimum. Add Product, Article or FAQPage where they genuinely apply.

Reference: schema.org/

Sitemap · weight 12/100

What it is. A valid, reachable sitemap.xml — either at the root or declared in robots.txt.

Why it matters. It is how crawlers, classic and AI alike, find pages beyond whatever is linked from your homepage. A missing or broken sitemap means partial coverage of your content, and partial coverage means partial answers.

How to fix it. Serve a valid /sitemap.xml and declare it in robots.txt. We follow the declared URL, so a sitemap index living elsewhere still counts.

Title & meta description · weight 10/100

What it is. The document title and meta description of the page being scanned.

Why it matters. Still the primary snippet source for classic results and a common source for AI citations. Thin or missing descriptions produce vague citations that earn fewer clicks.

How to fix it. Write a descriptive title and a meta description of roughly 50–160 characters that says what the page is, not what the company aspires to be.

llms-full.txt · weight 8/100

What it is. An optional companion to llms.txt carrying extended context — deeper product facts, documentation, positioning.

Why it matters. Where llms.txt is the map, llms-full.txt is the territory. Agents that want detail before answering a question about you have somewhere to find it.

How to fix it. Add /llms-full.txt with the fuller version of your story. Optional, but cheap insurance against an engine guessing.

Reference: llmstxt.org/

Canonical URL · weight 8/100

What it is. A link rel="canonical" declaring the authoritative URL for the page.

Why it matters. Without it, duplicate and parameterised URLs compete with one another and split whatever authority the page earns — in AI indexes as much as classic ones.

How to fix it. Add a canonical link to every significant page, pointing at the URL you want cited.

Open Graph · weight 6/100

What it is. og:title, og:url and og:image metadata.

Why it matters. Open Graph controls how your pages appear when shared, and several AI crawlers read it as supplementary metadata. Missing OG data weakens both.

How to fix it. Add og:title, og:url and og:image. Keep them consistent with the page title and canonical URL.

Indexable page · weight 6/100

What it is. Whether the page carries a noindex directive in its robots meta tag.

Why it matters. A noindex removes the page from search and most AI retrieval pipelines. When it is unintentional — a staging rule that shipped to production — it is the single most damaging finding on this list.

How to fix it. Remove noindex from any page that should be discoverable. If you find one here you did not expect, check what else your last deploy carried over from staging.

Informational checks

These track emerging conventions. We report them because they cost nothing to adopt and the standards are still forming — but they do not move your score, so an early-stage convention can never make your site look broken.

ai.txt · informational, unscored

What it is. A proposed convention at /ai.txt or /.well-known/ai.txt for declaring how your content may be used by AI systems.

Why it matters. Not yet widely consumed, so it does not affect your score. We report it because early, explicit signals cost nothing and the conventions are still settling.

How to fix it. Optional today. Worth adding if you want an unambiguous public statement of AI usage policy.

Content-Signal · informational, unscored

What it is. An emerging robots.txt directive expressing per-purpose permissions — search, AI input, AI training — separately rather than as one all-or-nothing rule.

Why it matters. Informational for now, so it does not move your score. It lets you say 'yes to being cited, no to being trained on', which is the distinction most publishers actually want.

How to fix it. Optional. Add a Content-Signal line to robots.txt if you want to state purposes explicitly to compliant crawlers.

See which of these you have

One domain, ten seconds, no signup.