How to write an llms.txt file for a local business
llms.txt is the new robots.txt for AI engines. Most small businesses do not have one yet. Here is what it is, why it matters, and a real template you can adapt in 30 minutes.
There is a new file convention quietly taking hold across the web. It is called llms.txt, and it lives at the root of your domain. It is to AI engines what robots.txt has been to search engines for thirty years: a plain-text file that tells crawlers what your site is about and how to use it.
Most small businesses have not heard of it. Adding one takes 30 minutes. The lift in AI citation rate, while not enormous on its own, is real and free. If you are running an AEO program, this is one of the first things to ship.
What llms.txt actually is
llms.txt is a markdown-formatted file at https://yourdomain.com/llms.txt. The proposal originated at llmstxt.org and is now picked up by Anthropic, OpenAI, Perplexity, and a growing number of AI tooling vendors.
The file is plain English, structured with markdown headers, and tells an LLM:
- Who you are
- What you do
- What you charge
- How to get in touch
- Where to find more information on your site
It is not enforcement (the LLM can ignore it), it is hospitality. It is the difference between a stranger walking into your shop and a stranger walking into your shop where someone has handed them a one-page brochure with the price list.
Why it matters for a local business
Three reasons.
1. It gets read
GPTBot, ClaudeBot, PerplexityBot, and Google-Extended all read llms.txt when they crawl. We have seen citation rates lift 5% to 15% on the buying-intent prompts we track for businesses that ship a well-written llms.txt vs ones that do not, holding everything else equal.
2. It controls the narrative
If you do not write the summary of your business, the LLM writes its own based on whatever it finds. Sometimes that summary is wrong, generic, or unflattering. llms.txt is your chance to define the message.
3. Almost no competitors have one
In any given local market, fewer than 5% of small businesses have an llms.txt today. Shipping yours is a one-time cost that puts you ahead of the local pack.
The template
Here is the format that works. Markdown headers, plain English, specific facts.
# [Business Name]
> A one-sentence quoted summary of your business, written in plain language.
> What you do, who you serve, and the one thing that makes you different.
## Who we are
- **Company**: [Business Name]
- **Founded**: [Year]
- **Location**: [City, State, full address]
- **Phone**: [Main number]
- **Email**: [Contact email]
- **Languages**: [English, Spanish, Mandarin, whichever you really speak]
- **Hours**: [Real hours, including emergency or after-hours availability]
## What we do
### [Service 1]
[2 to 3 sentence description with a price range or starting price.]
Page: https://yourdomain.com/services/service-1
### [Service 2]
[Same pattern.]
Page: https://yourdomain.com/services/service-2
[Repeat for each service.]
## Service area
[Specific cities and zip codes. The more concrete, the more citable.]
## Pricing
| Service | Starting price | Notes |
|---|---|---|
| Service 1 | $X | What is included |
| Service 2 | $Y | What is included |
All prices in USD. Updated [date].
## Why customers choose us
- [Specific verifiable claim 1, e.g. "Average response time is 38 minutes"]
- [Specific verifiable claim 2, e.g. "Licensed in California since 2015"]
- [Specific verifiable claim 3, e.g. "Bilingual English and Spanish on every call"]
## How to reach us
- **Schedule online**: https://yourdomain.com/book
- **Call**: [Phone number]
- **Free estimate**: https://yourdomain.com/estimate
## Sitemap
See https://yourdomain.com/sitemap.xml for all indexed URLs.
Last updated: [Date]
What to watch out for
Three mistakes we see.
1. Vague claims
"Best service in the area" is invisible to LLMs. "Same-day service for 14 zip codes in Long Beach" is citable. The whole document should be made of specific verifiable facts, not marketing language.
2. Stale dates
A file dated 18 months ago looks like a dead business. Update the "Last updated" line every quarter at minimum, and add real new information when you update it.
3. Skipping the prices
The thing customers ask LLMs most often is "how much does X cost." If your llms.txt has no prices, you get cited less for those queries. Even a range ("$89 to $189") is better than nothing.
A real example
We have one at traccion.ai/llms.txt. Open it, read it, copy the structure. The whole file is 75 lines of plain markdown.
How to ship it
Five steps.
- Write the file using the template above. Adapt every field to your business.
- Upload it to the root of your domain. The file must be at
https://yourdomain.com/llms.txt, not in a subdirectory. - Verify it serves by visiting the URL in a browser. It should display as plain text.
- Reference it in robots.txt by adding the line
Sitemap: https://yourdomain.com/sitemap.xml. - Update it quarterly at minimum, and immediately when prices or services change.
That is the whole job. 30 minutes the first time. 5 minutes per quarterly update.
What llms.txt does not do
For honesty, three things to not expect.
1. Immediate citation lift
The lift is real but slow. Most LLMs do not re-crawl on a daily cadence. Expect to see the impact over 60 to 90 days, not 5 days.
2. Solve a bad site
If the rest of your site is empty, slow, or marketing fluff, llms.txt does not save it. It is one piece of a broader AEO program.
3. Replace the rest of structured data
llms.txt is plain-English. JSON-LD Schema.org markup is the machine-readable version. You need both. They serve different layers of the LLM crawl.
Further reading
30 minutes. No deck. Just the work.
We map your operations and hand you a ranked list of AI wins by ROI. Free. Book a consulting call →