An llms.txt is a plain Markdown file at the root of your site that tells AI systems what your site is and where the useful pages are. We checked 44 US small business websites in September 2026 and 10 had a usable one, about 23 percent. Adoption is real, and mostly arriving through plugins.
The convention itself is well documented. What nobody publishes is whether ordinary businesses actually have one. So we measured it.
What an llms.txt is, briefly
Proposed by Jeremy Howard, llms.txt is a machine readable summary of a site, written in Markdown, served at /llms.txt. It sits alongside robots.txt and sitemap.xml: robots.txt says what may be crawled, the sitemap says what exists, and llms.txt says what the site actually is and which pages matter.
In May 2026 Google added it to Chrome Lighthouse’s Agentic Browsing audit category, which is the closest thing it has to institutional recognition so far. It is a convention, not a standard, and no assistant has committed to obeying it.
How many small businesses actually have one
In September 2026 we took 52 US small service businesses across nine categories and nine metros, excluding directories, national chains and anything that was not the business’s own site, and checked each homepage. 44 responded.
| Result | Sites | Share |
|---|---|---|
| Usable llms.txt | 10 | 23% |
| File present but empty | 1 | 2% |
| No file at all | 33 | 75% |
Checked by automated request to each site’s root. A file was counted only if it returned 200, was served as text/plain, and contained something. No business is named.
About one small business site in four has one. That is far higher than we expected for a convention barely a year old, and the reason turns out to be interesting.
Most of it is not being written by hand
We looked at what was actually in those files. Two carried a Rank Math SEO signature. A third declared itself generated. The largest ran to 60KB and listed what appeared to be every page on the site, which is not something a small business owner sits down and types.
| Size | What it suggests |
|---|---|
| 0 bytes | An empty file. Something created the path and nothing filled it. |
| 967 bytes | Short and curated. Plausibly hand written. |
| 3,254 to 6,938 bytes | A real summary with a page list. The useful size. |
| 12,980 to 31,997 bytes | Comprehensive page dumps. Almost certainly generated. |
| 52,840 and 60,486 bytes | Whole site exports, both carrying a plugin signature. |
So the adoption number is real but it does not mean what it looks like. This is not two dozen small business owners deciding llms.txt matters. It is mostly a plugin shipping a default and adoption arriving without anyone choosing it.
This is how every one of these conventions has spread. Almost nobody hand wrote a sitemap.xml either. A plugin started generating them, adoption went from rare to normal in about two years, and at some point search engines could rely on them being there.
The thing I would take from our numbers is not “get an llms.txt.” It is that a 60KB dump of every page on a site is not a summary, and a 0 byte file is worse than nothing because it looks done. If you are going to have one, it should be the short curated kind that actually says what your business is.
How it differs from robots.txt and sitemap.xml
Three files at your root, doing three different jobs. They are constantly confused for each other.
| File | Answers | Format | Obeyed by |
|---|---|---|---|
| robots.txt | What may I fetch? | Plain text directives | Universally respected, by convention |
| sitemap.xml | What pages exist? | XML | Search engines, formally supported |
| llms.txt | What is this site, and what matters? | Markdown | No formal commitment from anyone yet |
The important row is the last one. robots.txt controls access and a sitemap enumerates pages, but neither tells a machine what your business actually is. That is the gap llms.txt is aimed at, and it is a real gap. Whether this particular file ends up filling it is not settled.
A complete example, annotated
Short, curated, and readable in about twenty seconds. This is the whole format.
# Thompson Commercial Cleaning
> Contract office cleaning for businesses across Greater
> Manchester. Operating since 2009. Out of hours teams,
> DBS checked staff, no long tie in.
## Services
- [Office cleaning](https://example.com/office-cleaning/): Nightly
and weekly contract cleaning for offices of 5 to 200 desks.
- [Pricing](https://example.com/pricing/): Rates per desk per month
and what changes them.
## Useful answers
- [How much does office cleaning cost?](https://example.com/cost/):
Real ranges with the factors that move them.
- [What happens if a clean is missed?](https://example.com/missed/):
Our make good policy in full.
## Contact
Email: hello@example.com
Phone: +44 161 000 0000The parts that carry the weight: the blockquote summary, because it is the one paragraph a machine will read if it reads nothing else, and the descriptions after each link, because a bare URL list tells a reader nothing a sitemap could not already.
If somebody who had never heard of your business read only your llms.txt, could they describe what you do, who for, and where? If not, it is a page list rather than a summary, and a page list is what your sitemap is already for.
What we found inside the files
The eleven files in our sample split into three clear groups, and the split says something about how this convention is actually spreading.
| Group | Count | Size range | Character |
|---|---|---|---|
| Plugin generated, signed | 2 | 52KB to 60KB | Whole site exports carrying an SEO plugin signature. |
| Generated, unsigned | 3 | 13KB to 32KB | Comprehensive page dumps. No human writes these. |
| Curated | 5 | 967 bytes to 6.9KB | Short, described, selective. The useful kind. |
| Empty | 1 | 0 bytes | The path exists and nothing is in it. |
Grouping is by file size and the presence of a generator signature, not by asking the businesses. Treat the boundary between the middle two groups as approximate.
So five of the eleven are almost certainly automatic, five are curated, and one is empty. For a convention this young, that is as much a plugin story as an adoption story.
The empty file is worth a moment. It returns HTTP 200 with the right content type and nothing inside. Every automated check that looks only for a successful response will record it as present. Ours did, until we found this one and tightened it.
We caught our own checker passing that empty file while writing this piece, which was a useful reminder that a check confirming a file exists is not the same as a check confirming it is any good.
That applies to the whole category. There is going to be a wave of tools scoring you on whether you have an llms.txt. Almost none of them will read what is in it. If you are going to have one, make it the short curated kind, because at some point somebody’s crawler will start reading them properly and a 60KB page dump will say nothing about your business at all.
Should you bother?
An honest answer has three parts.
- No assistant has committed to using it. Anyone telling you it definitely improves your AI visibility is ahead of the evidence.
- It costs almost nothing. A useful one is a few hundred words. The downside risk is close to zero.
- It is far down the list. In the same 44 sites, 91 percent had not one heading phrased as a question a customer would ask, and 34 percent had no structured data at all. Both matter more today and both are free to fix.
Answer-shaped headings first, structured data second, llms.txt third. Doing the third while skipping the first two is decorating a house with no front door.
What a good one looks like
Short, curated, and written for a machine that has thirty seconds. The format is Markdown at /llms.txt:
- An H1 with your business name.
- A blockquote summary of one or two sentences: what you do, who for, where.
- Sections of links under H2 headings, each link followed by a short description of what is on that page.
- Your genuinely useful pages only. Services, pricing, contact, the handful of articles worth quoting. Not every page you have ever published.
Ours is at pleasementionme.com/llms.txt if you want to see a short one. It is deliberately not a site dump.
Common questions
What is an llms.txt file?
A Markdown file at the root of a website that tells AI systems what the site is and which pages matter. It complements robots.txt and sitemap.xml rather than replacing either.
Do AI assistants actually read llms.txt?
No assistant has publicly committed to it. Google added it to Lighthouse’s Agentic Browsing audit in May 2026, which is recognition of the idea rather than a promise to obey it. Treat it as cheap insurance, not a lever.
Where does llms.txt go?
The root of your domain, at /llms.txt, served as text/plain. Same place as robots.txt.
Is llms.txt the same as robots.txt?
No. robots.txt controls access, saying which crawlers may fetch what. llms.txt provides meaning, describing what the site is and where the useful content lives. One is permission, the other is orientation.
How big should an llms.txt be?
Small. A few hundred words to a few kilobytes. The point is a curated summary. The 50KB whole site exports we found in our sample are technically valid and defeat the purpose.
Find out where you actually stand
Our free checker scores your homepage on nine things, llms.txt among them, so you can see which of the higher priority items you are failing first. Ten seconds, no email.
