An llms.txt file is a short Markdown index that tells AI systems what your site is and where to find useful detail. That matters this year because a clear index can give an agent a direct route into your product pages, while those pages still have to support the claims.
What follows is a working example, not a placeholder template.
What an llms.txt file is for
The file normally sits at /llms.txt at the root of a site. The public llms.txt specification also describes files at subpaths such as /docs/llms.txt, where the file covers the URLs under that path. That gives a documentation area its own index when your product site and technical docs need different routes.
The file is an aid to discovery. It is not a product feed or a substitute for pages that explain your product properly. The specification says agents are expected to view or search the file, then follow the relevant links. The links and their descriptions therefore matter more than the existence of an empty file with the right name.
Your homepage still needs to say what you sell, who it is for, what it costs and what it replaces or competes with. The file should point towards that evidence.
A useful llms.txt file has a small set of parts that do most of the work:
- The H1 names the project or site.
- The blockquote gives a short summary with the facts needed to understand the links.
- The main file list points to the pages an agent should read first.
- The Optional section holds secondary pages that can be skipped when context is limited.
The public specification requires the H1 and describes the blockquote and file lists in that order. It also says the H1 is the only required section, which is a low bar. You can meet it with a file that tells an agent almost nothing, so matching the format is not the same as making the file useful.
“This file offers brief background information, guidance, and links to detailed markdown files.” The llms.txt specification describes the file this way.
That sentence gives you a practical test. Background identifies the product. Guidance helps an agent choose a route. Links provide the pages where a reader can inspect the detail. The format is deliberately small, but the pages behind it carry the weight.
A complete llms.txt example
Here is a worked example for CiteGraph, using pages that describe its checker, readiness checks, research and measurement method. It is a real product context rather than a generic SaaS placeholder.
# CiteGraph
> CiteGraph measures which products AI assistants recommend and which pages they cite. Use the AI visibility checker to inspect your site, the readiness check to find access and content gaps, and the research pages to understand how AI answers use sources.
## Product
- AI visibility checker: Check whether AI assistants mention your product and cite your pages.
- [Free AI readiness check](https://www.citegraph.app/readiness): Inspect the site signals that affect whether AI systems can read and use your pages.
## Research
- Weekly research on who owns AI answers: Follow the pages and products appearing in sampled AI answers.
## Optional
- How CiteGraph measures: Read the measurement method and its limits.
- AI visibility leaderboards: Compare the products and sources recorded in the sample.
This example does not list every page on the site. It gives an agent a name, a plain account of the product, a route to the checker, a route to diagnostic material and a route to the evidence behind the measurement. The descriptions also explain why each link exists. That is more useful than labels such as “Product” or “Resources” on their own.
Read the example against the site
The first line is the entity anchor. # CiteGraph gives the file a clear project name and avoids making the agent infer the subject from a domain or a collection of navigation labels. Keep this line aligned with the name you use across the site.
The blockquote is the compressed product statement. In this example it says what CiteGraph measures and gives the reader routes to the checker, readiness check and research pages. It does not claim that the file will improve recommendations. It describes the product and points to pages where the reader can inspect the work.
The first file list is the main route. The checker and readiness pages are useful starting points because they explain the product and let a reader take an action. The descriptions answer the quiet question behind every link: why should an agent spend context on this page?
The Optional section contains the measurement method and AI visibility leaderboards. The methodology link belongs there because it explains how the results are produced and where their limits sit. The leaderboards link gives comparative context, but it is less important than the product and diagnostic pages for a first pass.
The URLs need to work as ordinary pages. If a destination is thin, blocked, rendered only after JavaScript or vague about the product, a neat index cannot repair it, because the file only improves the route to a page, not the page itself.
What the readiness sample says around the file
The llms.txt check is one of fifteen readiness checks. In the 121 sites we checked, 116 allowed AI crawlers in robots.txt, while 66 passed the llms.txt check and 55 received a warning. Access was therefore more common than a dedicated index in this sample. Make important content reachable first, then give agents a compact map.
Other checks show why the links in the example should point to clear pages. A plain statement of what a product is, who it is for, what it costs and what it is against passed on 20 sites, warned on 56 and failed on 43. Comparison or alternatives pages passed on 54 sites, warned on 46 and failed on 21. Questions answered on the page passed on 56 sites and warned on 63.
The basic page signals were stronger. A clear H1 passed on 101 sites. Title and description clarity passed on 92, and content present without JavaScript passed on 92. Many sites can therefore be reached and parsed while still leaving an agent without the buyer context needed for a careful answer.
| Named check | Passed | Warned | Failed |
|---|
| llms.txt | 66 of 121 | 55 of 121 | 0 of 121 |
| Plain product statement | 20 of 121 | 56 of 121 | 43 of 121 |
| Comparison or alternatives pages | 54 of 121 | 46 of 121 | 21 of 121 |
| Questions answered on the page | 56 of 121 | 63 of 121 | 0 of 121 |
A pass is not a citation. The check tells you whether a condition was found in the sample, not whether an assistant will select your page for a particular answer. We measure samples, we print the margins, and we do not know what we have not measured. Use the result to choose a page change, then check whether the page appears in the answers that matter to you.
You can run the free AI readiness check to see these conditions on your own site. If the file exists but the product statement is missing, the next fix is probably on the homepage or pricing page, not in the syntax of the index.
Use a generator, then review the output
An llms.txt generator can give you a draft by collecting your site name, summary and links. The ledger does not tell us which generator is best, or whether a particular free generator produces reliable output. Treat any generated file as a starting point.
Check that the name matches your public product name, that the summary says what the product does, and that the main links lead to pages with enough detail to support the summary. Remove links that are merely decorative. Add a comparison, pricing or buyer question page if it matters to the decision and the homepage does not answer it.
The generated output should survive a human reading it. A founder should understand the product from the blockquote. A marketer should see which page an agent should read first. An SEO should be able to spot a claim with no supporting page.
Publish the file at the root path and fetch it as an ordinary visitor would. Check the response, the Markdown, every destination link and the content behind those links. A file that returns successfully but points at stale or unclear pages is still a weak route into the site.
A file checker or validator can tell you whether the Markdown follows the expected pattern. It cannot tell you whether the pages earn a place in an answer. That requires checking mentions and citations separately with the AI visibility checker.
The file is a route, not the evidence
Start with the file because it is small, inspectable and easy to revise. Then fix the pages it names. Give the homepage a plain product statement, make pricing or the pricing route visible, answer buyer questions directly, and publish comparison material where buyers genuinely compare options.
The sample makes the gap plain. The site's own pages getting cited passed on only 5 of 121 sites, warned on 5 and failed on 11. An llms.txt file can make your pages easier to find, but it cannot create independent evidence, resolve a weak comparison page or make a vague claim safe to quote.
Check which pages earn attention next
The next question is which of your own pages currently gets cited at all. The answer lives in the AI visibility checker.
Cite this: CiteGraph, “llms.txt example and generator”, 15 Sept 2026, https://www.citegraph.app/blog/llms-txt-example-and-generator