Two files. Both live in your site root. Both are plain text, smaller than a Wikipedia article. Both tell automated systems what to do with your site. And yet — completely opposite logic.
robots.txt says: "don't go there." llms.txt says: "here's a map — go here." Confusing them is common. Here's why that's a mistake, and what happens when a site only has one of the two.
What Is robots.txt? Crawler Blocking Explained
The web is young, search bots are just starting to index sites — and already causing problems. Servers buckle under uncontrolled crawling. Martijn Koster proposes a simple fix: a file in the root that tells robots where not to go. That's how the Robots Exclusion Standard was born.
User-agent: *
Disallow: /admin/
Disallow: /private/
User-agent: Googlebot
Allow: /User-agent — who this applies to. Disallow — what's off limits. Allow — what's explicitly permitted. That's it. Three decades later the standard is unchanged. Google, Bing, Yandex — major search engines treat robots.txt as a convention. Not law: there's no legal weight, no technical enforcement. But the reputational cost of ignoring it is high enough that search engines play by the rules.
The key thing to understand about robots.txt: it's a tool for blocking. It doesn't explain what's valuable on your site. It only says "don't go there." Aggressive scrapers and data miners are a different story — they don't read robots.txt. The file was built for well-behaved robots, and that assumption was baked in from the start.
What Is llms.txt? How LLM Agents Read Your Site
September 3, 2024. Jeremy Howard — co-founder of Answer.AI and creator of fast.ai — publishes a specification for a new standard. The problem he's solving is different. Not "how to stop a robot," but "how to help an LLM agent find what it needs." When a user asks ChatGPT or Claude about your product, the agent tries to load information from your site. The model's context window is too small for thousands of pages. HTML versions are full of noise — scripts, ads, repeated navigation. Out of 500 documentation pages, the agent gets through a dozen.
llms.txt solves this differently: not by blocking, but by navigating. The file is a site map for LLMs, written in Markdown. The only required element is an H1 heading with the product name. Everything else is optional. Markdown was chosen deliberately: readable by humans, parseable by models, no validator required.
# Product Name
> Brief description: what this is and who it's for.
## Getting Started
- [Installation](/docs/install.md): set up in 10 minutes
- [Quickstart](/docs/quickstart.md): first campaign in 5 steps
## API
- [API Reference](/docs/api.md): all methods with examples
- [Webhooks](/docs/webhooks.md): events and handlers
## FAQ
- [Frequently Asked Questions](/docs/faq.md)One key point from the official llmstxt.org spec that most people miss: the file works at inference time, not during training. It doesn't change what the model knows "in general." It works in the moment when a specific user asks a question about your product — and the agent is searching for up-to-date information right now. According to BuiltWith data, by 2025 the file appeared on 844,000+ sites. Anthropic, HuggingFace, Perplexity, Cursor, Zapier, Cloudflare — all shipped it to production.
robots.txt vs llms.txt: 9-Point Comparison Table
| Parameter | robots.txt | llms.txt |
|---|---|---|
| Year introduced | 1994 | 2024 |
| Audience | Search crawlers | LLM agents, AI systems |
| Purpose | Block access to pages | Guide to valuable content |
| Logic | "Don't go here" | "Go here — here's what matters" |
| Format | User-agent/Disallow directives | Markdown with links |
| Enforcement | Search engines honor voluntarily | Voluntary standard, no regulator |
| When it works | During indexing | At inference (user request) |
| What it contains | List of blocked paths | Map of useful content |
| Maturity | De facto standard, 30 years | Actively forming, 18 months |
Do You Need Both robots.txt and llms.txt?
This is a common misconception: "I have robots.txt, why would I need llms.txt?" Or the reverse. They're not competing. They solve different problems for different audiences.
LLM agents don't use robots.txt — or rather, they see it, but not to get a site map. A Disallow: / directive will block Googlebot, but it won't stop a Cursor agent from trying to make sense of your documentation. And even if an LLM agent respects robots.txt — the file still won't tell it what on your site is valuable. Only what's forbidden.
llms.txt, in turn, doesn't stop crawlers. There's no mechanism to tell a search bot "don't index /staging/" through llms.txt. A site without robots.txt risks indexing problems and server load from uncontrolled bots. A site without llms.txt loses answer quality from AI agents — every day, while a competitor with the file explains their product to models better.
The test is straightforward: ask Perplexity a question about your product, then ask the same thing about a competitor who has llms.txt. The difference in answer quality is immediate.
How to Use Both Files Together (With Real Examples)
A real site with both files working together:
robots.txt — manages crawlers:
User-agent: *
Disallow: /admin/
Disallow: /internal/
Disallow: /staging/
Allow: /
Sitemap: https://example.com/sitemap.xmlllms.txt — navigates LLM agents:
# Example Product
> A tool for automating marketing campaigns.
## Getting Started
- [Installation](/docs/install.md): set up in 10 minutes
- [Quickstart](/docs/quickstart.md): your first campaign
## API
- [API Reference](/docs/api.md): all methods with examples
- [Webhooks](/docs/webhooks.md): events and handlers
## FAQ
- [FAQ](/docs/faq.md)Two files, two jobs. robots.txt closes what shouldn't be indexed. llms.txt opens what matters. One more pattern worth applying: if a page lives at /docs/api, publish a clean Markdown version at /docs/api.md in parallel. llms.txt should link to .md versions, not HTML. The agent reads Markdown directly, without HTML noise.
Will llms.txt Become a Standard Like robots.txt?
The parallel to robots.txt in 1994 is exact — and a little uncomfortable for skeptics. robots.txt wasn't taken seriously at first either. Also voluntary. Also no regulator. Also easy to ignore. Thirty years later it's on every site that works correctly. llms.txt is following the same path, but faster. Eighteen months from spec publication to 844,000 sites. Google mentioned the file in the experimental A2A (Agents-to-Agents) protocol. Cursor and Perplexity read it reliably. Mintlify added default support for all documentation sites — overnight, thousands of projects including Anthropic and Cursor got the file automatically.
Honest caveat: Google's John Mueller in 2025 compared llms.txt to meta keywords — implying the file might simply be ignored. ChatGPT, Claude, and Gemini haven't officially confirmed they use it. The standard is voluntary, enforcement is zero. But that's exactly what robots.txt looked like in 1997. The people who adopted it early didn't have to scramble later. The logical next step: W3C or an equivalent body formalizes the standard. If that happens, llms.txt moves from "recommended" to de facto required — the same way robots.txt became baseline infrastructure without any enforcement mechanism.
Verdict: Which File Does Your Site Actually Need?
robots.txt and llms.txt are not competitors and not duplicates. They're two layers of communication with different types of automated systems.
- robots.txt manages access: tells search crawlers what to index and what to skip. Thirty years in production. Honored by major players. De facto required.
- llms.txt manages navigation: tells LLM agents what matters on your site and where to find it. Young standard, 844,000+ early adopters, no regulator — but Cursor and Perplexity already read it reliably.
Check robots.txt — it's probably already there. Create llms.txt — it's probably not there yet. Fifteen minutes of work that affects how accurately AI agents understand your product, every day.
Tags
About the author
Helps teams grow through AI search. Writes about AI visibility, content strategy, and what the shift to AI-generated answers means for organic traffic.
Ready to make your site AI-visible?
Generate your llms.txt file in 10 seconds — free, no account needed.
Get Your llms.txt →