Most Domains That Win AI Citations Do Not Ship an llms.txt. Most Vendors Selling the Idea Do.
We asked 69 AI visibility vendors and 122 domains we have seen cited for their llms.txt on one day. The vendors ship it far more often than the cited sites.
On 14 August 2026 we asked two groups for their llms.txt with the same script on the same day: the 69 vendors in our catalogue of AI visibility tools, and the 122 domains our register has recorded as cited three or more times in AI answers. Of the vendors we could reach, 44 of 68 ship one. Of the cited domains, 49 of 112 do.
The people selling the convention ship it at around two thirds. The sites actually winning the citations ship it at under half.
Disclosure: EchoWi sells AI visibility measurement and ships an llms.txt itself, so we are inside the vendor row and we have an interest in what this file is worth. The method is a GET of
/llms.txton each domain’s own origin, on one day, with challenges and network failures counted separately from absent files. The counts are in our measurement register, the population rule is stated below, and the whole thing takes an afternoon to repeat against us.
The short version
- Vendors ship an llms.txt at 44 of 68 reachable domains. That is the group whose product is making you legible to machines.
- Domains we have seen cited ship it at 49 of 112. That is the group the machines actually quote.
- The gap runs the wrong way for the pitch. If the file were what earned citations you would expect the cited group to be ahead, and it is behind by roughly twenty points.
- This is not evidence the file hurts, or that it does nothing. Two populations differing on a convention is not a mechanism, and we are not going to pretend otherwise.
- It is enough for one narrow claim, and that claim is useful: winning citations does not require an llms.txt, because most of the domains winning them do not have one.
- Six vendor files are under 2 KB, which is present and too small to index anything.
What llms.txt claims to be
llms.txt is a proposed convention: a markdown file at the root of a site that gives a language model a curated map of what matters, in the order a human would recommend reading it. The pitch is straightforward and not unreasonable. A crawler landing on a large site has to infer structure from navigation and internal links; a file that says “here are the twelve pages that matter and here is what each one is for” removes that guesswork.
It has no specification behind it in the sense that Content Signals has one, no registry, and no published statement from any major engine that it is read. That last point matters and we will come back to it, because a convention nobody has demonstrated consuming is a different kind of thing from one whose consumer is known.
What it does have is adoption inside one specific industry: the tools that sell AI visibility. That is the observation this piece started from.
Two populations, one day, one instrument
The comparison only means anything if both halves were measured the same way at the same time, so that is how it was done.
The vendor population is the 69 tools in our verified catalogue of AI visibility and answer engine optimisation software. It includes us.
The cited population is every domain our measurement register has recorded as appearing in three or more separate probe rows: 122 of the 1,019 distinct domains the register has seen. The threshold is arbitrary and we are declaring it rather than burying it. Three or more means a domain has turned up across several questions rather than once, which is the difference between a site the answer layer reaches for and a site that happened to be there. Lower the bar to two and the population is 286; raise it to five and it is 44.
The instrument is a GET of /llms.txt on each domain’s own origin, following redirects. Three of its choices decide the result:
GET, never HEAD. A server is not obliged to answer a HEAD request at all. An earlier link checker in this project reported two perfectly live pages as dead for exactly that reason, so this asks for the thing it wants to read.
A challenge is not a missing file. Statuses 401, 403, 429 and 999 mean a bot check stood in the way, which is evidence about the edge and not about whether a file exists. Seven cited domains and one vendor land there. Folding them into “no llms.txt” would have manufactured a number in the direction of our own headline, which is exactly when you should be most careful.
A 200 is not a file. Some hosts answer every path with their marketing page. A body that opens an HTML document is not an llms.txt whatever the status line said, and nine cited domains answered that way.
That is why the table below carries two denominators. Asked is the whole population. Reachable is asked minus challenges and network failures. Both are published because a reader is entitled to check whether the choice of denominator is doing the work.
The numbers
| Vendors | Domains we have seen cited | |
|---|---|---|
| Asked | 69 | 122 |
| Reachable | 68 | 112 |
| Ship an llms.txt | 44 | 49 |
| Share of reachable | 65 per cent | 44 per cent |
| Under 2 KB | 6 | 3 |
| Median size | 9,535 bytes | 15,378 bytes |
Two things worth reading off that table before anyone builds an argument on it.
The first is the gap itself: 65 per cent against 44. If shipping this file were the thing that earned citations, the group being cited should be the group that ships it, and the relationship is the other way round.
The second is the median size, which cuts against the simplest dismissal of the file. Among the cited domains that do ship one, the median is over 15 KB: these are not token gestures. And six vendor files are under 2 KB, which is present and too small to be an index of anything, so the vendor number is slightly generous to the vendors.
What this does not show
This is the section that matters most, because the headline is the kind that gets quoted without it.
It does not show that llms.txt does nothing. Two populations differing on a convention is not a mechanism. We have not run an intervention, there is no before and after, and nothing here isolates the file from everything else about these sites.
The two populations are not alike, though composition turns out not to be the answer. The cited set contains youtube.com, reddit.com, forbes.com and pcmag.com, large publishers with their own publishing standards and legal review, and our first version of this section said some unknown share of the gap was that. It is not. Splitting the cited population by how often we have seen it cited, the most cited tier ships the file at 8 of 17 reachable and everything below it at 41 of 95, which is the same rate and both far under the vendors. The gap is not the big names.
Selection runs through the middle of it. The cited population is defined by our own probes, in our own markets, on our own questions. A different question set would produce a different 122.
A convention with no demonstrated consumer is hard to test. No major engine has published that it reads llms.txt. We have not observed a fetch of ours by a named AI crawler that we could attribute to the file rather than to ordinary crawling, and we are not going to claim one.
We have not measured whether shipping it changed anything for anyone. That would need the same sites before and after, with a control, which is a different study and a much slower one.
What would actually answer the question
Since we are declining to answer it, it is only fair to say what would.
The clean version is an intervention: take a set of comparable sites that do not ship the file, add it to half of them, hold the other half fixed, and watch citation rates on a frozen prompt set over a period long enough to outlast the noise this register has already measured in AI answers. That noise is large, so the period is long and the sample is not small.
The cheap version, which nobody appears to have published, is server-side: look at your own logs and see whether any named AI crawler requests /llms.txt at all, and at what rate compared with /robots.txt. That is one query against access logs and it would settle the consumer question for a single site. We would rather see ten sites publish that than see another adoption count, our own included.
Common Questions About llms.txt
What is an llms.txt file?
llms.txt is a proposed convention: a markdown file at the root of a domain that gives a language model a curated guide to the site, listing the pages that matter and what each is for. It is not a specification with a registry behind it, and no major engine has published a statement that it reads the file.
How many AI visibility vendors ship an llms.txt?
44 of the 68 vendors we could reach, out of 69 asked, measured on 14 August 2026. One returned a bot challenge, which we count separately from a missing file because a challenge is evidence about the edge rather than about whether the file exists. Six of the files that exist are under 2 KB, which is too small to index a site of any size.
Do the sites that get cited in AI answers ship an llms.txt?
Less often than the vendors do. Of 122 domains our register has recorded as cited three or more times, 112 were reachable and 49 ship one, which is 44 per cent against the vendors’ 65. That is a comparison of two populations rather than a mechanism, and the two are not alike, so it does not show the file is useless. It does show that winning citations does not require one.
Does llms.txt help with AI search visibility?
Nobody has published evidence either way that we can find, and this study does not settle it. What it rules out is the strongest version of the claim: the file cannot be necessary for citation, because most of the domains that win citations do not have one. Whether it helps at the margin would need an intervention with a control, not an adoption count.
Should I add an llms.txt to my site?
It is cheap, it is not harmful, and if your site is large and badly structured it is a reasonable thing to hand a crawler. What we would not do is buy it as a visibility product, or let it displace work on the things this register has measured actually varying with citation, which are what a page says and whether anyone else says it too. Check your own access logs first: if no AI crawler has ever asked for the file, you have learned more in one query than any adoption count can tell you.
How do I check what a domain ships?
Request /llms.txt from the domain’s own origin with a GET rather than a HEAD, and read the body before believing the status code. If it opens with an HTML document you have been handed a marketing page, not a file. If the response is 401, 403, 429 or 999 you have hit a bot challenge and learned nothing about whether a file is there.
Ask an AI about this article
Opens your assistant with this page already loaded, so you can check the numbers, argue with the method or ask what it means for you.
- ChatGPT (opens in new tab. the question is pre-filled, press enter to send it)
- Claude (opens in new tab. the question is pre-filled, press enter to send it)
- Perplexity (opens in new tab)
- Google AI Mode (opens in new tab)
Perplexity and Google answer straight away. ChatGPT and Claude fill the box and wait for you to press enter, which is their behaviour and not something we can set.