llms.txt: The Complete Guide for B2B SaaS
· 7 min read · By Perciva Team
llms.txt is a plain Markdown file you place at the root of your website (yoursite.com/llms.txt) that gives AI systems a curated map of your most important pages: what your product is, where the docs live, what your pricing looks like, and which pages explain your positioning best. Think of it as a table of contents written for language models instead of humans.
The short answer for B2B SaaS teams: llms.txt takes about an hour to create, costs nothing to maintain, and is not yet guaranteed to be read by every major AI engine. That combination — trivial cost, uncertain but plausible upside — is exactly why most technically serious SaaS companies have shipped one anyway. This guide covers the exact format, a complete example you can adapt, and the honest state of adoption.
What llms.txt Actually Is
The llms.txt standard was proposed in September 2024 by Jeremy Howard, co-founder of Answer.AI and fast.ai. The problem it addresses is real: language models have limited context windows, and your website — with its navigation chrome, cookie banners, JavaScript-rendered content, and marketing filler — is a hostile environment for a model trying to figure out what you actually sell.
llms.txt solves this by offering a single, clean, Markdown-formatted file that says: here is who we are, and here are the pages that matter, with one-line descriptions of each. It is deliberately not a sitemap (which lists everything indiscriminately) and not robots.txt (which controls access rather than providing guidance). It is editorial curation for machines.
The Format, Line by Line
The spec is intentionally minimal. A valid llms.txt contains, in order:
- An H1 title — your project or company name. This is the only strictly required element.
- A blockquote summary — one short paragraph describing what the site is about, with the key facts a model needs to interpret everything else.
- Optional free-form Markdown — additional context paragraphs, without headings.
- H2-delimited link sections — each section groups related links, and each link gets an optional one-line description after a colon.
- An "Optional" section — an H2 literally named "Optional." Links here are the ones an AI can skip when context is tight. This naming carries meaning in the spec, so use it deliberately.
A Complete llms.txt Example for B2B SaaS
Here is a realistic example for a fictional product analytics company. Adapt the structure, not the content:
# Acme Analytics
> Acme Analytics is a product analytics platform for B2B SaaS teams.
> It tracks feature adoption, account health, and expansion signals.
> Plans start at 49 EUR/month. SOC 2 Type II certified.
## Product
- [Pricing](https://acme.com/pricing): Plans, limits, and what is included at each tier
- [Feature overview](https://acme.com/features): Core capabilities with screenshots
- [Security](https://acme.com/security): SOC 2, GDPR, data residency, and subprocessors
## Docs
- [Quickstart](https://acme.com/docs/quickstart): Install the SDK and send your first event
- [API reference](https://acme.com/docs/api): REST endpoints, auth, and rate limits
- [Integrations](https://acme.com/docs/integrations): Salesforce, HubSpot, Segment, and webhooks
## Comparisons
- [Acme vs. Mixpanel](https://acme.com/compare/mixpanel): Feature and pricing comparison
- [Acme vs. Amplitude](https://acme.com/compare/amplitude): When each tool is the better fit
## Optional
- [Blog](https://acme.com/blog): Product analytics guides and benchmarks
- [Changelog](https://acme.com/changelog): Release notes
Notice what this file front-loads: pricing, security posture, and comparison pages. Those are the pages AI engines need when a buyer asks "how much does Acme cost?" or "Acme vs. Mixpanel" — the buyer-intent questions where a wrong or vague AI answer costs you pipeline.
llms.txt vs. llms-full.txt
The spec also describes a companion file, llms-full.txt, which inlines the complete content of your key pages (typically your documentation) into one large Markdown file, instead of linking out. Developer-tool companies with large docs sites use it so an AI can ingest the entire docs corpus in one fetch.
For most B2B SaaS teams the priority order is clear: ship llms.txt first. Add llms-full.txt only if your documentation is a genuine competitive asset and your docs platform can generate it automatically — several documentation hosts now produce both files out of the box. Maintaining a hand-built llms-full.txt is a recipe for staleness, and a stale file is worse than no file.
The Honest Part: Does Anything Read It?
This is where most llms.txt articles oversell. The truthful status: llms.txt is a proposed community standard, not a ratified one. No major AI engine has committed to fetching it the way search engines committed to sitemaps. Google's representatives have publicly downplayed it. You should not expect a measurable citation jump the week you ship it.
What is also true: adoption on the publisher side has become mainstream among technical companies — Anthropic, Stripe, Cloudflare, and Vercel all publish one — and AI crawlers and agent frameworks increasingly fetch the file opportunistically when they encounter it. The realistic framing is insurance: the cost is one hour, the file also doubles as a useful canonical summary of your site, and if engines formalize support you are already in position. For a shorter direct answer to the should-you question, see What is llms.txt and should you add it?
How to Ship One in an Afternoon
- List your ten most decision-relevant pages. Pricing, security, top three comparison pages, quickstart, API reference, integrations, and your best "what is [category]" explainer.
- Write the blockquote summary with facts, not slogans. Category, ideal customer, starting price, and one differentiator. Skip the mission statement — models need facts they can repeat.
- Write one-line descriptions for every link. Each description should tell a model when to use that page, not how great it is.
- Serve it as plain text at /llms.txt. Content type text/plain or text/markdown, no authentication, no redirect chains.
- Make sure the linked pages are crawlable. An llms.txt pointing at pages your robots.txt blocks for AI crawlers is self-defeating — audit both files together.
- Add it to your release checklist. When pricing or packaging changes, llms.txt changes. Stale pricing in this file is worse than absence, because you wrote it in the one place designed to be trusted.
Mistakes That Make Your llms.txt Useless
- Dumping your entire sitemap into it. Curation is the whole point. Fifty undifferentiated links is noise.
- Marketing copy in the summary. "The world's leading revenue platform" gives a model nothing. "Revenue analytics for 20–500 person SaaS companies, from 49 EUR/month" gives it everything.
- Linking to JavaScript-only pages. Most AI fetchers do not execute JavaScript. If the linked page is empty without it, link to a rendered or docs version instead.
- Set-and-forget. The file asserts facts. Facts drift. Review it quarterly at minimum.
Frequently Asked Questions
Does llms.txt replace robots.txt or sitemap.xml?
No. The three files do three different jobs: robots.txt controls which crawlers may access which paths, sitemap.xml enumerates URLs for indexing, and llms.txt curates and describes your most important pages for AI consumption. They coexist — and they must agree. The most common inconsistency is an llms.txt confidently listing pages that robots.txt or a CDN bot rule blocks for AI user-agents, which turns your guidance file into a list of dead ends.
Where exactly does the file live?
At the web root: yoursite.com/llms.txt, served over HTTPS as plain text. Subdirectory or subdomain placements defeat the point of a well-known location. If your docs live on a separate subdomain, the root file can and should link across to them.
Will llms.txt improve our Google rankings?
There is no evidence it affects classic search rankings, and no reason to expect it to — it is an AI-guidance convention, not a ranking signal. Treat any agency selling llms.txt as an SEO ranking tactic as a red flag.
How do we know if anything is fetching it?
Check your server logs for requests to /llms.txt and note the user-agents. Fetch activity varies widely by site and by month; measuring your own logs beats trusting anyone's general claim, including ours.
The Bottom Line
llms.txt is cheap, sane, and aligned with where AI-mediated buying is heading — just do not confuse shipping it with a strategy. It is one input among many, and the only way to know whether AI engines describe your product correctly is to check the answers themselves. That is measurement work, not file work: see how to measure GEO for the metrics side, or review Perciva's methodology to see how we track what AI engines actually say about B2B SaaS products week over week.