Field Guide
How to write an llms.txt file
llms.txt is a plain-text file you put at the root of your site, at yourdomain.com/llms.txt. It gives an AI model a clean, unambiguous description of what you do, who you serve, and how you compare. It borrows the idea of robots.txt and points it at a language model. Here is what goes in it, a template to copy, and an honest note on what it will and won’t do.
What the file is
It’s markdown. A first-level heading with your name, a short blockquote summary, then a few sections describing what you do, who it’s for, pricing, and how you compare, with links to the pages that back each claim. That’s the whole format. It is deliberately simple so a model can read it start to finish without parsing your entire site.
The point of it is to remove guesswork at the moment a model is deciding whether it understands your product well enough to recommend it. If your homepage leads with a slogan, a model has to infer your category. The llms.txt just tells it.
A template you can copy
Replace the content with yours and keep the shape. Short lines, plain words, real links.
# Acme Analytics > Acme Analytics is product analytics for B2B SaaS teams. > It tracks activation, retention, and revenue in one place, > and is built for teams that outgrew a spreadsheet but don't > want a data engineer to run it. ## What it does - Self-serve funnels and retention, no SQL required - Revenue and subscription analytics from Stripe out of the box - Warehouse sync (Snowflake, BigQuery) for teams that have one ## Who it's for - Seed to Series B B2B SaaS, 5 to 200 people - Product, growth, and founder-led teams ## Pricing - Free up to 10k monthly tracked users - Team plan from $99/mo. Full pricing: https://acme.com/pricing ## How it compares - vs Amplitude: simpler setup, aimed at smaller teams - vs a spreadsheet: live, shared, no manual exports ## Key pages - [Docs](https://acme.com/docs) - [Pricing](https://acme.com/pricing) - [Customer stories](https://acme.com/customers)
Where it goes, and how to check it
Save it as llms.txt and serve it from the root of your domain, at yourdomain.com/llms.txt, the same place robots.txt lives. It should come back as raw text, not wrapped in your site’s HTML layout. On most frameworks that means dropping it in the folder that serves static files, for example public/ in Next.js, Vite, or Astro, so the file itself is returned untouched.
Check it works by opening yourdomain.com/llms.txt in a browser. You should see the plain markdown, not a styled page. Two things a validator looks for are a single top-level # heading and real markdown links written as [name](url). Bare Label: URL lines do not count as links, and a file without them reads as empty to the tools that grade it. Google’s PageSpeed Insights now runs an llms.txt check under its agentic-browsing audits, so you can confirm the file passes in the same report you use for performance.
The lines that do the work
- Lead with the category: The first line after your name should say what you are in words a buyer uses. It does more work than anything else in the file.
- Name who it's for: A model recommends you when the question matches your buyer. Spell the buyer out so the match is easy to make.
- Be specific about comparisons: “vs Amplitude: simpler setup, aimed at smaller teams” is the kind of line a model reaches for on a comparison question. Vague superiority claims get ignored.
- Link to pages that prove it: Pricing, docs, customer stories. The links let a model corroborate the file against your actual site, which is how it decides to trust it.
- Keep it honest: Overreaching (“the best analytics platform in the world”) reads as marketing and gets discounted. Accurate, specific description is what travels.
What it won’t do
An honest caveat, because you’ll see llms.txt sold as a magic switch. It is an emerging convention. Not every model reads it today, and none treat it as the last word over everything else the web says about you. It removes ambiguity and makes the on-site half of your GEO clean. On its own it still won’t put you in an answer; the rest of the web has to have something to say about you too. Ship it because it’s cheap and it helps. It does not replace the harder work.
For where that harder work is, the playbook on showing up in AI answers covers the off-site side that does most of the lifting.
A generated llms.txt, tuned to your gaps
A paid meraGEO report ships a custom llms.txt and AI-optimised FAQs built from a scan of how models actually describe you, so the file answers the questions you’re currently getting skipped on. Start with the free scan to see those gaps first.
Run a free scan