Overview
/llms.txt is a proposed convention from llmstxt.org, authored by Jeremy Howard in September 2024 and revised as v2 in August 2026, for giving LLM agents a curated markdown index of a site: what is worth reading and why, where sitemap.xml lists only what exists. It is an unratified proposal that serves agents and tools, not search ranking; Google Search ignores it.
Follow the llmstxt.org format
Serve one markdown file at the site root. The v2 spec requires only an H1, in this order:
- An H1 with the site name. This is the only part the spec requires; the house standard also requires the next one.
- A blockquote with a short summary of the site.
- Optional markdown sections of any type except headings.
- H2 sections holding file lists:
- [Title](url): optional note.
By convention an ## Optional section holds links an agent can skip when context is short. A file also covers the URLs under its own path, so /docs/llms.txt covers /docs/, and the most specific file applies. Serve it as text/plain or text/markdown; static hosts serve it directly from the build root.
# Site Name
> One sentence on what this site is and who it is for.
## Category
- [Page Title](https://example.com/category/slug): One-sentence summary.
Practical rules: use absolute URLs, since agents often fetch the file in isolation; one link per bullet; one-sentence summaries that work as routing hints; H2 for categories and H3 only for very large sites.
Add the house sections: Primary, Key pages, About
The LLM discoverability standard requires three sections on top of that shape.
## Primary
- [LLM Info](https://example.com/llm-info): Machine-readable site description for AI assistants; start here.
## Key pages
- [Page](https://example.com/page): One of the load-bearing pages.
## About
Owner: Example Publication
Standard followed: https://llmbestpractices.com
Updated: 2026-08-29
## Primary comes first and its first entry links /llm-info. ## Key pages lists the pages an agent should read if it reads nothing else. ## About closes the file with Owner: (the publication’s own name where anonymity is policy), Standard followed:, and an ISO Updated: date, as plain lines, not bullets. List each page once in a category section; only ## Primary and ## Key pages may repeat a page.
Know what it does and does not do
Google Search ignores llms.txt. Google’s AI optimization guide (May 2026) says you do not need these files to appear in Google Search or its generative AI features, and that keeping them for other systems “will neither harm nor help” visibility. John Mueller said in June 2025 that no AI system currently uses it. An Ahrefs log study of 137,210 domains found about 38,000 with a valid file, and 97% of those files got zero requests in May 2026, so treat any claimed citation lift as unproven.
The audience that does read it:
- Coding agents and agentic browsers, and tools that fetch it when a user points them at a site.
- Chrome Lighthouse’s agentic browsing category (added in Lighthouse 13.3, May 2026). Its
llms.txtaudit flags a server error fetching the file and treats a 404 as not applicable. - Publishers: Anthropic, OpenAI, and Google (for the Gemini API docs) publish one for their developer docs, as do Stripe, Vercel, and Cloudflare.
Ship it for those readers and keep it cheap to generate.
Ship the full corpus in three layers
Ship two corpus files on every site, plus one slice per top-level section. /llms-full.txt is a documentation-platform convention outside the llmstxt.org spec; the other two are house conventions.
| File | Holds | Size rule | Use it when |
|---|---|---|---|
/llms-full.txt | Every published page, full text | Any size | Building an offline or retrieval index |
/llms-context.txt | Every page compressed: summary, Overview lead, each H2 rule | Under 240k tokens | An agent needs the whole site in one window |
/llms-full/<category>.txt | Full text of one top-level section | One file per section, as many as the site has | Deep work in one topic, such as /llms-full/seo.txt |
Single-question agents still route through /llms.txt. Generate every layer from frontmatter in one build step, fail the build when llms-context.txt exceeds its budget, and list all three in the llms.txt header and agents.txt.
Advertise the file and serve markdown twins
The v2 spec adds two link relations: rel="alternate" type="text/markdown" points at a page’s markdown version, and rel="describedby" points at the llms.txt that covers it, as <link> elements or HTTP Link headers. It accepts both page.html.md and page.md for markdown URLs. The convention this site uses, headers, and the tag are in markdown-twins.
Generate it from frontmatter and validate it
If pages carry title, summary, and category frontmatter, generate the file at build time; it skips drafts and deprecated pages, groups by category, and sorts by title. ship-llms-txt has the generator. Lint it on every build:
- The file exists at the build root and starts with
#. - Every link line matches
^- \[.+\]\(https?://.+\)(: .+)?$, with no duplicate URLs. - No relative paths and no mixed HTML and markdown links.
- Every URL returns 200 in a post-deploy check.