Discoverability Checks
D1 robots.txt, D2 XML sitemap, D3 Link header — what each means and how to fix it.
Discoverability answers a simple question: can an agent actually find your pages? If the agent is blocked at the front door or has to guess at your URL structure, nothing else matters.
D1 — robots.txt present & sane (weight 6)
AIScan fetches /robots.txt and checks three things: it returns 200, it doesn't catch-all blockUser-agent: * with Disallow: /, and it advertises your Sitemap: URL.
How to fix
Serve a non-blocking robots file that references your sitemap. Minimum viable:
User-agent: *
Allow: /
Sitemap: https://yourdomain.com/sitemap.xmlD2 — XML sitemap (weight 4)
AIScan looks at /sitemap.xml and /sitemap_index.xml. A valid sitemap lets agents discover every URL without crawling the entire site graph.
How to fix
- WordPress — Yoast SEO, Rank Math, or core 5.5+ auto-generate one.
- Shopify — generated automatically at
/sitemap.xml. - Next.js / TanStack / SPA — generate one at build or via a server route.
Reference it from robots.txt so a single Sitemap: line covers discovery.
D3 — Link header for discovery (weight 3)
AIScan inspects the HTTP Link response header on your homepage. A rel=api-catalog or rel=describedby entry points agents at a machine-readable description of what your site exposes — without them having to guess.
How to fix
Add a header at your CDN or framework level:
Link: </.well-known/api-catalog>; rel="api-catalog"If you don't have an API catalog yet, this check is informational on content sites — start with P1 API Catalog first.
E1 — Correct 404 handling (weight 4, essential)
AIScan requests a random path that cannot exist and reads the status line. A missing page must answer 404 (or 410). A soft 404 — HTTP 200 for a page that isn't there — teaches agents that every URL on your domain is valid, so they index error pages as content.
We also measure the body: an empty or near-empty 404 is a dead end. Full credit needs a body that names the site and links back to somewhere useful.
How to fix
- Return a real
404status from your framework's not-found handler. - Render recovery links: homepage, sitemap, docs, search.
- Verify with
curl -sI https://yoursite.com/nope-123 | head -n 1.
E4 — HTTPS & canonical host (weight 4, essential)
Agents resolve bare hostnames. AIScan probes the http:// variant and the opposite www/apex host, then reports the final origin, whether plain HTTP upgrades, whether the alternate host redirects to the canonical one, and whether Strict-Transport-Security is set.
Two live origins means every URL exists twice — duplicated crawl budget and ambiguous citations.
How to fix
# 301 http -> https, and www -> apex (or the reverse; pick one)
Strict-Transport-Security: max-age=31536000; includeSubDomainsAn unreachable alternate host is fine — we only penalise a second host that serves its own copy.
Further reading
- Docs Sites and AI Agents: Four Markdown Routes, 52 Sites Tested
Ask an AI assistant how to configure a webhook, add a database index, or set a cache header, and it does not go looking for a blog post. It goes to the vendor's documentation. Docs are the…
- Gate AI readiness in CI so a regression fails the build
A green pipeline is supposed to mean the site is fine. On an AI readiness check it often means something narrower: that the gate could not tell a file from a phantom. This step, which appears in a…
- Stealth Crawling vs User-Driven Fetching in 2026: What 75 Sites Actually Do
On 4 August 2025 Cloudflare removed Perplexity from its verified bot list and published the evidence. Perplexity's answer was that fetching a page because a person asked for it is not the same act as…
- The complete AI readiness setup for Wix in 2026
Every other platform in this series asks you to create something. Wix has already created it. Before you open a single panel, a Wix site is serving a robots.txt, a sitemap index, serverrendered HTML…
- The Agentic Commerce Stack in 2026: UCP, ACP, AP2 and x402, Measured on 30 Storefronts
Five protocol names now compete for the same sentence in every agentic commerce explainer: UCP, ACP, AP2, x402 and MPP. Almost every explainer treats them as rivals. They are not. Four of the five…
- How to declare allow/deny rules for named AI crawlers in robots.txt on Wix
Wix writes your robots.txt for you. Fetched on 7 September 2026, the file at www.wix.com/robots.txt ran to 90 nonempty lines: one Useragent: group, 87 Disallow rules, and a single Sitemap: line at…
- The complete AI readiness setup for Docusaurus in 2026
Docusaurus is the framework most likely to be sitting between an AI agent and the answer it is looking for. It runs a very large share of the developer documentation on the web, and developer…
- Google AI Overviews in 2026: What You Can Actually Control, Measured on 110 Publishers
Search Console will tell you that AI Overviews sent you traffic. It will not tell you how to turn them off, because there is no setting to turn off. Google publishes exactly four controls that reach…