robots.txt & llms.txt across the Tranco top 1M
Data as of 2026-08-02 · robots.txt via Common Crawl CC-MAIN-2026-30 + our polite crawl · llms.txt via our polite crawl · Tranco list L5684 (2026-07-14) · 1,000,000 panel domains · crawls: 2026-09-07 · 2026-08-02 · 2026-07-25 · 2026-07-17 1,000,000 robots.txt fetches · 608,834 parsed · 55,770 llms.txt probes

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.

adoption among live top-500k sites
11.7%
balanced panel · live-count-weighted across 10 bands
adoption among measured domains
8.0%
live + dead + other · 403 opt-outs excluded
top-50k census: adoption of live
10.7%
reported separately; never pooled at 10× weight
conformant of published
96.6%
3,435 of 3,556 genuine files

Balanced panel: 50,000 selected domains (5,000 from each equal 50k band), 30,386 live. The separate top-50k census improves Explorer coverage but is down-sampled for the representative top-500k estimate.

Adoption ≠ consumption. Report adoption + conformance, never impact:
  • 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.

llms.txt adoption and liveness by 50k rank band
data table
BandTranco ranksselectedlive livenessadoption of liveconformant of published
D1 1–50,000 5,000 2,858 64.9% 11.3% 94.4%
D10 450,001–500,000 5,000 3,139 71.3% 11.6% 98.1%
D2 50,001–100,000 5,000 3,112 71.7% 9.2% 95.8%
D3 100,001–150,000 5,000 2,872 64.8% 11.6% 95.2%
D4 150,001–200,000 5,000 3,112 69.7% 12.2% 97.1%
D5 200,001–250,000 5,000 3,014 68.1% 10.7% 96.9%
D6 250,001–300,000 5,000 2,838 63.8% 14.0% 96.2%
D7 300,001–350,000 5,000 3,076 68.4% 11.8% 97.0%
D8 350,001–400,000 5,000 3,163 69.4% 13.7% 97.2%
D9 400,001–450,000 5,000 3,202 71.3% 11.1% 97.5%

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 12.3% 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.

Genuine files vs non-files by variant (counts, not rates)
data table
variant200sgenuinenot a fileprobed when
/ai.txt10,032 5079,525 every live domain; recorded only if no conformant llms.txt won
/llms.txt6,455 6,247208 every live domain
/llms-ctx-full.txt26 620 only when /llms.txt was a non-conformant 200
/llms-ctx.txt11 011 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,247 genuine files, 44.3% carry a detectable generator signature — our own measurement of the CMS/plugin-driven nature of adoption (RQ-4). Bars colored by conformance rate.

Generator market share (genuine files)
data table
generatorfilesconformant
(none detected)3,481 93.8%
Shopify1,444 99.5%
Yoast SEO516 98.8%
WordPress276 96.4%
All in One SEO217 99.1%
Rank Math129 99.2%
HubSpot76 92.1%
Ghost51 90.2%
Blogger18 100.0%
Wix15 100.0%
Webflow10 70.0%
Magento5 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, 22.2% (1,388 of 6,247) 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.

llms.txt publishers naming an AI crawler
data table

1,388 of 6,247 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).

Top section titles
data table
section titlefiles
platform1,342
read-only browsing (no authentication required)1,267
commerce protocol (ucp)1,263
for personal shopping assistants and agents acting on behalf of a user1,262
optional1,233
store policies1,225
pages789
posts607
categories513
sitemaps385
products380
resources365
company340
tags300
contact271
about253
blog200
headings structure:200
main content:200
pricing191

Normalized (lower-cased) H2 titles across genuine llms.txt files.

Is llms-full.txt any different from llms.txt?

This crawl promotes /llms-full.txt from a supplement (probed only when /llms.txt was a non-conformant 200) to an independently probed path — requested on every live cohort domain regardless of the /llms.txt outcome (FR-18d). It is therefore the one non-base variant with a real denominator, and the only one we express as a rate.

/llms-full.txt adoption
4.2%
2,355 genuine of 55,635 probed
200s that aren't files
80.7%
of the 12,210 apparent 200s
conformant of genuine
76.7%
1,806 files

read these together The not-a-file rate is the story, not a footnote. This path returns 200 for 12,210 domains but only 2,355 are real files — 80.7% return something else for a missing path (a web page, a robots.txt, a stub). Compare /llms.txt, where the rate is far lower. Quoting the raw 200 count as adoption would overstate this path by roughly 5.2x.

Is the full dump maintained alongside the index?

This is the question independent probing exists to answer: both lanes now cover the same domains, so the breakdown is measurable for the first time.

publishesdomainsshare of full-file publishers
both /llms.txt + /llms-full.txt 1,845 78.3%
/llms-full.txt only — no base index 512 21.7%
/llms.txt only — no full dump 4,402

Of 6,247 /llms.txt publishers, only 29.5% also serve a full-context dump — so the dump is the exception, not the norm, even among sites that have adopted the convention.

An interesting insight: one platform dominates this path

insight Shopify accounts for 1,350 of the 2,355 genuine /llms-full.txt files (57.3%). That is a far higher single-vendor concentration than the base /llms.txt corpus shows, where no generator exceeds ~17%. Read carefully: it means this path's adoption curve is substantially one platform's default output rather than 2,355 independent decisions — the same passive-CMS-default dynamic the HTTP Almanac found for llms.txt (39.6% All in One SEO), but more concentrated.

One thing this does not say: Shopify is not the explanation for the 512 full-only domains. Its files overwhelmingly sit on domains that publish a base /llms.txt as well — the platform emits both files, not the dump alone, which is why it shows up in the both row above rather than the full-only row. The full-only group is instead dominated by files with no detectable generator, which we can count but not attribute.

An interesting insight: for most publishers, the “full” file isn’t fuller

The 1,845 domains publishing both files let us ask something the tiered crawl never could: is /llms-full.txt actually a fuller document, or the same content at a second path? Compared per domain on size and link count.

full vs base filedomainsshare of pairs
mirror — within ±5% size and identical link count 1,295 70.2%
genuinely fuller — >5% larger 503 27.3%
smaller than the base file 39 2.1%

insight 70.2% of both-lane publishers serve a /llms-full.txt that mirrors their /llms.txt rather than expanding on it. We verified this against live files rather than inferring it from sizes: those pairs differ by exactly the filename, in a line that says so — “you’re reading /llms.txt, which mirrors that content” — and 33 serve the two paths byte-for-byte identical. So the file documents its own duplication.

Read the aggregate with its concentration. “70.2% are mirrors” is really “one platform’s output is a mirror, and that platform dominates this lane”: Shopify accounts for 1,341 of the 1,845 pairs and 94.6% of its pairs are mirrors. Outside it the pattern largely disappears. The table below is the honest form of the finding; the single lane-wide percentage is not.

generator (full file)pairsmirrorsmirror rate
Shopify1,341 1,26894.6%
(none detected)353 185.1%
WordPress80 78.8%
Ghost29 13.4%
HubSpot11 19.1%
Blogger9 00.0%
Squarespace8 00.0%
Yoast SEO4 00.0%
Webflow4 00.0%
All in One SEO4 00.0%
Magento2 00.0%

What this does not establish: we detect the generator from a signature the file itself carries, and we checked a handful of these against their live files, not all 1,341. The (none detected) row is counted but not attributable — those files carry no generator signature, so we can report their mirror rate and nothing about who produced them.

Which sites publish the best llms.txt files?

Largest genuine files (by lines)

searchengineland.com 20,165 lines
3qsdn.com 15,882 lines
huayi-group.com 15,599 lines
mailchimp.com 13,893 lines
ucsf.edu 13,271 lines
niliplus.com 12,924 lines
beihaicomposite.com 12,250 lines
rollbar.com 11,653 lines
lent.az 11,534 lines
alab.pl 11,506 lines
iear.nl 10,797 lines
traidmod.com 10,685 lines

Most links

ucsf.edu 10,981 links
traidmod.com 10,667 links
vdu.lt 7,673 links
fivetran.com 7,561 links
steuertipps.de 7,257 links
archisevilla.org 7,127 links
gomining.com 6,348 links
esmadrid.com 6,292 links
creativepro.com 6,260 links
kauveryhospital.com 6,024 links
educapeques.com 5,092 links
searchengineland.com 5,031 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.

bit.ly
typeform.com
alphapolis.co.jp
av380.net
useinsider.com
kochava.com
yumpu.com
zimperium.com
savefrom.net
impact.com
kijiji.ca
github.blog