Does llms.txt help AI citations? What the data says
Probably not for general AI visibility. Google has said its search products do not use llms.txt, and the log studies published so far find very few AI bot requests for the file. It is still a cheap addition for a documentation or developer site, because it takes little effort and some coding agents and browser tools do look for it.
The numbers below come from Optimizely's roundup, Does llms.txt work? The honest answer, with receipts, which collects statements from Google and several log and adoption studies. I have not re-run any of the studies.
What Google has said
According to that roundup, Gary Illyes said in July 2025 that Google does not support llms.txt and has no plans to. John Mueller compared the file to the old keywords meta tag. On 15 May 2026, Google's first guide to AI optimization listed llms.txt among the things not needed for AI Overviews and AI Mode. On 15 June 2026, Google said machine-readable AI files and Markdown versions of pages are not needed to appear in Search, because Search does not use them.
The same roundup notes that OpenAI and Anthropic have made no commitment to read the file. One exception is Chrome's Lighthouse, whose experimental agentic-browsing audit checks for it, so some browser-based agents may look.
What the logs and adoption studies show
Four numbers from the roundup:
| Study | Finding |
|---|---|
| Limy | 408 requests for llms.txt across more than 500 million AI bot visits in 90 days |
| Otterly | 84 requests out of more than 62,100 AI bot visits in 90 days, about 0.1%, on a site with a correctly built file |
| Ahrefs | 97% of 137,210 domains' llms.txt files received zero requests in May 2026 |
| SE Ranking | About 10% of roughly 300,000 domains had the file, with no clear link to getting cited, and one of the 50 most AI-cited domains had one |
Ahrefs also found that fewer than a fifth of the requests that did arrive came from named AI tools. Where it identified them, GPTBot made the most requests, followed by Claude Code.
In short, the file is read rarely, and none of these studies shows a citation benefit.
When it is still worth adding
The roundup's advice is to ship llms.txt for documentation-heavy, developer-facing or large knowledge-base sites, and to generate it from your content so it stays current. A coding agent that fetches your docs gets a short map of what exists. For a marketing site or a blog, it is unlikely to change who cites you.
What the file looks like
The llms.txt proposal describes a plain Markdown file at the root of the site, or at a subpath that covers the URLs under it. The order is fixed:
- An H1 with the site or project name. This is the only required part.
- A blockquote with a short summary.
- Optional paragraphs or lists with more detail, with no headings.
- Zero or more H2 sections, each a list of links in the form
[name](url), optionally followed by a colon and a note. - An optional section named "Optional" for links an agent can skip when it needs less context.
The proposal also suggests serving a Markdown version of useful pages at the same URL with .md added, so an agent can fetch clean text.
A minimal file:
# Acme
> Acme is an invoicing API for freelancers. This file lists the docs an agent needs to integrate.
## Docs
- [Quickstart](https://acme.example/docs/quickstart/): create a key and send a first invoice
- [Webhooks](https://acme.example/docs/webhooks/): events and retry rules
## Optional
- [Changelog](https://acme.example/changelog/)
Adding it to Docusaurus or Next.js
In Docusaurus, put the file at static/llms.txt. Anything in static is copied to the site root at build time.
In a Next.js app with the App Router, a route handler works:
// app/llms.txt/route.js
const body = `# Acme\n\n> Short summary.\n\n## Docs\n\n- [Quickstart](https://acme.example/docs/quickstart/)\n`;
export function GET() {
return new Response(body, {
headers: { "content-type": "text/plain; charset=utf-8" },
});
}
If your docs change often, generate the list from your content at build time. A hand-written file goes stale and then points agents at pages that moved. Dealpuffin publishes one at /llms.txt that points at the docs, and we treat it as a low-cost extra rather than a growth lever.
What to work on instead
The roundup points to work that applies to every crawler:
- Let the crawlers you want reach the site: check that robots.txt does not block them.
- Open each page with a direct answer to the question it targets, so a model can lift it.
- Structure the content clearly, and add structured data that matches what is visible on the page, and nothing that is not.
- Measure citations. In GA4, visits from assistants such as claude.ai arrive as a separate channel, so you can watch them over time instead of guessing.
Frequently asked questions
Does Google use llms.txt?
Google has said it does not. Per the Optimizely roundup, Google's June 2026 statement was that machine-readable AI files are not needed for Search because Search does not use them.
Do ChatGPT or Claude read llms.txt?
Neither OpenAI nor Anthropic has committed to reading it. Server logs show some requests from AI tools, including GPTBot and Claude Code, but at very low volume.
Can llms.txt hurt my site?
Nothing in the sources suggests harm. The risk is wasted time and a stale file that points to moved pages.
Should I also publish llms-full.txt?
The llmstxt.org proposal describes llms.txt and Markdown versions of pages. It does not mention llms-full.txt, which some sites publish as an extra, so treat it as optional.