llms.txt explained: what it is and how to write one
For thirty years, robots.txt has sat quietly at the root of nearly every website, telling search crawlers where they may and may not go. llms.txt is the new cousin built for the AI era — and it does almost the opposite job. Instead of telling bots to stay out, it hands them a clean, curated brief about your site: who you are, what you do, and the pages worth reading, all in plain language the models can lift without wading through your navigation and cookie banners.
It's a young convention, but a genuinely useful one, and it takes about twenty minutes to write. Here's what it is, why it helps, and exactly how to make yours.
The short version
- llms.txt is a plain-Markdown file at
yoursite.com/llms.txtthat summarises your site for AI models in your own words. - It's a brief, not a barrier. Where robots.txt restricts, llms.txt informs — it hands crawlers a clean, ready-to-quote overview.
- It helps because AI crawlers waste effort on page clutter. A tidy summary makes it easy for them to understand and cite you correctly.
- Structure matters: an H1 name, a one-line summary, key facts, and curated links by section.
- It's not a ranking cheat. It won't force a model to feature you — it just removes friction and reduces the chance of getting your facts wrong.
So what exactly is llms.txt?
It's a single Markdown file you place at the root of your domain — yoursite.com/llms.txt — following the llmstxt.org convention. The idea is simple: a normal web page is built for humans, wrapped in menus, scripts, pop-ups and ads that an AI has to fight through to find the substance. llms.txt strips all that away and gives the model a distilled version — a short description of your brand, the handful of facts that matter, and links to your most important pages, each with a line explaining what it is. Think of it as the elevator pitch you'd hand a smart assistant who has ten seconds to understand your business.
Why bother — does it actually help?
Two reasons, and neither is magic. First, it reduces friction: AI crawlers have limited patience and budget, and a clean brief means they spend that budget understanding you rather than parsing your footer. Second, and more importantly, it reduces errors. When a model has to infer what your product does from a cluttered page, it guesses — and sometimes guesses wrong, hedging with "this may be a tool for…" or confusing you with a similarly-named company. A clear llms.txt in your own words gives it the correct facts to quote, which is half the battle in how engines decide what to say about you.
What it won't do is force anything. llms.txt is a helpful signal, not a command — no model is obligated to read or honour it, and it won't vault you above a stronger competitor on its own. Treat it as table stakes that removes a class of avoidable problems, not as a growth hack.
How to write one, section by section
The format is deliberately plain. Here's the anatomy:
- An H1 with your name —
# Acme Analytics. This is the title of the brief. - A blockquote one-liner —
> Acme is a … that helps … do …. One sentence that a model could quote verbatim as your description. - A short paragraph or "Key facts" list — the handful of things that matter: what you do, who it's for, where you're based, what makes you distinct.
- Curated links, grouped by section — Product, Docs, Pricing, Blog — each link followed by a short note on what it is, so the model knows why it would open it.
- An optional FAQ — a few real questions and one-sentence answers, which models lift especially readily.
A template you can adapt
Here's a skeleton to start from — replace the bracketed parts with your own:
# [Brand]
> [Brand] is a [category] that helps [audience] [outcome].
[One short paragraph: what you do, who it's for, and one thing that makes you distinct.]
## Key facts
- [Fact 1 — e.g. founded, location, category]
- [Fact 2 — who it's for]
- [Fact 3 — what's distinctive]
## Product
- [Home](https://…): What the product does.
- [Pricing](https://…): Plans and what's included.
## Docs
- [Documentation](https://…): Guides and API reference.
## Contact
- Sales: hello@…
Keep it honest and specific — the same qualities that make any content quotable make an llms.txt useful. Vague filler here just wastes the very attention you're trying to earn.
Where to put it, and keeping it fresh
The file lives at your domain root so it resolves at /llms.txt. Some sites also publish an llms-full.txt with the complete text of key pages for models that want more depth, but a clean llms.txt is the place to start. Whichever you use, treat it as living: when your pricing, positioning or product changes, update the file, or it starts telling models things that are no longer true.
The easy way
Writing and maintaining this by hand is fine, but it's exactly the kind of thing that goes stale. GEOpta generates an llms.txt from your real site content, hosts it so it stays fresh, and pushes it live through a one-line snippet, a WordPress plugin or a Cloudflare worker — so it updates itself when your site changes. If you'd rather not hand-maintain a file forever, that's the shortcut. Either way, start by seeing how AI currently describes you with a free AI Visibility Score.
Bottom line
llms.txt is a small file with a simple job: hand AI models a clean, accurate brief so they understand and quote you correctly instead of guessing. It won't rank you by itself, but it removes friction and prevents a whole category of avoidable mistakes — wrong facts, vague descriptions, mistaken identity. Write one, keep it current, and pair it with clean structured data. Twenty minutes now saves a lot of "why does ChatGPT keep getting us wrong" later.
Frequently asked questions
What is llms.txt?
llms.txt is a plain-Markdown file placed at the root of your domain (yoursite.com/llms.txt) that gives AI models a clean, curated summary of your site — who you are, what you do, key facts and links to your most important pages. It follows the llmstxt.org convention and works like an elevator pitch for AI crawlers, so they understand and quote you correctly instead of parsing a cluttered page.
How is llms.txt different from robots.txt?
robots.txt tells crawlers where they may not go — it's a barrier. llms.txt does almost the opposite: it hands AI models a clean brief about your site so they can understand it easily. One restricts access, the other informs and invites. They solve different problems and you can use both.
Does llms.txt improve my AI search rankings?
Not directly. llms.txt is a helpful signal, not a command — no model is obligated to read or honour it, and it won't push you above a stronger competitor on its own. What it does is reduce friction and prevent avoidable errors, like a model guessing your product's purpose or confusing you with a similarly-named company, which makes it easier to be described and cited accurately.
How do I write an llms.txt file?
Use plain Markdown: an H1 with your brand name, a one-line blockquote summary a model could quote, a short 'Key facts' list, then curated links grouped by section (Product, Docs, Pricing, Blog) each with a short note on what it is, and optionally a few FAQ pairs. Keep it honest and specific, place it at yoursite.com/llms.txt, and update it when your site changes.
Where do I put the llms.txt file?
At the root of your domain so it resolves at yoursite.com/llms.txt, the same place robots.txt lives. Some sites also add an llms-full.txt with the full text of key pages for models that want more depth, but a clean llms.txt is the place to start. Tools like GEOpta can generate, host and auto-update it for you if you'd rather not maintain the file by hand.
See where AI ranks you
Get your free AI Visibility Score in 30 seconds — no signup.
Check my brand free →