Heard of llms.txt? Good news — it changes things.
In September 2024, Jeremy Howard (co-founder of fast.ai) proposed a simple standard: a markdown file at the root of websites, designed for LLMs, called llms.txt. A year later, Anthropic, Mistral, Vercel, Cloudflare and hundreds of publishers have adopted it. Google and OpenAI have not officially endorsed it, but their crawlers already read it.
The bet: become the robots.txt of generative engines. And as with any emerging SEO standard, the first movers win.
This guide explains what llms.txt is, how it differs from robots.txt, what to put in it, and how to ship it in under an hour. With a concrete example: the one we just shipped on seaudit.fr/llms.txt.
What is llms.txt, in one definition
llms.txt is a public markdown file placed at the root of a website (https://example.com/llms.txt) that summarises the value proposition, key pages and resources of a site in a format optimised for consumption by large language models (LLMs: ChatGPT, Claude, Perplexity, Gemini, Mistral, Llama, etc.).
It is an editorial manifesto for AIs, in contrast to robots.txt which tells crawlers what they can / cannot crawl. llms.txt says: "here is what we do, here is where to look first, here is how to cite us properly".
The spec is maintained at llmstxt.org by Jeremy Howard and the community.
Why now: the timing window
The moment is rare in SEO: a useful, simple standard with low adoption in most markets. Concretely as of May 2026:
- <3 % of the top 10 000 sites worldwide have a valid
llms.txt(manual survey on the Majestic index, May 2026). - Sites that ship one see citations +18 % on Perplexity within 60 days (Profound study, March 2026).
- ChatGPT and Claude read
llms.txtbefore crawling the rest of the site when it exists — so the citation effort concentrates on your manifesto.
Translation: the terrain is open. If you ship your llms.txt this week, you get ahead of 97 % of your competition.
llms.txt vs llms-full.txt: the useful nuance
The spec defines two files with different roles:
| File | Content | When to use |
|---|---|---|
/llms.txt | Short markdown index (1-3 pages): pitch + links to key pages | Always. Entry point for LLMs. |
/llms-full.txt | Condensed markdown of multiple key pages in a single file | Optional but recommended. Lets LLMs load everything without crawling N URLs. |
Think of llms.txt as the table of contents and llms-full.txt as the book. Both are served as text/plain or text/markdown (doesn't matter in practice; markdown stays readable).
The spec in 4 sections
Here is the official structure:
# Project name
> Brief description (blockquote, one or two sentences)
Free intro paragraphs (optional).
## Section 1
- [Page title](https://url.com/page): short description.
- [Another page](https://url.com/other): short description.
## Optional
- [Additional resources](https://...): non-critical.
Key rules:
- Unique H1 = project name.
- Blockquote right after = pitch in one sentence. This is what the LLM extracts first.
- H2 = logical sections (Documentation, Product pages, API, Legal, etc.).
- List of links per section, standard markdown format.
Optionalsection at the bottom for accessory resources (LLM can skip them under context budget pressure).
You can have as many H2s as you want. Stay under 5 000 words to remain comfortable in the consumer LLM context window.
A concrete example: seaudit.fr/llms.txt
Here is what we shipped on SeAudit, slightly annotated:
# SeAudit
> Automated SEO + GEO audit. Free /100 score across 5 axes (technical,
> content, GEO/AI visibility, performance, trust) in 30 seconds. Full
> actionable PDF report (Top 10 actions + 30/60/90-day plan) delivered
> within 48-72 h from €97.
SeAudit is published by Tesseract SA (Swiss company). Key differentiator:
**GEO** (Generative Engine Optimization) — optimising for ChatGPT, Claude,
Perplexity, Gemini and Google AI Overviews — alongside classic Google SEO.
## Key pages
- [Home EN](https://seaudit.fr/en): Free /100 score + full audit order.
- [Order audit](https://seaudit.fr/en/audit): Stripe checkout form.
- [FAQ 100 Q&A](https://seaudit.fr/en/faq): 100 structured questions and answers.
- [Blog](https://seaudit.fr/en/blog): SEO + GEO articles for 2026.
## Audit method
- 5 axes scored out of 100: technical (25), content (20), GEO/AI (25),
performance (20), trust (10).
- Top 10 actions prioritised by impact × effort.
- 30/60/90-day plan.
- 14-day money-back guarantee.
## Optional
- [llms-full.txt](https://seaudit.fr/llms-full.txt): condensed content.
- [sitemap.xml](https://seaudit.fr/sitemap.xml): indexable URLs.
You can read the real one at seaudit.fr/llms.txt.
Choices we made:
- Blockquote pitch covering the 3 key dimensions (product, price, delivery). If Claude extracts these 3 lines to answer "what is SeAudit?", we get cited accurately.
- 6 key pages max. Beyond, the LLM dilutes.
- Method section because it is our factual differentiator. The numbers (5 axes, /100, 48-72 h) are citable as-is.
- Optional section for technical files (sitemap, llms-full) — useful for advanced AI crawlers, ignorable by consumer LLMs.
How to ship it in 30 minutes
Three methods depending on your stack.
Option 1 — Static site (Next.js, Astro, Hugo, Eleventy)
Create a file at public/llms.txt (or static/llms.txt depending on the framework). Push to prod. The server will serve it directly with the right text/plain MIME type. That is what we did on SeAudit (Next.js).
Also add public/llms-full.txt if you want the extended version.
Option 2 — WordPress / CMS
Two options:
- Plugin: "LLMs.txt for WordPress" or "SEO Framework LLMs.txt" generate the file dynamically from your SEO settings. 5-minute install.
- Manual: create an
llms.txtfile at the root of your WordPress folder (via FTP/SFTP/cPanel). Also works.
Option 3 — Shopify / Webflow / Wix
More complex because you do not control the root. Solutions:
- Cloudflare Workers in front of your site: intercept
/llms.txtand serve content from an env variable. - Redirect 302 to an externally hosted URL (GitHub Pages, gist). Less clean but works for bootstrapping.
How to verify it works
Four quick tests:
- Direct HTTP fetch:
curl -I https://your-site.com/llms.txtshould return200with a text-friendlycontent-type. - Community validator: paste your URL into the llmstxt.org parser to validate the structure.
- ChatGPT / Claude test: in ChatGPT, ask "read this file https://your-site.com/llms.txt and summarise it". If the summary is faithful = it is well-read.
- Citation tracking: on Profound, Otterly or Goodie AI, monitor your domain's citation trend over the next 30 days.
llms.txt vs robots.txt: the common confusion
Both files live at the root. Both relate to crawlers. But they say completely different things:
robots.txt | llms.txt | |
|---|---|---|
| Target audience | HTTP crawlers (Googlebot, GPTBot, etc.) | LLM readers (Claude, ChatGPT, Perplexity) |
| Tone | Directive: "you may" / "you may not" | Editorial: "here is what we do" |
| Format | Proprietary syntax (User-agent, Allow, Disallow) | Standard markdown |
| Indexing impact | Strong (gates crawl) | Indirect (orients citations) |
| Conflict | If you Disallow an AI bot, it won't read llms.txt either | — |
Both are complementary. robots.txt opens the door to AI crawlers (GPTBot, PerplexityBot, ClaudeBot, Google-Extended, OAI-SearchBot). llms.txt tells them, once inside, where to start.
Doing one without the other loses 50 % of the value.
5 traps to avoid
- Listing 50 links in
llms.txt. LLM dilutes. Aim for 6-12 links max per section, 3-5 sections. - A vague blockquote. "An innovative startup revolutionising X" is not citable. Add numbers, a delivery time, a price. Facts.
- Forgetting to update when the site evolves. Your key pages move;
llms.txtshould follow. Add a quarterly review to your calendar. - Serving the file as HTML instead of markdown. The server should return
text/plainortext/markdown. Nottext/html(Next.js does this correctly by default from/public/). - Blocking AI crawlers in
robots.txt. If youDisallow GPTBot, you cut the branch you are sitting on. Check yourrobots.txtfirst.
FAQ — llms.txt
Does Google read llms.txt?
Officially, no — not yet. Google has not announced support. In practice, Googlebot crawls the file like any other, and the extracted signals likely feed Gemini and AI Overviews indirectly. No risk in shipping it, likely short-term benefits.
Does llms.txt replace robots.txt?
No, they are complementary. robots.txt regulates crawl access. llms.txt editorialises content for LLMs. Keep both, and make them coexist (robots.txt must allow AI crawlers for your llms.txt to be read).
Do I need llms.txt for an e-commerce site?
Yes, especially for categories and corporate pages. List your main product categories, your about page, your buying guides. Skip listing 10 000 product pages — the sitemap handles that.
How long to see impact?
On Perplexity: usually under 14 days (frequent re-crawl). On ChatGPT search: 2 to 6 weeks. On Claude: variable, depends on search contexts. On Google AI Overviews: indirect and slow, count 2 to 3 months.
Do I need a version per language?
Official spec: a single llms.txt at the root, multilingual if needed. In practice, you can put your EN and FR links in the same file, or have two variants llms.en.txt and llms.fr.txt (not standard but LLM-readable).
How long to write a good llms.txt?
45 minutes for a simple site if you know your product well. 2-3 hours if you start from scratch and need to clarify your pitch at the same time. This exercise often reveals that your pitch is fuzzy — useful secondary benefit.
What if I do not want to be cited by AIs?
Then put a robots.txt that Disallows AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, OAI-SearchBot, anthropic-ai). And do not ship an llms.txt. Note that you cut yourself off from an important acquisition channel — defensible choice but assume it.
Key takeaways
llms.txtis a markdown manifesto at the root of the site, designed to orient LLMs toward your key pages. Spec: llmstxt.org.- Less than 3 % of the top 10 000 sites worldwide had it as of May 2026. Timing window to get ahead.
- Structure: H1 name + blockquote pitch + H2 sections with links +
Optionalsection. Under 5 000 words. - Complementary to
robots.txt: one gates crawl, the other editorialises for LLMs. - Deployable in 30 minutes on static sites, more complex on Shopify / Webflow.
- Measure impact via Perplexity citations (~14 d) then ChatGPT (~2-6 weeks).
Want to know if your llms.txt (and the rest of your GEO visibility) is good? Run your free /100 audit — we score your site across 5 axes, including the GEO dimension, in 30 seconds. And if you want to dig further, all GEO articles are here.
