Resources

What is llms.txt?

llms.txt is a community-proposed plain-text file that lists a site's key pages for language models. Google says you do not need it for AI Overviews. It is cheap to publish and worth understanding before you decide.

What is llms.txt and who proposed it?

llms.txt is a plain-text file placed at a site's root that lists its most important pages with one-line descriptions, in Markdown format. It was proposed by Jeremy Howard in September 2024 as a way to help large language models discover and understand a site's key content.

It is a community convention, not a standard adopted by any major platform. Adoption is uneven: some smaller crawlers and agent frameworks look for it, and the major search and AI vendors have not adopted it as a ranking or retrieval input.

What does the file actually contain?

A standard llms.txt has an H1 title, a blockquote summary, and a Markdown list of links. The spec recommends including the site's purpose and an ISO-formatted last-updated timestamp, because agents cache aggressively and a stale file is worse than none.

What it does not do is replace your sitemap, replace structured data, or carry content. It is an index, not a delivery mechanism — a crawler that fetches it still has to fetch the pages it points to.

A working llms.txt example

Here is a complete, correctly formatted file for a small consultancy site. Note the structure: purpose, then a curated list of key pages, each with a one-line description.

# Acme Consulting

> Independent management consultancy specialising in manufacturing operations. We help mid-sized factories reduce unplanned downtime and raise throughput.

Last updated: 2026-09-30

## Services

- [Downtime reduction](https://acme.example/services/downtime): Diagnostic and intervention program for unplanned line stoppages
- [Throughput improvement](https://acme.example/services/throughput): Line balancing, changeover reduction and constraint analysis
- [Maintenance planning](https://acme.example/services/maintenance): Preventive schedules based on failure data rather than calendar intervals

## Key documents

- [Our maintenance methodology](https://acme.example/methodology): How we build preventive schedules from historical failure data

## Contact

- [Contact page](https://acme.example/contact): Email form, office address and telephone
- Email: hello@acme.example

Two details worth copying. The summary blockquote states what the site is for, not what the company is — an agent retrieving this needs the purpose, not the mission statement. And the descriptions say what each page actually contains, so the agent can judge whether fetching it is worth the request.

Do I actually need one?

Probably not, on current evidence. Here is the honest cost-benefit.

The realistic case for llms.txt is cheap insurance, not a growth lever.
FactorAssessment
Time to publish20–40 minutes for a small site, more for a large one
CostEffectively zero
Risk of harmNone — it is inert unless a crawler reads it
Demonstrated ranking effectNone
Adoption by major AI platformsNone confirmed
Best caseSome smaller crawlers and agent frameworks use it as a discovery shortcut
Worst caseYou have spent 20 minutes and learned nothing

The decision therefore turns on whether 20 minutes is worth the small chance it helps with an ecosystem you care about. For most sites the answer is yes, because the downside is negligible and the upside is not zero. What matters is not building a strategy around it.

Which AI crawlers should I allow?

There are several distinct AI crawlers serving different purposes, and treating them as one category is the most common robots.txt mistake. The key distinction is between crawlers that fetch live pages to answer a user's question, and crawlers that gather content for model training.

Training and retrieval crawlers have different purposes. Google-Extended has no effect on Google Search rankings, which is widely misunderstood.
CrawlerOperatorPurposeDefault recommendation
OAI-SearchBotOpenAILive retrieval for ChatGPT searchAllow
ChatGPT-UserOpenAIUser-triggered fetch when ChatGPT browsesAllow
GPTBotOpenAITraining data collectionYour decision — document it
PerplexityBotPerplexityLive retrieval and indexingAllow
ClaudeBotAnthropicTraining data collectionYour decision — document it
Google-ExtendedGoogleControls Gemini training and groundingNo effect on Google Search rankings
Applebot-ExtendedAppleApple Intelligence trainingYour decision — document it
CCBotCommon CrawlOpen dataset used by many model buildersUsually allow
BytespiderByteDanceModel trainingYour decision — document it
meta-externalagentMetaMeta AI crawlerYour decision — document it

The recommendation is to allow retrieval crawlers, and to make a deliberate, written decision on training crawlers. The case for allowing training is straightforward: you are not paywalled, and inclusion in future models produces citations. The case against is that your content may be proprietary, or the category valuable enough to compete with. Whichever you choose, record the reason — a decision with a stated rationale survives the next quarterly argument; one without gets relitigated every few months.

What should robots.txt actually do for AI crawlers?

Two rules. First, allow retrieval crawlers, because blocking them removes you from answers generated in response to real user questions. Second, treat robots.txt as a crawling preference, never as access control.

A correctly configured file allows everything, names the AI crawlers explicitly so the policy is documented rather than implied, and points to the sitemap.

User-agent: *
Allow: /

# AI crawlers with retrieval purpose — allow
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /

# Training crawlers — decision documented above
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /

Sitemap: https://example.com/sitemap.xml

If you do decide to block some training crawlers, do it selectively and write down why. Blanket-blocking every AI agent on a blanket instruction is a common reflex with no clear upside, and it forfeits citations in exchange for a feeling of control that robots.txt cannot actually deliver.

Frequently asked questions

Do I need an llms.txt file?
Not for Google's AI Overviews — Google's official guidance states you do not need special machine-readable files for its generative features. Publish one if you want because it costs about twenty minutes and cannot hurt. Do not build a strategy around it, because no demonstrated ranking effect exists.
Is llms.txt a Google feature?
No. It is a community specification proposed by Jeremy Howard in September 2024. Google has neither adopted it nor required it, and its AI optimization guide explicitly says special files are unnecessary for its generative features.
Does llms.txt replace my sitemap?
No, and you should keep both. The sitemap is for search engines and lists URLs for indexing. llms.txt is a curated, human-readable index with descriptions, aimed at agents that want to understand your site rather than enumerate it. They serve different consumers.
Should I block GPTBot and ClaudeBot?
That is a genuine business decision with no universally right answer. Allowing them means you may be cited in future models, and there is no downside if your content is public and not paywalled. Blocking is defensible if your content is proprietary or you consider the category valuable enough to compete with. Whichever you choose, document the reason so it is not relitigated repeatedly.
Does Google-Extended affect my Google Search rankings?
No, and this is widely misunderstood. Google-Extended controls whether your content may be used for Gemini training and grounding. It has no effect on whether you rank in Google Search, which uses Googlebot. Blocking Google-Extended therefore costs you nothing in Search rankings and may cost you citations in Gemini answers.
Will llms.txt get me cited by ChatGPT?
There is no evidence that it does. ChatGPT's retrieval runs through its own crawlers and does not publicly depend on llms.txt. Some smaller agents check for it as a shortcut. Publish it as low-cost insurance, not as a citation strategy.
Is a robots.txt file enough to stop AI training on my content?
No. robots.txt is a crawling preference, not access control, and blocking GPTBot does not reliably prevent other parties from training on publicly available content. The only reliable protection is not publishing the content publicly. For most businesses the trade-off favors publication, because being citable has real value.
How should I keep an llms.txt file current?
Treat it as a curated index and review it quarterly. Include an ISO-format last-updated timestamp, which the spec recommends specifically because agents cache aggressively and a stale file is worse than none. Remove pages you no longer want surfaced, and add anything genuinely important that is missing.

Keep reading

How to Appear in Google AI Overviews

The evidence and the measurement method.

Read more

AI Search Optimization

The methodology behind llms.txt adoption.

Read more

Technical SEO

The fundamentals that apply to every crawler.

Read more

Want this applied to your business?

Stop guessing what to prioritize. Get a straight answer on where your marketing is leaking money, and what to fix first.

Book a free 30-minute audit