Guide
The llms.txt format, explained
llms.txt is a small Markdown file at your site’s root that hands large language models a clean, curated map of your most useful content. Here’s how to write one that scores 100.
- How to create an llms.txt fileA practical, step-by-step guide to writing a spec-compliant llms.txt file: the H1 title, summary, sections, links, and where to host it.
- llms.txt vs robots.txt vs sitemap.xmlThese three files look similar but do completely different jobs. Here's exactly what each one controls and why llms.txt is not an access-control file.
- What is llms-full.txt?llms-full.txt is the full-content companion to llms.txt. Learn when to publish one, how it differs, and how big sites like Anthropic and Vercel use both.
- Does llms.txt help SEO?llms.txt won't change your Google rankings directly. Here's what it actually does, why it matters for AI answers, and when it's worth your time.
- Adding llms.txt to WordPressThree ways to publish a spec-compliant llms.txt on WordPress — plugin-free upload, a snippet, or a plugin — plus how to verify it.
- llms.txt examplesAnnotated llms.txt patterns — a minimal file, a docs-heavy file, and the llms-full.txt pairing — so you can copy the structure that fits your site.
- Which AI crawlers read llms.txt?A practical rundown of the AI crawlers and answer engines — GPTBot, ClaudeBot, PerplexityBot and more — and how llms.txt and robots.txt control what they see.
- Common llms.txt mistakesThe llms.txt errors we see most — multiple H1s, no summary, broken or relative links, wrong content type, bloated files — and exactly how to fix each one.
- llms.txt for documentation sitesDocs sites are the ideal llms.txt use case. How to generate one for Docusaurus, MkDocs, Mintlify and others — plus when to add llms-full.txt and Markdown page versions.
- What is llms.txt?llms.txt is a small Markdown file that hands AI models a clean, curated map of your site's most useful pages. Here's what it is, why it exists, and who needs one.
- Adding llms.txt to Next.jsTwo clean ways to serve a spec-compliant llms.txt from a Next.js app — the public/ folder for a static file, or a route handler for generated content — plus how to verify it.
- How to test your llms.txtBefore you publish, confirm your llms.txt is spec-compliant and every link resolves. Here's what to check — structure, link reachability, best practices — and the fast way to do it.
- How to make a website agent-readyThe three layers that make a site usable by AI agents — llms.txt for crawler context, WebMCP for in-browser tools, and A2A for agent-to-agent calls — with the working code we shipped on this validator.
- A2A: let AI agents call your siteA2A (Agent2Agent) is the open protocol that lets one AI agent discover and call another over the network — no browser, no scraping. Here's what it is and how any website can expose a skill, with the working agent we run on this validator.
- Adding llms.txt to a Shopify storeShopify now generates llms.txt natively. Here's how to find it, customize the content with a theme template or app, and keep it useful for AI shopping agents.
- Adding llms.txt to a Wix siteOn supported plans Wix generates llms.txt from your dashboard. Where to find the tool, what to edit — and the fallbacks if your plan doesn't have it yet.
- Adding llms.txt to a Squarespace siteSquarespace won't serve a file at your site root, so /llms.txt 404s. The fix is a URL Mapping redirect — here are the exact steps and how to verify it.
- Adding llms.txt to a Webflow siteWebflow can't serve an arbitrary root file by default, but you can host your llms.txt and point /llms.txt at it. Here are the practical options.
- Adding llms.txt to a Ghost siteGhost doesn't drop a root file for you, but serving it from your web server, or redirecting to a hosted file, gets a working llms.txt live. Step by step.
- Adding llms.txt to a Framer siteFramer added native static files in 2026 — upload your llms.txt from the Files tab under Domains, publish, and it's live at the root. Here's the full flow.
- Adding llms.txt to a Drupal siteTwo ways to serve /llms.txt on Drupal — a module that generates it from your content, or a static file in the docroot. Which to choose, and how to verify.
- Adding llms.txt to a Joomla siteJoomla is self-hosted, so this is the easy one — drop llms.txt in your web root and it's live. The exact steps, the gotchas, and how to verify it resolves.
- Adding llms.txt to a static site generatorStatic generators copy a static/public folder straight to your site root. Here's exactly where llms.txt goes in Hugo, Jekyll, Astro and Eleventy.
- Adding llms.txt to Magento (Adobe Commerce)Magento can generate llms.txt with an extension, or you can serve a static file from the web root. Both methods, step by step.
- Adding llms.txt to HubSpot CMSHubSpot has no native llms.txt yet, but the File Manager plus a URL redirect get one live at your root. Step by step.
- Adding llms.txt to a Bubble appBubble can't serve a plain-text root file by itself, but an edge proxy or a hosted file with a redirect get a working llms.txt live. Here's how.
- Adding llms.txt to a Notion siteNotion's native publishing can't serve a root text file, but an edge proxy or a Notion-site platform gets a working llms.txt live. Your options.
- Adding llms.txt to a Carrd siteCarrd can't serve a root text file on its own — here's the honest, working way to get an llms.txt live for a Carrd site.
- llms.txt v2: what changedThe llms.txt proposal was revised in August 2026. Four things changed: link relations for discoverability, both .md URL forms, subpath files, and the removal of context-expansion tooling. Here's what to do about each.
Where it lives
Serve it as plain text at https://yourdomain.com/llms.txt. An optional companion, llms-full.txt, can hold the full expanded content.
The structure
The format uses Markdown in a fixed order so it’s both human- and machine-readable:
- An H1 title — the project or site name. This is the only required element.
- A blockquote summary — one or two sentences of essential context, right under the title.
- Optional free prose — a few sentences of detail, with no headings.
- H2 sections with link lists — grouped links to your key resources.
- An “Optional” section — links here are treated as lower priority and may be skipped for shorter context.
A minimal example
# Example Project
> A concise summary that gives an LLM the context it needs.
## Docs
- [Quick start](https://example.com/start): Get going in five minutes
- [API reference](https://example.com/api): Full endpoint docs
## Optional
- [Changelog](https://example.com/changelog): Release history
Best practices
- Use absolute
https:// URLs for every link.
- Add a short
: description after each link to guide models.
- Keep the summary tight and specific.
- Make sure every link actually resolves — broken links waste a crawler’s budget.
Frequently asked
Is llms.txt required?
No. It’s an emerging, voluntary standard. But as more AI tools read it, a clean file improves how your content is understood and surfaced.
How is the score calculated?
We weight structure (50%), link reachability (35%), and best practices (15%) into a single 0–100 score.
Automating your checks? Every validation on this site is also a free JSON API — no key, no sign-up.
Validate your llms.txt →