llms.txt vs robots.txt: a standard that controls access, a proposal that offers a map
robots.txt is an IETF standard, RFC 9309, that tells crawlers which paths they may fetch; OpenAI, Anthropic, Perplexity and Google all honour it for their crawlers. llms.txt is a proposal: a markdown file listing your most useful pages for AI agents. robots.txt decides access; llms.txt only suggests where to look; Google says its AI features do not need it.
Publish llms.txt when you have documentation or reference content that agents use directly, such as developer docs read by coding assistants, and generating the file is automatic. Spend your time on robots.txt when the question is whether AI engines can read your site at all.
7 days free · card required
- of top-10k domains serve an llms.txt (966)
- 12.4%
- n=7,781 domains probed
- robots.txt answers read and parsed (a 404 counts as no file)
- 8,036
- of 8,432 domains with a web service
- robots.txt fetch failed (timeout, 5xx or 429; 396)
- 4.7%
- n=8,432 domains
Question: how to block AI crawlers in robots.txt
ChatGPT answered: robots.txt is a request to compliant crawlers; it is not an access-control mechanism. Use server-side blocking (WAF/firewall/authentication) if you need enforcement. Blocking GPTBot affects OpenAI’s training crawler; OAI-SearchBot is a separate crawler used for ChatGPT search discovery, so block it only if you also want to opt out of that.
Sources cited
- 1developers.openai.com
- 2developers.google.com
- 3help.openai.com
- 4openai.com
- 5anthropic.com
- 6www-cdn.anthropic.com
Researcher · Read this answerStored answer, attensira.com workspace, Attensira MCP · · n=1 answerUpdated
Researcher · read the AI answers shown here
Analyst · counted the readings in the charts
How do llms.txt and robots.txt compare?
| Criterion | Llms.txt | Robots.txt |
|---|---|---|
| Status and evidence | ||
| Named AI-vendor control token | No· The specified format contains no user agents | Yes· Google-Extended, GPTBot, OAI-SearchBot and others |
| Published evidence that AI systems consume it | No· Google's Mueller called it purely speculative, June 2026 | Yes· OpenAI documents two of its crawlers honouring it |
| Adoption its proponents cite | AI labs' own docs, documentation platforms, Lighthouse | An IETF standard since September 2022 |
| Standards status | Partial· An open proposal, published on its own site | Yes· IETF Standards Track, RFC 9309 |
| What the file does | ||
| File format | Markdown; only an H1 with the site name is required | User-agent groups with allow and disallow path rules |
| Controls crawler access | No· It curates content, it does not gate it | Yes· Conforming crawlers must evaluate the rules |
| Defined behaviour when the file cannot be fetched | None specified | Yes· 5xx obliges complete disallow; 4xx allows everything |
| Needed for Google's AI features | No; Google says no AI text files are needed | Googlebot must be allowed for pages to be indexed |
| What we measured | ||
| Found on top-10k domains (study, 3 Sep 2026) | 966 of 7,781 probed (12.4%) | Read on 8,036 of 8,432; fetch failed on 396 (4.7%) |
| In ChatGPT's stored answer to 'how to block AI crawlers in robots.txt' (4 Oct 2026) | No· Not mentioned | Yes· The whole answer |
- Status and evidence
Named AI-vendor control token
- Llms.txt
- No· The specified format contains no user agents
- Robots.txt
- Yes· Google-Extended, GPTBot, OAI-SearchBot and others
Published evidence that AI systems consume it
- Llms.txt
- No· Google's Mueller called it purely speculative, June 2026
- Robots.txt
- Yes· OpenAI documents two of its crawlers honouring it
Adoption its proponents cite
- Llms.txt
- AI labs' own docs, documentation platforms, Lighthouse
- Robots.txt
- An IETF standard since September 2022
Standards status
- Llms.txt
- Partial· An open proposal, published on its own site
- Robots.txt
- Yes· IETF Standards Track, RFC 9309
- What the file does
File format
- Llms.txt
- Markdown; only an H1 with the site name is required
- Robots.txt
- User-agent groups with allow and disallow path rules
Controls crawler access
- Llms.txt
- No· It curates content, it does not gate it
- Robots.txt
- Yes· Conforming crawlers must evaluate the rules
Defined behaviour when the file cannot be fetched
- Llms.txt
- None specified
- Robots.txt
- Yes· 5xx obliges complete disallow; 4xx allows everything
Needed for Google's AI features
- Llms.txt
- No; Google says no AI text files are needed
- Robots.txt
- Googlebot must be allowed for pages to be indexed
- What we measured
Found on top-10k domains (study, 3 Sep 2026)
- Llms.txt
- 966 of 7,781 probed (12.4%)
- Robots.txt
- Read on 8,036 of 8,432; fetch failed on 396 (4.7%)
In ChatGPT's stored answer to 'how to block AI crawlers in robots.txt' (4 Oct 2026)
- Llms.txt
- No· Not mentioned
- Robots.txt
- Yes· The whole answer
What is llms.txt?
An open proposal to standardise on a markdown file at /llms.txt that gives AI agents a curated map of a site's most useful pages. It is a suggestion about content, not an access-control mechanism.
What is robots.txt?
The Robots Exclusion Protocol, standardised as RFC 9309, which lets a service owner state which automated clients may access which paths, with obligations the specification places on conforming crawlers.
When should you choose llms.txt?
Publish llms.txt when you have documentation or reference content that agents use directly, such as developer docs read by coding assistants, and generating the file is automatic. Treat it as a convenience for agents, not as a ranking factor.
When should you choose robots.txt?
Spend your time on robots.txt when the question is whether AI engines can read your site at all. A wrong line there removes you from ChatGPT search or Perplexity; a right one lets their crawlers in while keeping training crawlers out.
When is neither the right choice?
Neither file decides whether you are cited. robots.txt only makes a page fetchable, and llms.txt only points at it. Whether an engine chooses your page depends on what the page says and who else covers the question.
Where does Attensira fit?
Worth a look if you want to know whether either file changes anything: Attensira counts crawler fetches at your edge and reads whether ChatGPT, Perplexity, Claude, Gemini and Google AI cite your pages. Whatever it takes to win the answer.
What sets llms.txt and robots.txt apart?
- A wrong robots.txt line can remove you from an answer engine; no llms.txt line can add you to one, so the cost of a mistake is lopsided toward the older file.
- Asked how to block AI crawlers, ChatGPT built its whole answer from robots.txt and cited the operators' own documentation, not any file a site publishes about itself.
- The two never truly conflict for a crawler, only for people: a page listed in llms.txt but disallowed in robots.txt looks readable to a team and is not.
What is the difference between llms.txt and robots.txt?
One controls access; the other offers a map. robots.txt is the Robots Exclusion Protocol, published as RFC 9309 on the IETF Standards Track in September 2022. It lives at /robots.txt, it tells automated clients which paths they may fetch, and it places obligations on conforming crawlers: how to match rules, how long to cache the file, what to do when it cannot be fetched. Every major AI crawler operator documents that its crawlers follow it.
llms.txt is a proposal. Its site describes it as a proposal to standardise on a file that provides information to help agents use a website. It was first published by Jeremy Howard on 3 September 2024 and updated to a second version on 10 August 2026. The file is markdown: an H1 with the name of the site, an optional summary, and sections of links to the pages an agent would find most useful, with clean markdown versions of those pages suggested alongside. It allows nothing and forbids nothing.
What can each file make happen?
robots.txt can stop a well-behaved crawler fetching your pages. That is a real power, and a dangerous one: a disallow under OAI-SearchBot removes you from ChatGPT search answers, by OpenAI's own documentation, and a blanket rule written against AI training can do the same by accident. It can also let the right crawlers in while keeping others out, which is the policy most companies now want.
llms.txt can suggest where an agent should look. If an agent reads it, it gets a curated list of your best pages in a format it can parse easily. If no agent reads it, nothing happens. It cannot override robots.txt: a page you disallow stays unfetchable however prominently you list it.
Who reads llms.txt?
Not the answer engines' crawlers, as far as their documentation says. OpenAI's crawler page, Perplexity's and Google's all describe robots.txt as the control for their crawlers and say nothing about llms.txt. Google goes further for its own AI features: it states you don't need to create new machine-readable files, AI text files or markup to appear in AI Overviews or AI Mode. Search Engine Journal reported in June 2026 that Google's John Mueller called llms.txt purely speculative.
The llms.txt site tells a different story about adoption, and both can be true. It says the earlier version gained significant adoption, that major AI labs include llms.txt files in their own developer documentation, and that Chrome's Lighthouse audits for them. That is adoption by publishers and tooling. It is not evidence that answer engines use the file when deciding what to cite. The readers most likely to benefit are agents and coding assistants that work with documentation directly.
What does our own data say about each file?
We publish an llms.txt and a markdown twin of each page on attensira.com, because they cost almost nothing to generate. In our AI traffic snapshot for the 30 days to 4 October 2026, neither /llms.txt nor /robots.txt was among the 30 paths AI crawlers fetched most; the 30th, /privacy, had 2,365 requests. This comparison page itself was fetched 53 times by AI crawlers in that window. A file nobody asks for often is not a file an engine is leaning on.
The answers point the same way. We track "how to block AI crawlers in robots.txt" every day. ChatGPT's stored answer of 4 October 2026 is entirely about robots.txt groups and never mentions llms.txt, and across 33 ChatGPT answers to that prompt in 30 days, about 82% of 1,507 citations went to three operators' own documentation: developers.google.com, anthropic.com and help.openai.com. On access, engines defer to the operator's page.
Whose pages does ChatGPT cite on crawler control?
Across 33 ChatGPT answers to "how to block AI crawlers in robots.txt" in the 30 days to 4 October 2026, three operators' own documentation took about 82% of 1,507 citations. On access, engines defer to the operator's robots.txt page, not to any third-party file.
- developers.google.com (608 citations)
- 40.4%
- n=1,507 citations
- anthropic.com (317)
- 21.0%
- n=1,507 citations
- help.openai.com (314)
- 20.8%
- n=1,507 citations
Analyst · Counted these readingsChatGPT answers to one tracked prompt, read over the Attensira MCP, attensira.com workspace · to How do large sites use robots.txt for AI?
Deliberately, and differently for training and search. On 3 September 2026 we read /robots.txt on the top 10,000 domains in a dated Tranco list: 8,036 answered with a file or an authoritative 404, and 396 (4.7%) failed with a timeout, a server error or a rate limit. 1,147 (14.3%) disallow GPTBot, OpenAI's training crawler, at the root, while only 467 (5.8%) disallow OAI-SearchBot, the crawler behind ChatGPT search. Large sites use robots.txt to keep training out and search in.
In the same run we probed /llms.txt wherever a site's own robots.txt let our agent read it. 966 of 7,781 domains (12.4%) served one. That is real adoption for a two-year-old proposal, though our study does not say which kinds of sites publish one or whether any engine reads them. The full method and every crawler row are on our study page.
What does RFC 9309 actually require?
A few things that matter in practice:
| Situation | What RFC 9309 says |
|---|---|
| Where the file lives | /robots.txt, lowercase, at the top level of each host; every subdomain needs its own |
| Two rules match a path | The most specific match wins; no match means access is allowed |
| How long a copy may be cached | No more than 24 hours, unless the file is unreachable |
| The file returns a server error | Crawlers must assume complete disallow |
| The file returns a 4xx | Crawlers may access anything |
| The file is very large | Crawlers must parse at least the first 500 kibibytes |
The failure modes are the expensive part. A robots.txt that returns a server error during a deploy tells conforming crawlers to stay out of the whole site. One that returns a 404 after a migration tells them everything is allowed. Neither shows up in your analytics. Monitor the status code your robots.txt returns the way you monitor your home page, and alert on anything other than a 200, because a single bad deploy can close the whole site to every conforming crawler for as long as the error lasts.
How should an llms.txt be built if you publish one?
Generated, never hand-written. The file is only useful if it lists pages that exist and are current, and a hand-maintained list starts to rot the week after it is written. Generate it from the same source that builds your sitemap or navigation, so a page that is removed disappears from the file in the same deploy. Keep it short: the proposal's point is curation, so list the pages an agent should read first, not every URL you have.
If you also publish markdown versions of pages, as the proposal suggests, make sure they say the same thing as the HTML pages. A markdown twin that drifts from its page is worse than none, because an agent reading it will repeat facts the page no longer states. Render them from the same source as the pages for that reason.
What happens when the two files disagree?
robots.txt wins, for every crawler that follows it:
Lists the page
- robots.txt
- Disallows the path
- What a conforming crawler does
- Does not fetch it
Omits the page
- robots.txt
- Allows the path
- What a conforming crawler does
- Can still find it through links and sitemaps
Lists the page
- robots.txt
- Allows the path
- What a conforming crawler does
- May fetch it; the listing changes nothing it must do
The only way the two can conflict in a costly way is by misleading the people who maintain them: a team that sees a page listed in llms.txt may assume it is readable by AI engines when robots.txt says otherwise. Check both whenever you change either.
Why does the comparison keep being made?
Because the names rhyme and both live at the root. The suggestion that llms.txt is "robots.txt for AI" is catchy and wrong. robots.txt already is robots.txt for AI: OpenAI, Anthropic, Perplexity, Google and Apple all publish robots.txt tokens for their AI crawlers and controls. llms.txt answers a different question, which is what to read, not whether you may.
What is a sensible policy for a site that wants to be cited?
Write robots.txt in three layers: allow the search crawlers that put you in answers, decide the training crawlers on their own question with a written reason, and leave user-triggered fetchers to the firewall if they ever become a problem. Check the file on every host after every deploy.
Then, if it is free, publish an llms.txt that lists the pages you most want agents to read, generated from the same source as your sitemap so it never goes stale. Do not hand-maintain it, and do not judge its value by search traffic, because the answer engines have not said they read it.
What would change our view?
Documentation. If OpenAI, Perplexity, Anthropic or Google publish that their answer engines read llms.txt when choosing sources, or if a controlled study shows sites with the file being cited more often than comparable sites without it, the file moves from convenience to requirement. Until then, the honest position is the one Google states for its own AI features: no AI text file is needed. We will revisit this page when any of those vendors changes its crawler documentation, and the date at the top of the page tells you when we last checked.
What can you do today?
Fetch your live robots.txt from every host you serve. Search it for OAI-SearchBot, PerplexityBot, Claude-SearchBot and Googlebot and confirm none is disallowed by accident, including through a wildcard group. Then look at a week of edge logs to see which of those crawlers actually arrived. Only after that, decide whether llms.txt is worth an afternoon. If your platform can generate it automatically, the answer is probably yes; if it means hand-maintaining a list, spend the afternoon on the pages instead.
Questions people ask
Does llms.txt replace robots.txt?
Do ChatGPT, Perplexity or Google read llms.txt?
Should I publish an llms.txt anyway?
Who created llms.txt?
What does a correct robots.txt for AI look like?
How many large sites publish an llms.txt?
Can robots.txt stop all AI crawlers?
Where to go next
- llms.txt in the AI crawler guideGuide
- Writing robots.txt directives for AI crawlersGuide
- Structured data vs llms.txtCompare
- GPTBot vs OAI-SearchBotCompare
- Generate an llms.txt fileTool
- Generate a robots.txt for AI crawlersTool
- Who blocks which AI crawler, top 10,000 sitesData
- llms.txt: the glossary entryGlossary
Where do these facts come from?
14 sourced claims, each with the page it was read on and the day.
llms.txt is described by its own site as a proposal to standardise on a file that provides information to help agents use a website.
llmstxt.org · retrieved
“A proposal to standardise on using an /llms.txt file to provide information to help agents use a website.”
The proposal allows the file at the site root or at any path within it, covering the pages under that path, with agents using the most specific file that applies.
llmstxt.org · retrieved
“at the site root, or at any path within it, covering the pages under that path”
The proposal specifies a markdown file whose only required section is an H1 with the name of the project or site, followed by a blockquote summary and optional H2-delimited lists of links.
llmstxt.org · retrieved
“An H1 with the name of the project or site. This is the only required section.”
The llms.txt site states that the earlier version gained significant adoption, that major AI labs include llms.txt files in their developer docs, and that Chrome's Lighthouse audits for them.
llmstxt.org · retrieved · changes often, check the source
The Robots Exclusion Protocol was published as RFC 9309 on the IETF Standards Track in September 2022.
rfc-editor.org · retrieved
RFC 9309 requires a crawler to match allow and disallow paths against the URI, with the most specific match applying and access allowed where no rule matches.
rfc-editor.org · retrieved
“To evaluate if access to a URI is allowed, a crawler MUST match the paths in "allow" and "disallow" rules against the URI.”
Show all 14 sourcesShow fewer
RFC 9309 states that on a 5xx response a crawler must assume complete disallow, while on a 4xx it may access any resources on the server.
rfc-editor.org · retrieved
“If the robots.txt file is unreachable due to server or network errors, this means the robots.txt file is undefined and the crawler MUST assume complete disallow.”
OpenAI documents that OAI-SearchBot and GPTBot honour robots.txt, and that robots.txt rules may not apply to ChatGPT-User because those fetches are initiated by a user.
developers.openai.com · retrieved
“Because these actions are initiated by a user, robots.txt rules may not apply.”
Google documents Google-Extended as a robots.txt control token governing whether crawled content may be used to train future Gemini models, and states it does not affect Search inclusion or ranking.
developers.google.com · retrieved
“Google-Extended does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search.”
Search Engine Journal reported on 2 June 2026 that Google's John Mueller called llms.txt purely speculative and noted that the file has existed for years without AI systems using it.
searchenginejournal.com · retrieved
“I don't think anyone knows - it's purely speculative for now (the file has existed for years, yet none of the AI systems use it - what does it mean?).”
Google states that you don't need to create new machine-readable files, AI text files or markup to appear in its AI features.
developers.google.com · retrieved
In Attensira's study run on 3 September 2026 over the top-10,000 Tranco domains, 966 of 7,781 probed domains (12.4%) served an llms.txt.
attensira.com · retrieved · changes often, check the source
In the same run, robots.txt was read on 8,036 of the 8,432 domains with a web service (a 404 counted as read, with no file) and the fetch failed on 396 (4.7%) through a timeout, a 5xx or a 429.
attensira.com · retrieved · changes often, check the source
In the attensira.com workspace, read over the Attensira MCP, ChatGPT's stored answer of 4 October 2026 to the tracked prompt 'how to block AI crawlers in robots.txt' gave robots.txt groups and did not mention llms.txt.
attensira.com workspace, read over the Attensira MCP on · changes often, check the source
Put the crew to work on your brand, 7 days free.
7 days free · card required