llms.txt in 2026: What It Is, How to Add It Everywhere, and Whether It Actually Works
What llms.txt is, how to add it on WordPress, static sites, Shopify and every website builder, and the honest 2026 data on whether any AI actually reads it.

llms.txt is a Markdown file at your site root that hands an AI a curated reading list of your best pages. It is trivial to add, and now native in Yoast, Rank Math and Webflow. But the honest data is sobering: in a 137,000-site study, 97% of llms.txt files got zero bot requests in a month, and Google says it ignores the file. Add it if it is free in your stack, expect nothing, and keep your real pages crawlable.
On this page
- TL;DR
- What is llms.txt?
- llms.txt vs llms-full.txt, robots.txt and sitemap.xml
- What does a good llms.txt look like?
- Does llms.txt actually work?
- So who should actually add it?
- How to add llms.txt on WordPress
- How to add llms.txt on a static site
- How to add llms.txt on Shopify, Wix, Squarespace and Webflow
- How to check if anything reads yours
- One warning: llms.txt is not a block list
- Keep it fresh, or it turns into a liability
- The verdict: should you add it in 2026?
- Final take
- Common questions
Add one small file to your website, and AI tools will finally understand you and start recommending your business.
That is the pitch behind llms.txt. Right now it is everywhere.
There is just one problem with it.
Almost nothing reads the file.
Not ChatGPT, not Perplexity, not Google. The data on this is not close, and I will show it to you in a minute.
But here is what the doom takes get wrong too. llms.txt is not useless. It is just useful for a very different reason than the one you were sold.
So let me give you the honest, complete picture. What the file actually is, how to add it on WordPress, static sites, Shopify and every locked-down builder, and exactly who is, and is not, reading it. I run it on the sites I build, and every number below is linked to its source.
Let's start with what it even is.
What is llms.txt?
It is a plain Markdown file that lives at the root of your site, at yoursite.com/llms.txt.
Its whole job is to hand a large language model a short, curated map of your site. Your best pages, in the order you want them read, each with a one-line note.
Jeremy Howard of Answer.AI proposed it on 3 September 2024. The spec lives at llmstxt.org.
The problem it targets is real. A model has a limited context window, so it cannot hold your whole site at once. And your live pages are buried under navigation, scripts and cookie banners that burn tokens before the model reaches a single useful line.
llms.txt is the shortcut. Instead of making a model crawl and clean all that, you hand it the good pages, ready to read.
There is a cost angle too. HTML is expensive to read. Markdown is a fraction of the size. Mintlify measured up to a tenfold drop in tokens from serving Markdown instead of rendered HTML. So even when a model can read your page, a clean file is cheaper.

The format could not be simpler, and only one part is required:
- One
# H1with the site name. The only mandatory element. - A
> blockquotesummary right below it. ## Sectionheadings with links, each written as[Page](url): a short note.- An
## Optionalsection for links a model can skip when it is low on budget.
That is the entire standard. If you can write a README, you can write an llms.txt.
Now, one thing to get straight, because every recycled guide gets it wrong. llms.txt is not "robots.txt for AI". robots.txt controls access. llms.txt only suggests what to read. Mix them up and you will expect the wrong things from it.
Its status matters as well. It is a proposal, not a ratified standard, and no major AI company has committed to reading it. What it got instead was a head start in developer tooling. Mintlify began generating it for every docs site it hosts in late 2024, which is how Anthropic and Stripe had one almost overnight. Remember that head start. It tells you who the file really serves.
llms.txt vs llms-full.txt, robots.txt and sitemap.xml
The names look alike, so people assume these files compete. They do not.
They answer four different questions, and a healthy site runs all four.

- robots.txt: a permission gate. Which paths bots may crawl. A web standard since 1994.
- sitemap.xml: a discovery map. Every URL on the site, so search engines find them all.
- llms.txt: curation. A short, hand-picked list of what an AI should read first.
- llms-full.txt: the full text. Your actual content dumped into one Markdown file, so a model reads everything without crawling.
That last file is the sleeper. Mintlify says it built llms-full.txt with Anthropic, and that agents fetch the full file roughly twice as often as the short index.
In other words, if any file here is doing real work, it is the big one, not the tidy index everyone writes about.
What does a good llms.txt look like?
The whole value of the file is that a person chose what mattered. List everything, and you have just built a worse sitemap.
A good one is short. Best pages first, honest headings, a real note on every link. Ten to forty links, not four hundred.
Here is the shape to aim for:
# Acme Analytics
> Privacy-first web analytics. Self-hostable, no cookies, GDPR-ready.
## Start here
- [What is Acme](https://acme.com/docs/intro): the 2-minute overview.
- [Quickstart](https://acme.com/docs/quickstart): install and see data in 5 minutes.
## Guides
- [Tracking events](https://acme.com/docs/events): custom events and goals.
- [Self-hosting](https://acme.com/docs/self-host): run Acme on your own server.
## Optional
- [Changelog](https://acme.com/changelog): release history.
- [Pricing](https://acme.com/pricing): plans and limits.A few rules keep it honest.
Write a real note on every link. "Quickstart: install and see data in 5 minutes" beats a bare "Quickstart" every time.
Push utility pages like pricing and the changelog under ## Optional.
And avoid these three: no tag pages, pagination or thin archives, because that is the sitemap's job. No keyword stuffing in the notes, because a model reads them like a person and the padding wastes the tokens you were trying to save. And never paste full article content into llms.txt itself. That is what llms-full.txt is for.
Does llms.txt actually work?
Here is where I have to break from the marketing.
The idea is sound. The evidence that it does anything for AI visibility is not. It is not even close.

Start with the biggest study. In June 2026, Ahrefs looked at 137,210 domains. About 28% had a valid llms.txt.
97% of those files got zero requests in a month.
Zero. And of the fetches that did happen, most were bots, and a big share were audit tools checking the file exists.
Sit with that for a second. A good chunk of the "traffic" your llms.txt gets is SEO tools crawling to confirm you added the file they told you to add.
The independent logs say the same. Flavio Longato checked 6,122 Adobe sites: only 1.1% of llms.txt requests came from real AI systems. Googlebot was the top requester. Claude hit it ten times in a month. Perplexity, five. Semrush ran a three-month test and logged zero visits from GPTBot, PerplexityBot, ClaudeBot or Google-Extended.
The adoption numbers keep climbing, mind you. 951 domains in mid-2025, roughly 10% by late 2025, 28% by mid-2026. But publishing and reading are moving in opposite directions. More people add the file every month. The crawlers still ignore it.
And Google could not be blunter. In April 2025, John Mueller compared llms.txt to the keywords meta tag, the dead 1990s tag that let any site claim anything about itself. His words: "none of the AI services have said they're using LLMs.TXT (and you can tell when you look at your server logs that they don't even check for it)." By mid-2026 it was in Google's own docs: you do not need any AI text file to appear in Search, because Search does not use them.
So is it a scam?
No. And this is the bit the critics miss.
Developer tools read it. Point Cursor or Claude Code at a docs site, and they pull the listed pages to ground their answers. That is real, and it is happening today. It is also why nearly every site that ships llms.txt is a developer or API company: Anthropic, Stripe, Vercel, Cloudflare, Supabase, Zapier. Look at who actually uses it, and it tells you who it is for.
There is one honest counter-story. A developer submitted an llms.txt to Search Console and was cited as Google's top AI Mode source three days later. But that was one site, four queries, eighteen days, and he says so himself. One anecdote against several large studies is a thing to watch, not a plan.
The one-line verdict
llms.txt is real infrastructure for documentation and coding agents, and theatre for general AI search. If it is free in your stack, add it and expect nothing. Do not treat it as a ranking signal, and never let it replace pages an AI can already read.
So who should actually add it?
The blanket "everyone should" is wrong. The real answer depends on your site.
Run developer docs, an API or a SaaS tool? Add it. Coding agents genuinely read it, it cuts the tokens they spend on your docs, and your peers already ship it. This is the group the file was built for.
Run a local business, a store, an affiliate site or a general blog? It does close to nothing for you today. No AI-search crawler reliably fetches it, and Google ignores it. Your time is better spent on pages worth citing, which is what actually lands you in ChatGPT and Perplexity answers and Google's AI Overviews.
Quick test if you are unsure. Look at the sites ranking around you. Dentists, plumbers, boutiques, bloggers? None of them are winning on an llms.txt, and neither will you. API companies and dev tools? Then you are in the camp where it is worth doing, and doing well.
One more thing, though. If the file is a free checkbox in your stack, just tick it. It costs nothing, it cannot hurt, and the day a vendor starts reading it, you are ready. Free effort, yes. A paid app or a hacky workaround, no.
Here is how to add it, wherever you are.

How to add llms.txt on WordPress
Easiest case by far. No code.
The dedicated pick is the Website LLMs.txt plugin by Ryan Howard, on version 8.5.1 with 40,000-plus installs when I checked, and it plays nicely with Yoast, Rank Math, SEOPress and AIOSEO. I installed it on a clean WordPress to show the flow.

Install the plugin
In the WordPress admin, go to Plugins, Add New, and search for "Website LLMs.txt". Install and activate it. A new "Llms.txt" item appears in the admin menu.
Choose what goes in the file
Open the plugin settings. Pick which post types to include, set a maximum number of posts per type, and a word limit. Leave "detailed content" off for a link index rather than a full-text dump.
Generate and check it
Click "Generate now". The plugin writes the file and shows the live URL. Open yoursite.com/llms.txt and confirm it lists the right pages under clean headings.
Do not want another plugin? You probably already have this. Yoast added an llms.txt generator in version 25.3, free and auto-refreshed. Rank Math has one in its free version too, and it caps at 100 posts by default, while AIOSEO generates both files with it on out of the box.
One honest catch from that settings screen: the plugin only includes what you tell it to, and it drifts as your content grows.
How to add llms.txt on a static site
This is where I spend most of my time, so let me show it from the code, not a plugin page.
Next.js, Astro, Hugo, none of them ship this natively. Two clean options: hand-write a file into your public folder, or generate it at build time so it never goes stale.
Generate it. A build script that reads your content and writes the file means llms.txt can never quietly rot. The shape is this simple:
// Runs during the build, after content is read from disk.
// Assemble a curated index: H1, a summary, then one section per content type.
let out = `# ${siteName}\n\n> ${siteDescription}\n\n`
out += `## Services\n\n`
for (const s of services) out += `- [${s.title}](${s.url}): ${s.summary}\n`
out += `\n## Insights\n\n`
for (const post of posts) out += `- [${post.title}](${post.url}): ${post.description}\n`
await fs.writeFile('out/llms.txt', out)The point of generating it is that it cannot lie. Every build rebuilds it from live content. A new page ships, it appears. An old page dies, it vanishes. A hand-written file is a promise you will eventually forget to keep.
Do not want to write your own? Community packages do the job: next-plugin-llms and get-llms-txt for Next.js, Astro integrations, plus plugins for Docusaurus, VitePress and Jekyll. Docs platforms remove the work entirely, since Mintlify, GitBook and ReadMe all generate and host both files for you.
No plugin for your generator? The principle holds anyway. Hugo can emit the file through a custom output format, Jekyll through a template and a gem, anything else through a post-build script. Always derive it from content you already have.
How to add llms.txt on Shopify, Wix, Squarespace and Webflow
Hosted builders are the awkward ones, because the file must sit at the root and they own the root.
On Shopify you cannot drop a raw .txt at the root, so the ecosystem built apps. A lot of apps.

When I searched, there were 161 of them. For one four-letter file. Most are free, most promise to get you found by ChatGPT, and that stampede is the story: a whole industry now sells a file that near-nothing reads. If you want one, pick a well-reviewed app that serves it through an app proxy, and go in with your eyes open.
The rest vary:
- Webflow: a proper native upload in site settings, served at the root. Needs a CMS or Business plan.
- Wix: native, but only for US, English, Premium ecommerce sites. Everyone else gets a 404.
- Squarespace: no root support. You upload to
/s/llms.txtplus a 301, or front the site with a Cloudflare Worker. Neither is guaranteed to count as standard.
The pattern: the more locked-down the platform, the more hoops for a file with near-zero proven payoff. On a hosted builder, this is firmly "only if it is genuinely free and easy".
How to check if anything reads yours
The best part of this whole topic: you do not have to trust a single study, including mine. Your own logs settle it in two minutes.
Every request leaves a line in your access log, user-agent included. So grep for the file and the bots that matter:
# Who actually fetched /llms.txt on your site?
grep "/llms.txt" access.log | grep -iE \
"GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|PerplexityBot|Google-Extended|CCBot|Cursor"Watch for three groups. The AI-search crawlers: GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended. The coding agents: Cursor and friends. And the noise: audit and uptime bots hammering the file non-stop.
What you will almost always find, and it matches every study, is that the big AI crawlers barely touch it, most hits are audit tools, and a docs site gets the odd coding agent. Screaming Frog's Log File Analyser groups it by bot if you would rather not grep. Check before you ever pay for a tool that promises AI visibility through this file.
One warning: llms.txt is not a block list
People reach for llms.txt to do the exact opposite of what it does.
Publishing it is an invitation. It says "here, read this." If your goal is to stop AI training on your content, llms.txt is the wrong tool, and adding one works against you.
Blocking is a different lever, in robots.txt or at the infrastructure layer. Cloudflare now blocks AI crawlers by default for its customers, and it can auto-generate an llms.txt at the same time. Permission on one side, curation on the other.
So decide which you want first. To keep AI out, see blocking AI crawlers properly. To be read, llms.txt is part of the answer, just a smaller part than the hype says.
Keep it fresh, or it turns into a liability
Adding the file is five minutes. Keeping it honest is the real job, and nobody mentions it.
A stale llms.txt is worse than none. Point a model at pages you deleted or rewrote, and you are handing out bad directions. No file is neutral. A confident, wrong file is a liability.
Plugins drift. Rank Math caps at 100 posts, so a 400-post site quietly ships a third of itself and calls it a map.
Generated files fail silently, and I have been bitten. On one of my builds, a new content component I never taught the generator got stripped straight out of the llms-full.txt. The file looked perfect. It was just wrong. That is how generated files break, quietly, and only a human reading the output catches it.
So treat it like your sitemap. Rebuild on every deploy, glance at it now and then, and never let it become a museum piece.
The verdict: should you add it in 2026?
Plainly, the way I would tell a client.
Free checkbox in your stack? Add it and move on. It costs nothing, it hurts nothing, and if a vendor ever starts reading it, you are set.
Developer docs, an API, a SaaS tool? Do it properly. Ship a clean llms.txt and an llms-full.txt, because coding agents actually use them.
But if you are hoping this file gets your business into ChatGPT's answers, I have to be straight with you. It will not. The data is one-sided. Google ignores it, the AI crawlers skip it, and most of its "traffic" is tools checking you have it.
The work that actually gets you into AI answers has not changed. Be a clear entity machines can resolve. Publish pages worth citing. Keep them fast and crawlable. Earn mentions where AI already looks. GEO and AEO are old SEO fundamentals on new surfaces, not a magic file at your root.
Want to actually get cited by AI, not just tidy up a file?
Getting surfaced inside ChatGPT, Perplexity and Google's AI Overviews takes the work that moves the needle: entity clarity, source-worthy content, and a solid technical foundation. That is exactly what our GEO and AEO service is built for.
See the GEO / AEO serviceFinal take
llms.txt is a good idea the market ran ahead of. The file is real, the spec is sensible, and adding it is a five-minute job on most stacks.
Just add it for the right reason. It is quiet housekeeping and real fuel for coding agents. It is not a lever on search or AI visibility.
Add it if it is free. Keep it fresh if you do. And put your real energy into the pages an AI can already read.
Common questions
Does llms.txt help SEO or Google rankings?
No. Google has said plainly that Search ignores llms.txt, and that you do not need any AI text file to appear in Search or AI Overviews. It does not help your rankings and it does not hurt them. Treat it as housekeeping, not a ranking signal.
Do ChatGPT, Claude and Perplexity read llms.txt?
There is no confirmation from any of them, and server logs show near-zero fetches from their crawlers. What genuinely reads it are developer coding tools like Cursor and Claude Code, when a person points them at a documentation site. For general AI search, assume it is not read.
What is the difference between llms.txt and robots.txt?
They do opposite jobs. robots.txt controls access, telling bots which paths they may crawl. llms.txt is curation, a reading list of pages you want an AI to prioritise. One is a gate, the other is a recommendation. llms.txt does not block or allow anything.
How do I create an llms.txt file?
It depends on your platform. On WordPress, a plugin like Website LLMs.txt, Yoast or Rank Math generates it for you. On a static site you write a small build script. On Shopify you install an app, and Webflow now has a native upload. The file itself is plain Markdown.
Is llms.txt worth adding in 2026?
If it is a free checkbox or plugin in your stack, yes, add it, because it is cheap and cannot hurt. If it needs a paid app or a hacky workaround, weigh that against near-zero proven return today. It is real infrastructure for documentation and coding agents, and theatre for general search.
What is the difference between llms.txt and llms-full.txt?
llms.txt is a short curated index of links to your key pages. llms-full.txt is the companion that dumps your actual page content into one Markdown file, so an AI can read everything without crawling page by page. The full file is larger and, per Mintlify data, fetched more often.

SEO Specialist and product builder with 10+ years in search. The notes come from the work, not the theory.