How to Write llms.txt (with an Example)
Updated 2026-10-24 · By the GEO Checker team
llms.txt is a plain Markdown file at the root of your site (/llms.txt) that gives AI assistants a short, curated summary of what your site is and links to its most useful pages. It was proposed by Jeremy Howard of Answer.AI in September 2024. It is not an official web standard and no major AI search engine has said it uses it for ranking, but it is cheap to write, helps tools and agents that do read it, and forces you to state clearly what your site offers.
The llms.txt format in one minute
The proposal at llmstxt.org defines a simple structure, in this order:
- An H1 with the name of the project or site — the only required element.
- A blockquote with a short summary containing the key information needed to understand the rest of the file.
- Optional free-text paragraphs or lists with more detail (no headings).
- Zero or more H2 sections, each containing a Markdown list of links:
- [Name](url): optional description. - An optional section named “Optional” for secondary links that can be skipped when an AI needs a shorter context.
The proposal also suggests offering clean Markdown versions of important pages (for example page.html.md) and an optional llms-full.txt containing full content. Those are extras; a good llms.txt alone is the useful first step.
Step by step
- List the pages that matter. Pick 5–30 pages a newcomer or an AI assistant should read first: homepage, main product or tool pages, pricing, documentation, key guides, policies and contact. Skip tag archives, login pages and anything you would not want quoted.
- Write the H1 and the one-paragraph summary. Use your real brand name in the H1. In the blockquote, write two or three factual sentences: what the site is, who it is for, and the most important facts (free tier, price range, location or shipping region). Avoid slogans.
- Add key facts as plain text. Below the summary, list facts an assistant often gets wrong: prices, plan limits, supported platforms, return policy, opening hours. Keep them identical to your pricing page and structured data.
- Group links under H2 sections. Use clear section names such as Products, Docs, Guides, Policies. Each line is a Markdown link with an absolute URL and a short description of what the page answers.
- Put secondary links under “## Optional”. Blog archives, changelogs or press pages go here so an AI with limited context can skip them.
- Publish at the root and serve it as text. Upload the file so it is reachable at https://yourdomain.com/llms.txt with HTTP 200 and a text/plain or text/markdown content type. Make sure your CDN does not block AI user-agents from fetching it.
- Validate and keep it updated. Run the llms.txt checker to confirm it is reachable and well-formed, then update the file whenever prices, products or key pages change. Add it to your release checklist.
Example llms.txt for a SaaS or tool website
# Acme Analytics
> Acme Analytics is a privacy-friendly web analytics tool for small businesses.
> Free for 1 site up to 10,000 pageviews per month; paid plans start at nine dollars a month.
- No cookies and no personal data stored; hosted in the EU.
- Works with any website via a 1 KB script, plus WordPress and Shopify plugins.
## Product
- [Features](https://acme.example/features/): what Acme tracks and how
- [Pricing](https://acme.example/pricing/): free tier, plans and limits
- [Integrations](https://acme.example/integrations/): WordPress, Shopify, Webflow
## Docs
- [Quick start](https://acme.example/docs/start/): install in 5 minutes
- [API](https://acme.example/docs/api/): export data as JSON or CSV
## Policies
- [Privacy](https://acme.example/privacy/): data handling and GDPR
- [Contact](https://acme.example/contact/): support email and response times
## Optional
- [Blog](https://acme.example/blog/): product updates and tutorials
Example llms.txt for an online store
# Northwind Coffee
> Northwind Coffee roasts and sells specialty coffee beans online.
> Ships to the US and Canada; free shipping over $40; 30-day returns.
## Shop
- [All coffee](https://northwind.example/collections/coffee/): single origin and blends
- [Subscriptions](https://northwind.example/subscribe/): delivery every 2-4 weeks
## Help
- [Shipping](https://northwind.example/shipping/): rates and delivery times
- [Returns](https://northwind.example/returns/): how to return an order
- [Brewing guides](https://northwind.example/guides/): pour-over, espresso, French press
Stores should also check product feeds and return/shipping schema with the AI shopping agent readiness checker, since shopping agents rely on those more than on llms.txt. You can see a real file at geocheckerai.com/llms.txt.
Common llms.txt mistakes
| Mistake | Why it matters |
|---|---|
| File served as HTML or behind a redirect loop | Tools expect plain Markdown at /llms.txt |
| Relative links like /pricing | Use absolute URLs so the file works out of context |
| Hundreds of links copied from the sitemap | The point is curation; long lists bury the important pages |
| Prices or limits that differ from the site | Inconsistent facts lead to wrong AI answers |
| Blocked AI crawlers in robots.txt or the WAF | If bots cannot fetch your site, llms.txt alone will not help — check with the AI crawler checker |
llms.txt does not replace robots.txt (which controls access), sitemap.xml (which lists every indexable URL) or structured data (which describes entities on each page). Treat it as a short, human-readable briefing. After publishing, the AI visibility checker shows llms.txt status alongside crawler access and schema, and AI crawler analytics shows whether any AI bot actually requests the file.
Check your site now — free
Test AI crawler access, live WAF blocks, llms.txt and structured data in about 20 seconds, no sign-up.
FAQ
Is llms.txt an official standard?
No. It is a community proposal published at llmstxt.org in September 2024. It has no W3C or IETF status, and major AI search engines have not confirmed using it for ranking. Some AI tools, documentation platforms and agents do read it.
Does llms.txt control whether AI can use my content?
No. llms.txt is a summary and link list, not an access control. To allow or block crawlers, use robots.txt and your firewall settings.
Where do I put llms.txt?
At the root of your domain, so it is available at https://yourdomain.com/llms.txt with an HTTP 200 response, just like robots.txt.
How long should llms.txt be?
Short enough to read in a minute: usually 20–80 lines. Include your most important pages and facts, and move secondary links to an Optional section.
What is llms-full.txt?
An optional companion file that contains the full Markdown content of your key pages in one document, mainly used by documentation sites so an AI can load everything at once.
Related tools and guides
- Free AI visibility checker
- AI crawler checker (GPTBot, OAI-SearchBot, PerplexityBot)
- llms.txt checker and validator
- AI shopping agent readiness checker
- AI crawler analytics
- How to Get ChatGPT to Recommend Your Website
- Should You Block GPTBot in robots.txt?
- How Perplexity Chooses Sources
- How to Check if AI Bots Crawl Your Site
- All guides