/llms.txt is the lightest agent-readiness signal you can ship — a plain-text file at the root of your domain that tells AI agents what your site is about and where to find canonical content. This guide is the practical reference: format, four worked examples for different WordPress site types, common mistakes, and how WordPress sites can generate llms.txt automatically.

What llms.txt is, and what it isn’t

llms.txt is a Markdown-formatted plain-text file served at https://yoursite.com/llms.txt. Inspired by robots.txt, but oriented toward semantic discovery — not access control. AI crawlers (Anthropic’s ClaudeBot, Perplexity, OpenAI, Google’s AI extensions) fetch llms.txt to understand your brand, your canonical content, and your topic taxonomy. It’s a hint, not a directive.

It’s NOT robots.txt: don’t try to use it to block crawlers (use the actual robots.txt for that). It’s NOT a sitemap: it’s curated, brand-narrated, under 8 KB ideally. It’s NOT JSON: it’s plain Markdown so humans and lightweight parsers can read it without dependencies. The spec is at llmstxt.org.

The minimal valid format

# Brand Name

> One-paragraph summary of what your site is about.

## Important pages

- [Homepage](https://yoursite.com/): Brand overview.
- [About](https://yoursite.com/about/): Who we are.
- [Pricing](https://yoursite.com/pricing/): Our plans.

## Documentation

- [Docs index](https://yoursite.com/docs/): Technical reference.
- [API](https://yoursite.com/api/): Public endpoints.

## Optional

- [Blog](https://yoursite.com/blog/): Articles and updates.

That’s it. H1 = brand name. Blockquote (>) = one-paragraph site summary. H2 sections group canonical URLs. Optional H2 “Optional” section for non-canonical content (blog archives, generated pages). Keep under 8 KB; AI crawlers truncate beyond that.

Four worked examples for different WordPress site types

Example 1: Service business (consulting agency)

# Atelier Digital

> Atelier Digital is a French-speaking digital consulting agency
> based in Bordeaux. We help SMEs design and launch their first
> AI-driven customer flows: chatbots, automations, voice agents.

## Services

- [AI chatbot integration](https://atelierdigital.fr/services/chatbot/): Setup and customization.
- [Voice agent deployment](https://atelierdigital.fr/services/voice/): Vapi and Twilio-based.
- [Automations](https://atelierdigital.fr/services/automation/): n8n and Zapier workflows.

## Case studies

- [Manor Dental Practice](https://atelierdigital.fr/cases/manor-dental/): 24/7 booking flow.
- [Sweet Bistro](https://atelierdigital.fr/cases/sweet-bistro/): Reservation chatbot.

## Resources

- [Pricing](https://atelierdigital.fr/pricing/): Service packages.
- [Contact](https://atelierdigital.fr/contact/): Book a discovery call.
- [Blog](https://atelierdigital.fr/blog/): Articles and updates.

Example 2: WooCommerce store (small e-commerce)

# Maison Lou

> Maison Lou is a family-owned French gourmet food shop based in
> Lyon, shipping artisanal regional products across the EU.

## Featured products

- [Truffle olive oil](https://maisonlou.com/product/truffle-oil/): 250mL bottle.
- [Lavender honey](https://maisonlou.com/product/lavender-honey/): 500g jar.
- [Provence gift box](https://maisonlou.com/product/provence-box/): Curated selection.

## Categories

- [Olive oils](https://maisonlou.com/category/olive-oils/): Six varieties.
- [Honeys](https://maisonlou.com/category/honeys/): Regional collection.
- [Gift boxes](https://maisonlou.com/category/gift-boxes/): All sizes.

## Customer info

- [Shipping](https://maisonlou.com/shipping/): EU delivery 3-5 days.
- [Returns](https://maisonlou.com/returns/): 30-day policy.
- [Contact](https://maisonlou.com/contact/): Customer service.

## Optional

- [Recipes blog](https://maisonlou.com/recipes/): Cooking ideas.

Example 3: SaaS product site

# Notable

> Notable is a SaaS platform for solo founders to manage customer
> feedback in one inbox. Web-based, EU-hosted, GDPR-friendly.

## Product

- [Homepage](https://notable.app/): Product overview.
- [Features](https://notable.app/features/): Inbox, tags, AI summarization.
- [Pricing](https://notable.app/pricing/): Free, Pro 19 EUR/mo.
- [Integrations](https://notable.app/integrations/): Intercom, Slack, Linear.

## Documentation

- [Getting started](https://notable.app/docs/start/): 5-min setup.
- [API reference](https://notable.app/docs/api/): REST + webhooks.
- [Changelog](https://notable.app/changelog/): Release notes.

## Company

- [About](https://notable.app/about/): Founder story.
- [Security](https://notable.app/security/): RGPD, hosting, audit trail.
- [Contact](https://notable.app/contact/): Support and sales.

Example 4: Content / publication site

# Field Notes

> Field Notes is an independent publication covering AI tooling
> for solo developers and small teams. Three editors, weekly issues
> since 2023.

## Top guides

- [AISEO checklist 2026](https://fieldnotes.dev/aiseo-checklist-2026/): 12-signal audit.
- [MCP for WordPress](https://fieldnotes.dev/mcp-wordpress/): Protocol vs product.
- [AI Overviews discovery](https://fieldnotes.dev/ai-overviews-discovery/): Citation patterns.

## Categories

- [Tools](https://fieldnotes.dev/category/tools/): Reviews and comparisons.
- [Tutorials](https://fieldnotes.dev/category/tutorials/): Step-by-step guides.
- [Opinion](https://fieldnotes.dev/category/opinion/): Editorial takes.

## About

- [Editorial board](https://fieldnotes.dev/about/): Three named editors.
- [Methodology](https://fieldnotes.dev/methodology/): How we evaluate tools.
- [Disclosure](https://fieldnotes.dev/disclosure/): Sponsorships and conflicts.

## Optional

- [Archive](https://fieldnotes.dev/archive/): Full back catalog.

Common mistakes

  • Dumping the entire sitemap. 400 URLs is not llms.txt — it’s a sitemap. Pick the 10-30 canonical pages that represent your brand. The rest belongs in sitemap.xml.
  • Stale file. Generated once at install, never refreshed. New posts and products never appear. Use a WordPress hook (or Animam) to regenerate on every save_post.
  • Missing the brand summary. No blockquote = AI crawlers don’t know what you do. The single most-important sentence in the file.
  • Wrong content type. Must be served as text/plain; some WordPress configurations return text/html by default. Add an .htaccess rule or let Animam handle the headers.
  • HTML inside. llms.txt is Markdown only. No <a href>, no <div> — use Markdown link syntax.
  • Over 8 KB. Crawlers truncate. Trim the URL list, keep summaries short, drop optional sections.

Generating llms.txt on WordPress

  • Animam plugin (recommended). Auto-generates from your published posts and pages, refreshes on every save_post, serves with correct content-type at /llms.txt. Zero config — the plugin reads your WP general settings (site title, tagline) for the H1 and summary.
  • Static file via FTP. Drop a llms.txt file in WP root. Cheapest path; downside is manual upkeep on every content change.
  • Functions.php rewrite rule. Add a custom WP rewrite rule + PHP handler that generates llms.txt on the fly from get_posts(). ~30 lines of code; auto-refreshes but you maintain the code.
  • RankMath or Yoast. Neither ships native llms.txt generation as of mid-2026. RankMath module roadmap mentions it; not shipped.

Verifying your llms.txt

  • HTTP check: curl -sI https://yoursite.com/llms.txt should return 200, content-type: text/plain.
  • Content check: curl -s https://yoursite.com/llms.txt | head -10 — first 10 lines should match the format (H1, blockquote summary, H2 sections).
  • Size check: curl -s https://yoursite.com/llms.txt | wc -c — should be under 8 KB (8192).
  • Freshness check: after publishing a new post, fetch llms.txt — the new URL should appear if you’re using dynamic generation.
  • Free scanner: isitagentready.com includes llms.txt validation in its level audit.

Frequently asked questions

Is llms.txt required to get cited by AI Overviews?

Not required, but strongly recommended. AI Overviews citations depend more on JSON-LD schema (FAQPage, Article with Person author) and content patterns. llms.txt mostly accelerates AI crawler understanding of your site — it’s a discovery layer, not a citation layer. Both matter; llms.txt is cheaper to ship.

Should I list every blog post in llms.txt?

No. List the 10-30 canonical pages — homepage, about, pricing, top categories, key landing pages. For blog archives, link the category index pages, not every individual post. The sitemap covers the long tail; llms.txt covers the brand-defining 20%.

Can I have multiple llms.txt files for sections of my site?

The spec defines the root /llms.txt as the canonical location. Some implementations support section-level llms.txt (e.g., /docs/llms.txt) for large documentation sites, but adoption is limited. Start with root only; add section files if you ship 1,000+ docs pages.

What about llms-full.txt?

An emerging extension where llms-full.txt contains the full content of canonical pages (concatenated Markdown), letting AI agents grab everything in one fetch. Useful for documentation sites where the agent needs the actual content, not just URLs. Optional; ship llms.txt first.

Does the order of sections matter?

Yes. Crawlers prioritize the top of the file. Put your highest-priority canonical URLs in the first H2 section. The “Optional” section is the lowest-priority bucket and is treated as nice-to-have rather than canonical.

Will browser users see llms.txt accidentally?

Only if they type /llms.txt into the URL bar. The file isn’t linked from your site navigation; it’s a machine-readable resource at a well-known location. Some technical users explore it manually — write it as if a human will read it.

Can I check who’s fetching my llms.txt?

Yes — your access logs or Cloudflare analytics show every fetch with the user agent. Look for Claude-User, ChatGPT-User, Perplexity-User, GPTBot, PerplexityBot, ClaudeBot. Volume tells you how often AI crawlers are picking up the file.

Should I localize llms.txt for a multilingual site?

The spec is silent. Pragmatic approach: ship one llms.txt at the root domain with both English and French URLs listed under separate sections. Some sites also publish /en/llms.txt and /fr/llms.txt, but the root file is what crawlers fetch first.

Sources

Try Animam — llms.txt generated and refreshed automatically

The Animam plugin generates llms.txt from your published WP content, refreshes on every save_post, and serves with the right content-type at /llms.txt. Free plan, no config. Install the plugin →