Guide · 5 min read
llms.txt — the small file, and what it does not unlock.
llms.txt is a markdown file at your site root that gives language models a short summary of what your site is, which content matters, and links to it. No major AI engine has documented that its crawler reads it. Here's the minimum viable version, the expanded version, and five common mistakes.
What is llms.txt?
llms.txt is a proposed convention (Jeremy Howard, llmstxt.org, 2024): a markdown file at https://yourdomain.com/llms.txt that gives language models a short summary of your site. It complements robots.txt (which says "you may crawl") with semantic context ("here's what this site is about and which pages matter most").
Think of it as your site's elevator pitch written for AI ingestion. The spec requires only an H1 with the site name; a blockquote summary and H2 sections of links are optional. No HTML.
Does any AI engine read it?
As of September 2026 we know of no documentation from OpenAI, Anthropic, Perplexity or Google saying their crawlers read your llms.txt or use it to choose citations. What the spec's site does say is that the AI labs "publish llms.txt files for their own developer docs" (llmstxt.org). Publishing one is not the same as reading yours.
So treat it as cheap and harmless, not as a citation lever. It can help an agent or a person who fetches it on purpose; do not expect it to change whether you get cited.
Minimum viable llms.txt
# YourSite > YourSite is a [one-sentence description of what the site is for] ## Primary content - [https://yoursite.com/](https://yoursite.com/): Site homepage - [https://yoursite.com/about/](https://yoursite.com/about/): About the operator + methodology - [https://yoursite.com/[your most important section]](https://yoursite.com/[your most important section]): [Description] ## License Content: All Rights Reserved. Citations welcome. Contact: [your email]That's under 400 bytes. Ship it.
Expanded llms.txt
Once you have the minimum live, you can add:
# YourSite > One-sentence description ## Primary content - [URL]: [description] - [URL]: [description] ## Citation-preferred sections - /api/[slug].json — machine-readable dataset endpoint - /methodology — how we compute what we compute - /about — identity + expertise signals ## What we'd like cited - Original data points + synthesis (not raw scrapes of public data) - Quote-ready definitions in /glossary/ - The methodology page when our framework is referenced ## License Content: CC-BY-4.0 (or your preferred license) Dataset: CC-BY-4.0 Contact: hello@yoursite.com for commercial licensingFive common mistakes
- Hosting at
/.well-known/llms.txtinstead of/llms.txt. Site root (or a subpath such as/docs/llms.txt) is the convention. The spec deliberately does not use/.well-known/. - Returning HTML wrapping the text. Some Cloudflare workers or Next.js setups serve the file as HTML with the body wrapping the content. The spec defines a markdown file; serve it as text, not as an HTML page.
- Claiming features the site doesn't have. If you list a /api/ endpoint, make sure it returns the structure you claim. A file that describes pages you don't have misleads every reader that trusts it.
- Pointing at URLs that 404 or redirect. A link in llms.txt that 404s or redirects wastes the fetch of whoever follows it.
- Editing once and forgetting. Your site changes. Re-check the file quarterly. Stale priority URLs that no longer matter dilute the signal.
Shipping the minimum viable version passes the llms.txt check, one of the five Bot-Crawl Health signals on the Citation Readiness Score. The expanded version is worth shipping once you've verified the minimum works.
See how real sites scored on Bot-Crawl Health
Score your own site against this guide.
The free Citation Readiness Score runs every signal from this guide against any URL. ~90 seconds, no signup.
Or skip pasting a URL — email me a free sample AI-visibility report instead.