llms.txt for WordPress is a plain Markdown file at /llms.txt that gives AI systems a curated map of your best content. It does not replace robots.txt, XML sitemaps, or technical SEO. A good file explains who you are, what matters, and which URLs deserve context.
In 2026, AI search is less about “can a crawler find my page?” and more about “can an answer engine understand which page is the best source?” llms.txt sits in that gap. It is the new robots.txt in the sense that it gives machines a simple, predictable file to check first. But it is not a rule file, and it does not force ChatGPT, Claude, Google, or any other system to use your content.
This guide shows you how to write a clean llms.txt for a WordPress site, where to host it, what to include, what to leave out, and how to avoid the files that look technical but say nothing useful. For the wider strategy behind AI visibility, read the AIO pillar guide.
What llms.txt actually is (and what it isn’t)
llms.txt is a proposed Markdown standard for giving language models a concise site brief and a curated list of important URLs. The official proposal describes it as a way to help LLMs use website information at inference time, not as a crawler-blocking rule or guaranteed ranking signal. Source: llmstxt.org.
Think of llms.txt as an AI-readable editorial map. It tells a system: this is the site, this is what it does, these are the pages that explain it best, and these optional pages are useful only when more detail is needed.
That makes it different from three files WordPress owners already know:
| File | Primary job | Good for | Not good for |
|---|---|---|---|
robots.txt | Crawl access guidance | Allowing or disallowing crawlers | Explaining your business, products, or expertise |
wp-sitemap.xml | URL discovery | Listing indexable WordPress URLs | Ranking URLs by importance or giving editorial context |
llms.txt | AI bot site brief | Curating key pages for AI understanding | Blocking bots, hiding content, or guaranteeing citations |
The phrase “the new robots.txt for AI bots” is useful, but only if you keep the distinction clear. robots.txt says what bots may crawl. llms.txt says what your site means.
OpenAI’s own crawler documentation, for example, points site owners to robots.txt rules for OAI-SearchBot and GPTBot. It does not say llms.txt controls OpenAI crawling. Source: developers.openai.com/api/docs/bots.
The practical takeaway: use llms.txt for context. Use robots.txt rules for AI bots for access decisions.
The llms.txt spec — what’s required, what’s optional
The llms.txt spec is intentionally small. A valid file uses Markdown, starts with one H1 naming the site or project, and may add a blockquote summary, explanatory text, H2 sections, and Markdown link lists. The “Optional” section has a special meaning: those links may be skipped when shorter context is needed.
A minimal file can be this short:
# Example Brand
> Example Brand sells analytics software for independent WordPress publishers.
## Core Pages
- [Home](https://example.com/): Overview of the product and audience.
- [Pricing](https://example.com/pricing/): Plans, limits, and billing terms.
- [Docs](https://example.com/docs/): Setup and troubleshooting guides.
That is enough to be useful. But most WordPress sites should add a little more structure.
A better WordPress llms.txt usually includes:
| Element | Required? | Recommendation |
|---|---|---|
| H1 site name | Yes | Use the brand or project name, not a keyword-stuffed title. |
| Blockquote summary | No, but important | One or two sentences explaining who the site serves and what it publishes. |
| Short context paragraph | Optional | Add scope, geography, product category, or editorial policy if it helps. |
| H2 sections | Optional | Group links by purpose: Core Pages, Products, Guides, Policies, Optional. |
| Link notes | Optional | Add one clear sentence after each URL explaining why it matters. |
| Optional section | Optional | Use for secondary posts, changelogs, archives, or deeper docs. |
The spec also suggests Markdown versions of pages, such as .md versions of HTML pages, but most WordPress teams should treat that as a later step. First, make the root /llms.txt accurate.
Here is the model to remember:
# Site name
> Short summary of the site.
Extra context that helps an AI system interpret the links below.
## Section name
- [Page title](https://example.com/page/): Why this page matters.
## Optional
- [Secondary page](https://example.com/secondary/): Useful only for deeper context.
Do not turn the file into a pitch deck. Write it like documentation.
Why WordPress sites need their own llms.txt
WordPress sites are messy by default: posts, pages, categories, tags, author archives, media URLs, plugin pages, and SEO templates all compete for attention. A curated llms.txt gives AI systems a cleaner route through that noise by pointing to the pages that explain the site best.
WordPress already has strong discovery tools. Since WordPress 5.5, core includes XML sitemap functionality and exposes a sitemap index at /wp-sitemap.xml for public sites. That helps crawlers find URLs, but it does not tell an AI system which URLs are the best explanation of your company, expertise, or product.
That is where llms.txt helps.
A typical WordPress sitemap might include:
- blog posts from five years ago
- author archives
- tag archives
- category archives
- landing pages
- privacy and terms pages
- attachment or media URLs, depending on setup
- paginated archives
- product or documentation pages
Some of those URLs are useful. Many are not the best citation source.
A WordPress llms.txt should usually prioritize:
- homepage or main product page
- about page
- pricing page
- product documentation
- service pages
- cornerstone guides
- comparison pages
- original research
- editorial policy or methodology
- contact or support pages
- relevant legal or trust pages
For AI visibility, the file works best when the pages it lists are also clear on-page. A weak page does not become citation-worthy because you put it in llms.txt. The page still needs clean headings, descriptive titles, visible text, structured data where appropriate, and semantic HTML for AI.
A good test: if a human editor asked, “Which 20 URLs explain this business?” your llms.txt should look close to that answer.
Building a clean llms.txt for WordPress in 5 steps
Build llms.txt by curating, not exporting. Start with the URLs that define your site, write a plain-language summary, group links by intent, publish the file at /llms.txt, and validate it after every major content change. A useful file is short enough to read and specific enough to trust.
-
Choose the canonical pages. Start with the URLs you would show a journalist, analyst, or support agent who needed to understand your site fast. For most WordPress sites, that means 10–40 links, not every public URL. Avoid search result pages, thin tags, duplicate category archives, outdated posts, and campaign landing pages that will disappear.
-
Write the site summary. Keep the blockquote under 50 words. Say what the site is, who it serves, and what users can trust it for. The first version below gives context. The second version sounds like filler.
> Acme Analytics helps independent WordPress publishers measure content performance, improve technical SEO, and prepare pages for AI-assisted discovery.> Acme Analytics is a leading solution that helps brands grow online. -
Group links by job. Use H2 sections that match how a model should navigate the site. For a SaaS WordPress site, use sections like
## Product,## Pricing and Plans,## Documentation,## Guides,## Trust and Policies,## Optional. For a publisher:## Editorial Overview,## Best Guides,## Research,## Authors,## Corrections and Policies,## Optional. The section names should be obvious. -
Add notes to each link. Notes are where llms.txt becomes more useful than a sitemap. Each note should explain why the URL matters.
Strong example:
- [AI Optimization for WordPress](https://example.com/blog/ai-optimization-wordpress-2026/): Pillar guide explaining the site's framework for AI search visibility, citations, and technical readiness.Weak example:
- [AI Optimization for WordPress](https://example.com/blog/ai-optimization-wordpress-2026/): Read more here.The note should help an AI system choose the right source without opening every page.
-
Publish at the root and test. The standard location is
https://example.com/llms.txt. On WordPress, you have three practical publishing options: upload a static file to the web root using SFTP or your hosting file manager; use a WordPress plugin that can serve a virtualllms.txt; add a custom rewrite route through a small site-specific plugin. For most teams, static upload is the cleanest. A plugin is better when marketers need dashboard editing or automatic updates. A custom route is best when developers already control deployments.
Real examples from sites doing it right
The best llms.txt examples are boring in the right way. They use plain Markdown, list high-value documents, and avoid marketing copy. Stripe, Vercel, and Claude Code show three useful patterns: broad documentation index, product-focused docs map, and compact agent-readable overview.
Here are three real files worth reviewing:
| Site | URL | Approach | What WordPress sites can copy |
|---|---|---|---|
| Stripe Docs | https://docs.stripe.com/llms.txt | Large documentation index with many Markdown links and concise notes. | Use clear link labels and page descriptions for product, setup, and API-style content. |
| Vercel | https://vercel.com/llms.txt | Compact documentation map organized around platform concepts and CLI docs. | Keep link notes direct, especially for docs, tutorials, and platform pages. |
| Claude Code Docs | https://code.claude.com/docs/llms.txt | Starts with a one-line H1-style overview, then lists many docs links. | Explain the product clearly before listing deep documentation. |
Notice what these examples do not do. They do not repeat the same keyword in every line. They do not list every possible URL without explanation. They do not use sales copy where a source map is needed.
A WordPress business site should be smaller than these examples. You are not Stripe Docs. You do not need hundreds of URLs unless your documentation is that large.
Here is a clean WordPress-style version:
# Aetos
> Aetos helps WordPress teams audit whether their sites are ready for AI search, answer engines, and citation-based discovery.
Aetos focuses on technical SEO, content clarity, crawler access, structured data, and AI-readable site architecture for WordPress sites.
## Core Pages
- [AI Optimization for WordPress](https://aetosseo.com/blog/ai-optimization-wordpress-2026/): Pillar guide explaining the Aetos framework for improving WordPress visibility in AI-assisted search.
- [AI-Readiness Audit](https://aetosseo.com/tools/ai-readiness-audit/): Free tool that checks a URL for AI citation and technical readiness signals.
- [Capabilities](https://aetosseo.com/capabilities/): Full list of checks used to evaluate AI-readiness across crawling, content, schema, and UX.
- [Pricing](https://aetosseo.com/pricing/): Current plan details and launch pricing.
## Guides
- [Robots.txt for AI Bots](https://aetosseo.com/blog/robots-txt-for-ai-bots/): Guide to GPTBot, OAI-SearchBot, ClaudeBot, and other AI crawler rules.
- [Semantic HTML for AI](https://aetosseo.com/blog/semantic-html-wordpress-ai/): Guide to using HTML structure that makes WordPress content easier to parse.
## Optional
- [Blog](https://aetosseo.com/blog/): Latest posts about WordPress, AI search, and technical SEO.
That is enough. The file tells an AI system what Aetos is, what pages matter, and where to go for deeper context.
Common mistakes that make llms.txt useless
Most bad llms.txt files fail for one of two reasons: they are either empty SEO theater or giant URL dumps. The file should not be a keyword page, a sitemap clone, or a crawler policy. It should be a concise, accurate guide to the pages that best explain your site.
The most common mistakes:
1. Treating llms.txt as robots.txt. Do not add User-agent: GPTBot / Disallow: /private/ rules to llms.txt. That belongs in robots.txt. Anthropic’s crawler guidance, for example, discusses robots.txt for “do not crawl” signals and shows robots.txt examples for ClaudeBot.
2. Listing every WordPress URL. Your XML sitemap already handles URL inventory. llms.txt should filter the site down to meaningful sources. Bad: a long list of /tag/ and /page/2/ archives. Better: a small list of pillar guides with one-line descriptions of why each matters.
3. Writing vague link notes. “Learn more about our services” tells a model almost nothing. A useful note names the page’s role: “Describes crawlability, schema, speed, and content architecture work for WordPress sites.”
4. Using a generator without editing. An llms.txt generator can help collect candidate URLs. It cannot decide your editorial priorities. Always remove low-value pages, rewrite notes, and check that generated summaries match the actual content.
5. Publishing stale pricing or policies. If your llms.txt links to pricing, plans, medical guidance, financial claims, or legal policies, stale content is worse than missing content. Keep those URLs current.
6. Hiding the file in the wrong place. A file at /wp-content/uploads/llms.txt may exist, but it is not where agents are likely to look first. Publish the canonical version at /llms.txt.
7. Overclaiming what llms.txt can do. Google’s AI features documentation says standard SEO best practices still apply and that no additional machine-readable files, AI text files, or special schema are required for AI Overviews or AI Mode. That does not make llms.txt useless. It means you should use it as a clarity layer, not as a magic switch.
Validating + maintaining your llms.txt
Validate llms.txt like a source file, not a blog post. Check the HTTP status, root path, Markdown structure, live URLs, noindex conflicts, stale descriptions, and whether listed pages are still the best sources. Maintenance matters because AI-facing files become risky when they describe old products or removed pages.
Use this validation checklist:
| Check | Pass condition |
|---|---|
| URL | https://yourdomain.com/llms.txt returns 200 OK. |
| Format | File is plain text or Markdown-readable, not HTML. |
| H1 | First heading names the site or project. |
| Summary | Blockquote explains the site clearly. |
| Links | Important links return 200 OK and are canonical. |
| Notes | Each important link has a useful description. |
| Indexability | Listed pages are not accidentally noindexed. |
| Robots | Important AI and search crawlers are not blocked unintentionally. |
| Staleness | Pricing, product, and policy descriptions are current. |
| Size | File is curated, not a full sitemap dump. |
You can validate manually with a browser, curl, Screaming Frog, Sitebulb, Ahrefs Site Audit, or a small script that checks status codes. For WordPress, also compare the file against your SEO plugin settings. If Yoast, Rank Math, SEOPress, or AIOSEO marks a page as noindex, think carefully before featuring it in llms.txt.
A simple maintenance rhythm:
- Review monthly for active blogs.
- Review after each product launch.
- Review after pricing changes.
- Review after site migrations.
- Review after deleting or consolidating cornerstone posts.
- Review when changing robots.txt AI crawler rules.
Aetos tracks this type of issue inside all 200+ checks, including crawler access, citation readiness, structured data, content clarity, and AI-readable architecture. The free Aetos AI-Readiness Audit is useful for spot checks, while Aetos Pro for $79/year (launch price for a limited time — $99 after) is built for recurring checks across WordPress sites.
The point is not to create another file you forget. The point is to keep one small, public brief that stays aligned with your real site.
FAQ
Does Google read llms.txt?
Google has not announced llms.txt as a requirement or supported control for AI Overviews or AI Mode. Its AI features documentation says no additional machine-readable files, AI text files, or special schema are needed to appear in those features. Use llms.txt for AI-readable clarity, not as a Google ranking requirement.
Where should I host llms.txt — root or /llms.txt?
Host it at the root URL: https://example.com/llms.txt. The official proposal describes /llms.txt as the standard root path, with optional subpath use in some cases. For WordPress, root hosting matters because a file buried in a theme, plugin, or uploads directory is easy for agents to miss.
Is llms.txt the same as robots.txt?
No. robots.txt is for crawler access guidance. llms.txt is a Markdown site brief that points AI systems to important pages and explains why those pages matter. Use robots.txt to allow, block, or shape crawler behavior. Use llms.txt to give context about content you want machines to understand.
Should I list every page in my llms.txt?
No. List the pages that best explain your site: product pages, service pages, cornerstone guides, documentation, research, policies, and trust pages. Your WordPress XML sitemap can list broad URL inventory. Your llms.txt should be selective, with notes that explain each URL’s purpose.
Does WordPress need a plugin to publish llms.txt?
No. You can publish llms.txt by uploading a static file to your web root through SFTP, your hosting file manager, or a deployment workflow. A WordPress plugin helps when non-technical users need dashboard editing, scheduled generation, or integration with SEO plugin metadata.
How often should I update llms.txt?
Update llms.txt whenever your site’s meaning changes: new product pages, pricing changes, major guides, service updates, important policy edits, or deleted cornerstone content. For active WordPress sites, review it monthly. For smaller brochure sites, review it after every meaningful site change.