
Someone in a marketing group posts: “Add llms.txt or you’re invisible to ChatGPT.” Two hours later a tool offers to generate one for a monthly fee. You have not even finished your coffee and you already feel behind.
Slow down. llms.txt is real, it is simple, and it is free to make. What is not real is the claim that it decides whether AI engines cite you. Here is what the proposal actually says, who documents using it, and whether it is worth your hour.
What llms.txt is
llms.txt is a proposed standard: a plain Markdown file on your site that gives a language model a short, curated map of your most useful content. It was proposed by Jeremy Howard in September 2024 and is published at llmstxt.org.
The problem it targets is context. A web page built for humans carries navigation, scripts, cookie banners and layout. A model trying to read it at answer time has limited room and gets a lot of noise. llms.txt says: here is who we are, here are the pages that matter, here is where to find clean text versions of them.
Think of it as the “start here” sheet a good office hands a new hire. It does not replace the filing cabinet. It just tells the new person which drawers are worth opening first.
How the format works
The proposal fixes a short structure, in this order:
- An H1 with the name of the site or project. This is the only required part.
- A blockquote with a short summary.
- Optional body text (paragraphs and lists, but no headings) with any detail a reader needs.
- H2 sections of links, each entry a Markdown link with optional notes after a colon.
- An “Optional” section by convention, for secondary links an agent can skip when it needs less context.
The file goes at the root of the site (/llms.txt), and the current version of the proposal also allows it at a sub-path, covering the pages beneath that path.
The proposal also suggests serving a clean Markdown version of each important page at the same URL with .md added (for example page.html.md, or index.html.md for a page without a file name), and pointing to those versions with rel="alternate" type="text/markdown".
A worked example
Here is a minimal llms.txt for a hypothetical small accounting firm, following the format above:
# Example Bookkeeping Co. > Bookkeeping and month-end close for online sellers in the US. Fixed monthly > plans; we work in QuickBooks Online and Xero. We do not offer tax filing; we hand off to the client's CPA. ## Services - [Bookkeeping for Etsy sellers](https://example.com/etsy-bookkeeping.md): what is included, how onboarding works - [Month-end close](https://example.com/month-end-close.md): checklist and timeline ## Company - [About](https://example.com/about.md): who we are and how we work - [Contact](https://example.com/contact.md) ## Optional - [Blog](https://example.com/blog.md): longer articles on bookkeeping for sellers
That is the whole thing. Ten minutes to write, longer only if you also build the .md versions of each page.
Who actually uses it
This is the part most “add llms.txt now” posts skip, so here is only what is documented:
| Who | What is documented |
|---|---|
| Google (AI Overviews, AI Mode) | Google says you don’t need to create new machine-readable files, AI text files or markup to appear in its AI features (Google Search Central). The page does not mention llms.txt. |
| OpenAI (ChatGPT search) | The crawler documentation describes OAI-SearchBot, GPTBot and ChatGPT-User and their robots.txt controls (OpenAI). It does not say ChatGPT reads a site’s llms.txt to choose sources. OpenAI does publish an llms.txt for its own documentation. |
| Perplexity | The bot documentation describes PerplexityBot and Perplexity-User (Perplexity). It does not say they read a site’s llms.txt. Perplexity also publishes an llms.txt for its own documentation. |
| The proposal’s own site | Says thousands of sites publish an llms.txt file and that AI labs (it names OpenAI, Anthropic and Gemini) publish them for their developer docs. Publishing one for your own docs is not the same as reading everyone else’s. |
Short of it: as of this writing, none of the three engines above documents using a site’s llms.txt to decide what it cites. Re-check those docs before relying on this. Where it clearly gets used is when a person or a coding agent is pointed at a docs site and fetches the file on purpose. That is a real use, just not a search ranking signal.
So should you add one?
My stance: yes, if it takes you an hour or less, and never as a paid line item on its own.
Why yes: it is cheap, harmless, and it forces a useful exercise. Writing a two-line summary of your business and picking the ten pages that matter most is exactly the work that also makes your site easier for any engine to summarise. If you run documentation, an API, or a product people build on, it is more clearly worth it, because developers and their agents do fetch these files.
Why not as a paid item: the file does not move AI visibility by itself, by any documented account. What moves it is the slower work of generative engine optimization: letting the right crawlers in, writing pages that can be quoted, and building consistent brand facts across the web.
Flow, honestly drawn: llms.txt → a tidy map → maybe read by an agent that is already looking at you. Not: llms.txt → named in ChatGPT.
Common mistakes
- Treating it like robots.txt. llms.txt does not allow or block anything. Crawler access is still controlled by robots.txt and each vendor’s documented user agents.
- Dumping the sitemap into it. The point is curation. Five hundred links is a sitemap with a different name.
- Linking pages that are noindexed or blocked. If a crawler cannot fetch the page, a link in llms.txt does not change that.
- Letting it go stale. A map pointing to deleted pages is worse than no map.
- Filling it with AI-written fluff. The summary should be a fact a stranger can repeat. If you are using AI to draft it, check every line; and if you are wondering does Google penalize AI content, the answer depends on quality and intent, not on the tool.
How to add one in practice
- Write the H1 (your name) and a one or two sentence blockquote that says what you do and for whom.
- Pick the pages a newcomer would need first: services, pricing, about, key guides.
- Group them under a few H2s, one line of notes each.
- Put secondary material under “Optional”.
- Upload it as
/llms.txtat the site root and check it loads as plain text. - Optionally, add Markdown versions of the key pages and link those instead.
- Put a reminder in your calendar to review it when pages change.
On WordPress, some SEO plugins can generate the file for you; check your plugin’s own documentation. Check what they include; an auto-generated list of every post defeats the purpose.
Takeaway
llms.txt is a good habit and a weak lever. Make one, keep it short, and spend the rest of your effort on the pages it points to. If you want both done for you, our AI search visibility service includes llms.txt and structured data as part of the work, alongside the entity signals and citable pages that do the heavier lifting. No promise of being named; that call belongs to the engines.
A “start here” sheet is only as good as the drawers it points to.