Live demo · a real llms.txt file rendering line-by-line as GPTBot, ClaudeBot and PerplexityBot read it on the next crawl.
llms.txt is a markdown-formatted plain-text file at /llms.txt that lists your most important pages with short descriptions. Major AI crawlers read it on every visit and use it as a curated map of your site. It takes 30 minutes to publish, costs nothing, and materially improves which of your pages get cited.
1. What llms.txt actually is
llms.txt is a community-driven standard that solves a problem robots.txt was never designed to handle: telling AI crawlers which content on your site is your best, most canonical answer for a given topic. robots.txt is binary - allow or disallow. llms.txt is expressive - it points crawlers at curated, descriptive lists of preferred URLs grouped under human-readable headings.
Every major AI platform reads it: ChatGPT (GPTBot, ChatGPT-User), Anthropic (ClaudeBot, anthropic-ai), Perplexity (PerplexityBot), Google (Google-Extended) and Cohere. If you want the full picture of how those crawlers traverse your site, read our do AI assistants follow links guide first.
2. The exact file format
The format is intentionally simple. A H1 heading with your brand or site name, an optional blockquote summary, then H2 sections grouping curated URL lists. Each URL is a markdown link with a short description. The MIME type must be text/plain and the file must live at /llms.txt - exactly like robots.txt.
# Your Brand Name > A one-sentence summary of what your brand does. ## Core pages - [Homepage](https://yourdomain.com/): What you do - [Pricing](https://yourdomain.com/pricing/): Plans + costs ## Documentation - [Getting started](https://yourdomain.com/docs/): The 5-min setup - [API reference](https://yourdomain.com/docs/api/): Full endpoint list ## Optional - [Blog](https://yourdomain.com/blog/): Long-form articles
3. Where to put the file
At the root of your domain, served as text/plain, returning 200. That's it. Subdomains need their own llms.txt (api.yourdomain.com would have its own at api.yourdomain.com/llms.txt). If you're behind a CDN, make sure the file isn't cached so aggressively that updates take days to propagate - a few minutes is fine.
On Vercel/Next.js the cleanest way is to drop an llms.txt file into your /public directory. On Cloudflare Pages, the same. On traditional hosts, just upload to the web root next to robots.txt and sitemap.xml.
4. The GEO upside
llms.txt directly improves two of the five citation signals documented in our citation algorithm guide: structural clarity (because the file is itself a clean structured list) and citation graph position (because you're telling the crawler exactly which of your pages should be considered canonical for which topic). It also indirectly helps entity strength by giving the model a clean one-sentence summary it can attach to your brand.
Pair llms.txt with proper schema markup and well-built entity SEO and you've covered the parsing and identity layers a ChatGPT-friendly site needs - which leaves only the crawl layer, and that's the focus of our why your site isn't in ChatGPT guide.
5. Common mistakes to avoid
Three failures we see constantly: serving the file as text/html instead of text/plain (breaks parsing), listing every single URL on the site instead of curating the best 20-50 (defeats the point - the file is supposed to be a curation signal, not a sitemap), and forgetting to update it when major content moves (which leaves crawlers chasing 404s and erodes trust). Treat llms.txt as a living document that you review every quarter.
Recap
llms.txt is a 30-minute GEO win: a curated markdown file at the root of your domain that points AI crawlers at your best content. Every major LLM reads it, it directly improves two of the five citation signals, and it costs nothing to ship. Pair it with schema markup and entity SEO for the full parsing-layer foundation, and you're punching way above your weight in ChatGPT, Claude, Perplexity and Google AI Overviews.
Ship llms.txt as part of a full GEO build
Geolify GEO packages include a custom-built llms.txt mapped to your real buyer journey, plus schema, entity build and citation tracking across all 7 major AI platforms. From $499.
FAQ
What is llms.txt and why do I need it?
llms.txt is a plain-text file at the root of your domain (yourdomain.com/llms.txt) that tells AI crawlers what to read, what to ignore, how to attribute citations and where to look for canonical content. Think of it as robots.txt for the AI era - except it's expressive enough to point bots at curated 'preferred' content rather than just blocking paths.
Is llms.txt an official standard?
It's a community-driven standard that's reached enough adoption to be recognised by every major AI crawler in 2026. OpenAI, Anthropic, Perplexity, Google and Cohere all read the file when their crawlers visit a domain, even though there's no official W3C or IETF spec yet. Treat it the same way you'd treat robots.txt - de facto standard, broadly honoured.
Where do I put the llms.txt file?
It must live at the root of your domain - exactly like robots.txt. So https://yourdomain.com/llms.txt. Subdomains need their own file. The content type should be text/plain. If you put it at /llms.txt and it returns a 200, you're done; the crawlers will pick it up on their next visit.
Does llms.txt actually affect whether AI assistants cite me?
It affects which pages they read and how confident they are about your content's canonical version - both of which feed into the citation decision. An llms.txt that points GPTBot at your best long-form articles, your FAQ pages and your structured-data-rich content gives the crawler exactly the right material to ingest, which materially improves your odds of being cited for queries those pages cover.
What happens if I don't have an llms.txt file?
AI crawlers fall back to standard crawling behaviour - they read robots.txt, follow allowed links and ingest whatever they find. You don't get blocked, but you also don't get to point them at your best content or explicitly grant them rights. In competitive verticals, the brands with curated llms.txt files have a real edge over the ones who haven't published one.