On this page
Every few weeks a post goes around claiming that one plain-text file at your domain root will fix your AI brand visibility. Publish /llms.txt, the argument goes, and ChatGPT will finally know what your product does. Founders spend an afternoon on it, publish, and then wait for a change that mostly does not arrive. The file is not a scam, but the promise around it has drifted a long way from what it actually does.
Here is the honest version: what llms.txt is, who reads it, what a good one contains, and where it belongs on your list.
What llms.txt actually is
llms.txt is a convention proposed in 2024, borrowing its shape from robots.txt. You put a Markdown file at your domain root that names your product, describes it in a line or two, and links to the pages you would most want a language model to read.
That is the whole idea. No schema to validate, no registration, no protocol. A static host serves it in minutes.
The reasoning behind it is sound. A modern SaaS site is a poor read for a machine: navigation rendered by JavaScript, a sitemap with four hundred URLs of equal apparent weight, marketing pages whose headline is a metaphor rather than a category. A curated shortlist skips all of that and says: these twelve pages are the ones that matter, in this order.
The gap between that reasoning and the results is the interesting part.
Who actually reads it
This is where most write-ups get vague, so let me be specific about what is known.
Google does not use it. Google Search Central stated publicly in 2026 that llms.txt is not used for Search or for AI Overviews, and that Googlebot reads your pages directly anyway. That covers AI Overviews and Gemini’s search-grounded answers, which for most SaaS sites is the largest slice of AI-assisted discovery. Ahrefs published an analysis across a very large sample of sites and reported no measurable traffic effect from having the file.
Some assistants and developer tools do fetch it. Anthropic, Perplexity, and a number of developer-facing platforms publish their own llms.txt files, and various agent frameworks and coding assistants will look for one when pointed at a domain. Adoption is real but narrow, and it is concentrated in tools that fetch a specific site on demand rather than in the general-purpose answer engines founders care about.
Nobody is required to read it. Unlike robots.txt, which has decades of convention behind it and real consequences when ignored, llms.txt carries no obligation. An engine that ignores it is not misbehaving.
What a good file looks like
If you are going to publish one, publish a useful one. The failure mode is a dump of your sitemap, which defeats the point.
A working structure:
# Acme
> Acme tracks AI visibility for SaaS teams across ChatGPT,
> Claude, Perplexity, and Gemini.
## Product
- [Pricing](/pricing): plans, limits, and what each tier includes
- [How it works](/product): polling, mention parsing, scoring
## Docs
- [Getting started](/docs/getting-started)
- [API reference](/docs/api)
## Reference
- [Glossary](/glossary): AEO and AI search terminology
The rules that matter:
- Ten to thirty links, not four hundred. Curation is the entire value. If everything is included, nothing is prioritized.
- One sentence of context per link. A bare URL tells a model nothing about whether the page is worth fetching.
- State your category in plain words. “AI visibility tracker for SaaS teams” beats “the operating system for modern brand intelligence.” A model needs the category, not the positioning.
- Say who it is not for. An explicit exclusion prevents a whole class of wrong recommendations.
- Keep pricing current, or leave it out. A stale price in a machine-readable file is worse than no price.
The step-by-step version, including the optional llms-full.txt variant that inlines page content for engines that fetch once rather than crawl, is in our guide to creating an llms.txt file.
Where it sits against everything else
The reason llms.txt gets so much attention is that it is easy. It is one file, it takes twenty minutes, and it produces a visible artifact you can point at. The levers that actually move ai brand visibility are slower and less satisfying.
| Lever | Effort | Effect on AI mentions |
|---|---|---|
| Allowing AI crawlers in robots.txt | 10 min | High if you were blocking them |
| Organization and Product schema | 2-4 hours | Moderate, mostly on entity accuracy |
| Third-party profiles (G2, Capterra, Crunchbase) | Days | High, and compounding |
| Comparison and alternative pages | Weeks | High for buying-intent prompts |
| llms.txt | 20 min | Small and uncertain |
Note the first row. Blocking GPTBot, ClaudeBot, or PerplexityBot in robots.txt while publishing a careful llms.txt is a contradiction I see more often than it should exist. Check your robots.txt before you write anything else.
The third row is the one that matters most and gets the least attention from technical founders, because it is not a code change. When a model has to decide whether your product belongs in an answer about “best X for Y,” it draws on how the wider web describes you, not on a file you control. This is the core of why ChatGPT doesn’t know about your SaaS even when your own site is immaculate.
How to tell if it did anything
Publish it, then measure honestly. Two checks, both cheap.
Check your logs. Grep your access logs for requests to /llms.txt and see which user agents, if any, fetched it. If the answer after a month is nothing, you have your result and you can stop wondering.
Check your mention rate against a baseline. Record how often you appear across your tracked prompts before publishing, then compare two to four weeks later. Without a baseline you will attribute any movement to the newest thing you did, which is how the llms.txt myth spread in the first place. If you are not tracking a fixed prompt set yet, how to track your brand in ChatGPT covers setting one up manually, and AskAiRank runs the same set on a schedule across ChatGPT, Claude, Perplexity, Gemini, and four more engines so the before-and-after comparison is a chart rather than a memory.
The measurement discipline matters more than the file. Most AEO advice circulating right now is untested because nobody had a baseline to test it against.
What to do this week
Publish the file. It costs twenty minutes, it makes you write a clean statement of what your product is, and the downside is zero. Just calibrate what you expect from it.
Then do the three things underneath it, in order:
- Open
robots.txtand confirm GPTBot, ClaudeBot, PerplexityBot, and Google-Extended are not disallowed. Fix it today if they are. - Add Organization and SoftwareApplication JSON-LD with
sameAslinks to every profile you own. This is what resolves your brand to a single entity across the systems that feed AI answers. - Claim and fill out your G2, Capterra, and Crunchbase profiles. The models read those pages far more than they read yours.
If you only have one afternoon this month, spend it on item two or three, not on llms.txt.
Frequently asked questions
Answers about llms.txt, which engines read it, and how much it is worth.
No. Google Search Central has said publicly that it does not use llms.txt for Search or AI Overviews, and that Googlebot already reads your pages directly. Publishing the file will not change how you appear in AI Overviews. If Google is your main concern, spend the time on robots.txt permissions and schema instead.
It is a twenty-minute job with a small, uncertain payoff, which is different from useless. Some assistants and developer-facing tools do fetch it, and writing one forces you to state plainly what your product is and who it is for. Do it once, then move on to the things that measurably move mentions.
llms.txt is a short curated index: a product summary plus links to your most important pages. llms-full.txt inlines the full text of those pages into a single file, so an engine can read everything in one fetch instead of crawling each URL. Most SaaS sites only need the short version.
Only indirectly, and only when the file is actually fetched. Wrong descriptions usually come from entity confusion across the wider web, not from a missing file on your domain. Structured data, consistent category language on your own pages, and accurate third-party profiles do more for that problem.
Take a baseline of your mention rate and position across your tracked prompts before you publish, then compare after two to four weeks. Watch server logs for requests to /llms.txt as well: if no AI crawler has ever fetched it, any change you see came from something else.