llms.txt: The Underrated File That Gets ChatGPT to Cite You, a Guide for SMBs in Eindhoven
One 2 KB text file can make the difference between being ignored and being cited by ChatGPT and Claude. What llms.txt is, how to write one, and why SMBs in Eindhoven should sort it out this month.
An AI bot lands on your homepage. What does it actually see?
GPTBot, ClaudeBot and PerplexityBot crawl your website every few days. They fetch ten, twenty pages, cram them into a context window and try to extract meaning from them. Like a person visiting your site for the first time, only with dyslexia and in two seconds.
The problem: your menu, your footer, your cookie banner and your tracking scripts are all in that HTML. What is signal? What is noise? The bot has to guess.
llms.txt solves that. It is a single Markdown file in the root of your site that literally says: “Here is who I am, here are my 8 most important pages, and here is one sentence per page on what it contains.” For an SMB site with 30 pages, readability for LLMs goes from “do I have to guess?” to “it is all laid out here”.
For business owners in Eindhoven who take GEO seriously, and the growth of AI chats from 30% of search queries to well over 40% now justifies that, this is the low-hanging fruit of 2026.
What llms.txt actually is
llms.txt is a Markdown file in the root of a website (at
/llms.txt) that summarises, specifically for Large Language Models, what the site is, which pages matter and in which context those pages should be read.
The proposal dates from September 2024 and comes from Jeremy Howard (Answer.AI). In 18 months it has grown into a de facto standard. Anthropic, Perplexity, Cloudflare, Stripe and hundreds of others publish one.
The structure is deliberately simple:
# Business name
> One-sentence summary of what you do and for whom.
Short paragraph with context: founded, location, USPs, target audience.
## Services
- [Service A](/services/a): Short explanation in one sentence.
- [Service B](/services/b): Short explanation in one sentence.
## Key content
- [Blog post X](/blog/x): What the reader learns, in one sentence.
- [Case study Y](/cases/y): What the result was, in one sentence.
## Optional
- [Terms and conditions](/terms): Legal text.
The ## Optional section is literally the signal word LLMs use to decide what they may skip when their context window is tight. Clever mechanism.
Why this is urgent right now
Three trends make this moment unique:
1. Adoption is a hockey stick. Our measurement of the Dutch top 10,000 sites: in June 2025, 4% had an llms.txt, in December 2025 11%, in June 2026 18%. That pace continues. Whoever publishes now still takes the first-mover position; whoever waits until 2027 does what everyone does.
2. AI crawlers already respect it. ClaudeBot fetches /llms.txt by default on its first visit to a new host. Perplexity uses it to improve source attribution. GPTBot fetches it (visible in server logs) even though OpenAI has not officially acknowledged it yet.
3. It works better for local businesses than for large ones. An SMB in Eindhoven has 20 to 50 pages; your whole “story” fits in an llms.txt of 3 KB. A corporate with 5,000 pages has to make choices. You don’t.
| Comparison | robots.txt | sitemap.xml | llms.txt |
|---|---|---|---|
| Audience | All crawlers | Search engines | LLMs / AI crawlers |
| Format | Plain-text rules | XML | Markdown |
| Content | What is and isn’t allowed | List of URLs | List of URLs with context |
| Required? | Recommended | Recommended | Optional, for now |
How do you write a good llms.txt? Four rules
Rule 1: Start with one sentence that sums up your business
The first blockquote (> ...) is often quoted verbatim by Claude when someone asks “What does company X do?”. So don’t write marketing copy; write the sentence you would want to hear from an AI chat.
Do: “SiteOptima is an SEO and GEO agency in Eindhoven that helps SMBs get found by Google and cited by ChatGPT, Claude and Gemini.”
Don’t: “At SiteOptima, a passion for digital visibility is at the heart of everything we do.”
Rule 2: One line per link, with a description that does work
The mistake I see in 80% of existing llms.txt files: links without a description, or descriptions that only repeat the title.
# Bad
- [Our services](/services)
# Good
- [Our services](/services): Overview of SEO audits, GEO optimisation and
Google Ads for SMBs in Brabant, with rates starting at €0.
LLMs use that description to decide whether to fetch the page at all. An empty description is a missed mention.
Rule 3: Sort by importance, not alphabetically
Put your 3 to 5 most important pages at the top. AI crawlers with a tight context window stop halfway. The page at the bottom simply doesn’t get read.
For most SMB sites, the right order is:
- Homepage or “About us”
- Most important service or product page
- Second and third service
- Case studies or testimonials
- Key blog posts
- Contact
- Everything else under
## Optional
Rule 4: Keep it under 5 KB
Above 5 KB some crawlers start truncating. Above 10 KB they sometimes ignore the file entirely. For SMBs in Eindhoven with under 50 pages, 1 to 3 KB is plenty.
llms-full.txt: when to, when not to
Alongside llms.txt there is also llms-full.txt: a much larger file with the full content of your most important pages, concatenated. Meant for documentation sites like Stripe, Anthropic or Vercel, where your entire knowledge base can be loaded into an LLM context in one go.
For 95% of SMB sites in Eindhoven this is overkill:
- It costs more maintenance (regenerate on every content change).
- It returns little if you have no technical documentation.
- It cannibalises the attention of crawlers that would otherwise fetch your regular pages.
Skip it unless you have a software product, a legal knowledge base or an extensive help centre.
The 5 most common mistakes
In the 30+ audits we did last quarter for clients in and around Eindhoven, these mistakes kept coming back:
- No llms.txt, full stop. Eindhoven businesses that actively invest in GEO but don’t have this basic file. A waste.
- An llms.txt that only copies your sitemap. A list of URLs without descriptions is worthless. Better no llms.txt than an empty one.
- An llms.txt served with the wrong Content-Type. It has to be
text/markdownortext/plain, nottext/html. Otherwise some crawlers think it’s a broken page. - Forgetting to update the llms.txt when the site changes. A dead link in your llms.txt is worse than no llms.txt; it damages trust with the LLM. Schedule a quarterly review.
- An llms.txt behind a redirect. Hosts like
www.yourbusiness.nl/llms.txtthat redirect toyourbusiness.nl/llms.txtwork in 80% of crawlers, but not all. Serve it directly on both hostnames.
Step-by-step: publish your first llms.txt today
Practical, 60 to 90 minutes of work:
Step 1 (15 min). Take stock. Make a list of your 5 to 10 most important pages: home, services, cases, contact. Write one sentence per page on what it contains.
Step 2 (20 min). Write the summary. One sentence in blockquote form. Then 2 to 3 sentences of context: founded, location, target audience, USP. Use concrete numbers where possible (“since 2018”, “100+ clients”, “Eindhoven and surroundings”).
Step 3 (15 min). Fill in the link sections. Use the template above. Most important pages at the top. Everything non-essential under ## Optional.
Step 4 (10 min). Publish. Upload the file as /llms.txt in the root of your site. For WordPress: via FTP or a file-manager plugin. For Webflow or Squarespace: via the hosting settings. Check with curl https://yoursite.nl/llms.txt that the file is reachable and that the Content-Type is text/markdown or text/plain.
Want a real example next to the template: the llms.txt of this site is live and built exactly this way.
Step 5 (15 min). Verify. Ask ChatGPT (with search enabled) and Claude: “What does [business name Eindhoven] do?”. If your summary sentence comes back verbatim, bingo. If not, wait 2 to 3 weeks and try again.
How do you know it’s working?
Three measuring points, in increasing order of effort:
Server logs. Filter on the user agents GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot. If your /llms.txt gets fetched regularly (at least weekly): it worked.
Brand-monitoring prompts. Every two weeks, ask ChatGPT, Claude and Perplexity the same set of questions: “Which X are there in Eindhoven?”, “Who is a good Y for Z?”. Keep track of whether your business is mentioned.
GEO tools. Profound, Otterly.ai and HubSpot’s AI Search Grader automatically measure how often you appear in AI answers. From €99 per month. For most SMBs, manual monitoring is enough.
In closing
llms.txt is not the holy grail of GEO; that remains a combination of quotable content, Schema.org and authority. But it is the cheapest, fastest tactic with the highest return per hour invested that you can execute today.
One morning of work. Months of effect. For SMBs in Eindhoven that still don’t show up in AI answers in 2026: do this this week.
No time or inclination to write it yourself? SiteOptima creates a tailored llms.txt for your business, including audit and publication, within 1 working day. Request a free intake →
Frequently asked questions
Do ChatGPT and Claude really read llms.txt?
Anthropic (Claude) and Perplexity have publicly confirmed that their crawlers use llms.txt. OpenAI has not confirmed it officially, but client server logs show that GPTBot does fetch the file. Google's Gemini does not use it explicitly (yet); for Gemini, Schema.org remains the main route.
How is it different from robots.txt and sitemap.xml?
robots.txt says 'are you allowed in here?'. sitemap.xml says 'here are all my URLs'. llms.txt says 'here is what my site means, in plain language'. The three complement each other; none replaces another.
How long before an llms.txt has an effect?
Expect 3 to 6 weeks. AI crawlers fetch the file within days, but mentions in answers only follow once the content has been processed into the models or the search index. Tools like ChatGPT Search and Perplexity are faster (1 to 2 weeks) than regular ChatGPT.
Should I also create an llms-full.txt?
Only if you have documentation or knowledge-base content that you want AI to load in full without crawling every page separately. For most SMB sites it is unnecessary and costs more maintenance than it returns.
Can SiteOptima write this for me?
Yes. SiteOptima generates a tailored llms.txt based on an audit of your site, within 1 working day. Part of every GEO optimisation or as a standalone job. Request a free audit at siteoptima.nl.
Ready to be found by AI?
SiteOptima helps SMBs in and around Eindhoven become visible in Google and in ChatGPT, Gemini, and Claude. Start with a free audit.
Start free audit →