What is llms.txt
llms.txt is a plain text file at the root of your domain (typically yoursite.com/llms.txt) that gives AI search engines and language models a clear map of what matters most on your site — who you are, what you do and where they should look. It is Markdown, so it is easy to read for both a human and a machine.
The standard was proposed by Jeremy Howard in 2025, and the idea is simple: models like ChatGPT, Claude or Perplexity have a limited context window and do not want to wade through an entire site full of navigation, footers and scripts. llms.txt hands them the essence on a silver platter.
Why you should care
Search is shifting. More and more people ask ChatGPT or Perplexity directly instead of Google — and those tools answer by pulling in and citing sources. Make it easy for them to find their bearings and you raise the odds they cite you.
And above all: almost nobody has it yet. That is exactly the kind of cheap, fast advantage that creates an edge today. Within a year it will probably be a standard — right now it is still a competitive edge.
llms.txt vs robots.txt — how they differ
People mix them up, but they do opposite things:
- robots.txt tells crawlers where they may and may not go. It is about access.
- llms.txt tells models what to understand and what matters. It is about comprehension.
One can exist without the other, but together they give AI a clear signal: you may come here, and this is what is important.
What llms.txt looks like
It is ordinary Markdown. A minimal version looks like this:
# Jan Vodvarka — Webflow developer & designer
> Webflow Premium Partner based in the Czech Republic. I build fast, AI-ready sites with GSAP animations.
## Key pages
- [Services](https://www.janvodvarka.cz/en): what I offer and for how much
- [Portfolio](https://www.janvodvarka.cz/en): real projects
- [Blog](https://www.janvodvarka.cz/en/blog): guides to Webflow, SEO and GEO
- [Contact](https://www.janvodvarka.cz/en): no-obligation enquiryA heading with who you are up top, a one-line description below it (that > block), and then links to what is most important — each with a short explanation of what is behind it. Nothing more is needed.
How to add llms.txt to Webflow
And here is the catch: Webflow will not let you upload an arbitrary file to the root of your domain. You cannot just drop llms.txt next to the index. So we go through a layer in front of Webflow:
- Cloudflare Worker (my recommendation): Route your domain through Cloudflare and the Worker intercepts the request to
/llms.txtand returns your text with aContent-Type: text/plainheader. The rest of the site runs unchanged on Webflow. This is the cleanest path and gives you full control. - Reverse proxy: If you already have a proxy in front of the site, add a rule that serves
/llms.txtfrom a static file.
Watch out for one thing: the file must be returned as plain text (text/plain), not as an HTML page. A Webflow “page” with the content would come back as text/html, and that is not it.
Bonus: llms-full.txt
Besides llms.txt (a map of links) there is also llms-full.txt — a full version with the entire key content right there in Markdown, so the model does not have to click anywhere. For a smaller site it is overkill, but for documentation or a knowledge base it makes sense.
Common mistakes
- The file returns as HTML instead of
text/plain. - Links are not absolute (they must be full URLs
https://…, not/blog). - You cram everything in — the point is to pick what is essential, not copy the whole sitemap.
- You forget to update it when important pages get added.
Is it worth it?
For me, definitely. It is half an hour of work, zero risk, and you get an extra signal exactly where search is heading. It will not guarantee ChatGPT starts citing you overnight — but it is one of those small steps that together decide whether AI sees you or not.
If you want a site that is ready for AI search — from llms.txt through schema to content structure — get in touch. I will tell you what actually makes sense for your project.

