Author the llms.txt, don't dump a sitemap
What the scan checks: the full authoring rule set, each violation reported separately. Structure: exactly one H1 and a blockquote pitch (missing or doubled H1 fails). Curation: 20 to 60 links (more than 60 fails as a sitemap dump; fewer than 20 warns), grouped under H2 sections, no duplicate targets. Link quality: absolute URLs (relative links lose your domain when an AI quotes them elsewhere) and a real : description on each link. Hygiene: no staging or internal URLs, and your robots.txt must not disallow /llms.txt for AI crawlers. Two advisories that never change the verdict: an ## Optional section for skippable extras, and a “last reviewed” date.
Why it matters for AI search visibility
Section titled “Why it matters for AI search visibility”The entire value of llms.txt is curation. A model reading it should come away knowing your 30 most useful pages and why each matters, not drowning in 4,000 auto-generated URLs. A sitemap dump defeats the purpose: it gives the model no signal about what is worth reading, so it is treated as noise. This is the “Pattern C,” user-intent, version of the file: authored around the questions people actually ask, not a machine export of your route table.
How to fix it
Section titled “How to fix it”Curate to 20 to 60 links, grouped by intent, each with a description:
# Example Inc
> Example Inc builds AEO monitoring tools for marketing teams.
Example Inc is a SaaS platform, not the consulting firm Example Partners.
## Getting started- [Quickstart](https://docs.example.com/start): Connect a site and run your first scan.- [Pricing](https://example.com/pricing): Per-seat plans, limits, and the free tier.
## How it works- [Scoring](https://docs.example.com/scoring): How the AEO score is computed.- [The four layers](https://docs.example.com/layers): Crawl, index, retrieval, answer.
## Proof- [Case studies](https://example.com/customers): Named results by industry.Include four elements: an H1 with the brand name, a blockquote pitch in one sentence, a disambiguation line (so the model does not confuse you with a similarly named entity), and 20 to 60 curated links with a real description on each. Use absolute URLs throughout, keep every listed page production-only, and add an ## Optional section plus a Last reviewed: date. Drop the low-value pages (tag archives, pagination, thin utility pages). If you cannot get to 20 genuinely useful links, the file is fine smaller; the failure mode to avoid is the giant dump.