Has anyone actually adopted llms.txt?
llms.txt is an emerging, non-IETF convention (proposed by Jeremy Howard, 2024): a markdown file at /llms.txt describing a site for LLMs. We measure how many sites publish one and whether it conforms to the llmstxt.org structure.
Balanced panel: 50,000 selected domains (5,000 from each equal 50k band), 28,783 live. The separate top-50k census improves Explorer coverage but is down-sampled for the representative top-500k estimate.
- Ahrefs (137K sites): ~28% publish, but ~97% are never read; of the read 3%, 96% of requests were bots. AI bots don't probe for missing llms.txt.
- SE Ranking (300K domains): no measurable AI-citation lift.
- Google's John Mueller calls it a "temporary crutch"; OpenAI/Anthropic steer owners to robots.txt.
- HTTP Almanac 2025: of 324,184 valid files, ~39.6% were generated by the All in One SEO WordPress plugin — adoption is largely passive CMS-plugin default, not strategy.
Do popular sites adopt llms.txt more than smaller ones?
Band 1 = ranks 1–50,000; band 10 = ranks 450,001–500,000. Each point uses the balanced 5,000-domain draw for that band. Adoption is conditioned on a strict-200 live homepage; liveness is shown beside it so the changing denominator is visible.
data table
| Band | Tranco ranks | selected | live | liveness | adoption of live | conformant of published |
|---|---|---|---|---|---|---|
| D1 | 1–50,000 | 5,000 | 2,850 | 64.5% | 12.0% | 87.5% |
| D10 | 450,001–500,000 | 5,000 | 2,989 | 67.7% | 8.8% | 89.8% |
| D2 | 50,001–100,000 | 5,000 | 3,072 | 70.4% | 9.3% | 87.5% |
| D3 | 100,001–150,000 | 5,000 | 1,908 | 41.3% | 12.2% | 87.1% |
| D4 | 150,001–200,000 | 5,000 | 3,061 | 68.4% | 13.3% | 90.7% |
| D5 | 200,001–250,000 | 5,000 | 3,004 | 67.7% | 11.7% | 89.8% |
| D6 | 250,001–300,000 | 5,000 | 2,730 | 61.5% | 11.3% | 89.9% |
| D7 | 300,001–350,000 | 5,000 | 3,004 | 66.5% | 10.7% | 91.6% |
| D8 | 350,001–400,000 | 5,000 | 2,980 | 65.5% | 9.0% | 87.0% |
| D9 | 400,001–450,000 | 5,000 | 3,185 | 70.8% | 11.0% | 93.1% |
Blue = genuine /llms.txt adoption among live sites. Amber = share of measured, non-opt-out domains that were live. Each band contributes an equal 5,000-domain sample.
All ten top-500k bands are represented. D1 also has a separate full census, but only its random 5,000-domain draw enters this chart and the balanced headline. See the sampling and liveness methodology.
How many llms.txt files are really files?
Many origins answer a missing /llms.txt or /ai.txt with 200 anyway — their homepage HTML, their robots.txt, an error string, or a bare OK. We count a file only when the body actually contains a document (see how presence is decided). Raw-200 adoption would be 29.5% in the observed crawl corpus — but that diagnostic pool includes the oversized top-50k census and is not a representative prevalence estimate.
~97% of apparent /ai.txt "adoption" is not a real file. Separating the two is itself a finding.
caveat These are counts, not adoption rates — each variant has a different denominator. This crawl probes tiered and stores one row per domain (the winning variant), so a variant's count is only over the domains where that path was actually probed and won: /llms.txt is probed on every live domain; the supplements (/llms-full.txt, /llms-ctx.txt, /llms-ctx-full.txt) are probed only when /llms.txt returned 200 but was non-conformant; and /ai.txt is probed on every live domain but only recorded when no conformant llms.txt variant was found first. A site that publishes a good /llms.txt and a /llms-full.txt is invisible in the supplement rows. Per-variant denominators need a re-crawl that records every variant independently; until then, do not divide these counts by the probe total.
data table
| variant | 200s | genuine | not a file | probed when |
|---|---|---|---|---|
| /ai.txt | 9,706 | 328 | 9,378 | every live domain; recorded only if no conformant llms.txt won |
| /llms.txt | 5,717 | 5,656 | 61 | every live domain |
| /llms-full.txt | 62 | 20 | 42 | legacy: only when /llms.txt was a non-conformant 200 (pre-FR-18d tiered probe) |
| /llms-ctx-full.txt | 40 | 3 | 37 | only when /llms.txt was a non-conformant 200 |
| /llms-ctx.txt | 14 | 0 | 14 | only when /llms.txt was a non-conformant 200 |
Solid = genuine (a 200 whose body is a real document); red = a 200 that is not a file (HTML page, robots.txt, stub or error string). Denominators differ per variant — see the caveat above.
Who generates llms.txt?
Of 6,007 genuine files, 38.2% carry a detectable generator signature — our own measurement of the CMS/plugin-driven nature of adoption (RQ-4). Bars colored by conformance rate.
data table
| generator | files | conformant |
|---|---|---|
| (none detected) | 3,710 | 82.9% |
| Shopify | 923 | 99.1% |
| Yoast SEO | 488 | 99.2% |
| WordPress | 284 | 93.7% |
| All in One SEO | 234 | 99.1% |
| Rank Math | 131 | 100.0% |
| Wix | 76 | 100.0% |
| HubSpot | 68 | 91.2% |
| Ghost | 52 | 92.3% |
| Blogger | 19 | 100.0% |
| Webflow | 9 | 77.8% |
| Squarespace | 4 | 100.0% |
Generator-produced files are near-universally spec-conformant; hand-rolled ones less so.
Do sites that publish llms.txt also block AI crawlers?
Of genuine llms.txt publishers, 18.2% (1,091 of 6,007) also name at least one AI crawler in robots.txt — publishing a welcome mat for LLMs while addressing their crawlers directly.
caveat Naming ≠ blocking. A named crawler could be an Allow or a Disallow — this v1 measures naming only. The rigorous allow/block verdict split (the Mixed Signals quadrant) lands with per-bot verdicts in a later crawl.
data table
1,091 of 6,007 genuine publishers name ≥1 AI crawler in robots.txt.
Names an AI crawler in robots.txt (allow OR block undetermined) vs no AI crawler named.
What sections does an llms.txt actually contain?
The most common H2 section titles across the genuine corpus — the de-facto schema sites are converging on (no spec mandates these).
data table
| section title | files |
|---|---|
| optional | 1,128 |
| platform | 832 |
| pages | 770 |
| read-only browsing (no authentication required) | 764 |
| for personal shopping assistants and agents acting on behalf of a user | 761 |
| commerce protocol (ucp) | 761 |
| store policies | 736 |
| posts | 617 |
| categories | 502 |
| sitemaps | 395 |
| resources | 351 |
| products | 334 |
| company | 316 |
| tags | 300 |
| contact | 267 |
| about | 241 |
| pricing | 189 |
| blog | 187 |
| solutions | 164 |
| use cases | 148 |
Normalized (lower-cased) H2 titles across genuine llms.txt files.
Is llms-full.txt any different from llms.txt?
not measured /llms-full.txt was not independently probed in this crawl, so it has no denominator and no rate. Earlier crawls requested it only as a supplement to a non-conformant /llms.txt; see the variant-denominator caveat above.
Which sites publish the best llms.txt files?
Largest genuine files (by lines)
| cashfree.com | 23,230 lines |
| searchengineland.com | 19,835 lines |
| constructionexec.com | 18,690 lines |
| st-andrews.ac.uk | 17,623 lines |
| 3qsdn.com | 15,882 lines |
| huayi-group.com | 15,526 lines |
| mailchimp.com | 13,893 lines |
| ucsf.edu | 13,271 lines |
| niliplus.com | 12,924 lines |
| beihaicomposite.com | 12,237 lines |
| lent.az | 11,694 lines |
| rollbar.com | 11,653 lines |
Most links
| ucsf.edu | 10,981 links |
| traidmod.com | 10,666 links |
| practicetestgeeks.com | 10,524 links |
| vdu.lt | 7,667 links |
| fivetran.com | 7,521 links |
| starcasino.nl | 7,333 links |
| steuertipps.de | 7,272 links |
| archisevilla.org | 7,126 links |
| nykaa.com | 6,774 links |
| gomining.com | 6,486 links |
| creativepro.com | 6,257 links |
| kauveryhospital.com | 5,976 links |
200s that aren't a /llms.txt
200 on the canonical path, but the body isn't a file — a web page, a robots.txt, or a stub. Not counted as adoption.
| yumpu.com |
| zimperium.com |
| searchenginejournal.com |
| github.blog |
| lidl.com |
| otempo.com.br |
| namirial.it |
| bucetaflix.com |
| xtremepush.com |
| transparency.org |
| appcues.com |
| colgate.com |