GrowNexus — Your Growth, Our Strategy
ServicesIndustriesMarketsProductsComponentsWorkInsightsAbout
GrowNexus — Your Growth, Our Strategy

360° growth partner for Kathmandu, Birgunj and global markets.

  • Facebook
  • Instagram
  • LinkedIn
  • TikTok

Digital Growth

  • Branding & Creative
  • Design Services
  • SEO Optimization
  • Answer Engine Optimization (AEO)
  • Growth Strategy & Consulting
  • Business Automation & AI
  • Training & Certification
  • Social Media Marketing
  • Website & App Development

Activation & BTL

  • Activation & Experiential
  • Event Marketing
  • Retail & Shopper Marketing
  • Direct Marketing
  • Influencer & Community
  • Promotions & Campaigns
  • Trade Marketing (B2B)
  • Out-of-Home (OOH)
  • Print & Collateral
  • Corporate Gifting & Merch
  • PR & Brand Building

Industries

  • Hospitality
  • E-commerce
  • SaaS
  • Professional Services
  • Education
  • Real Estate
  • PR & Communications
  • News & Digital Publishers
  • Plumbing & HVAC

Markets

  • Markets hub
  • Nepal
  • United States
  • United Kingdom
  • Australia
  • Europe
  • UAE
  • India

Resources

  • Products
  • Build Components
  • Insights
  • Process
  • Pricing approach
  • Contact

Growth insights, no fluff

Monthly notes on SEO, paid social, and AI-native marketing for teams that ship.

© 2026 GrowNexus. All rights reserved.

  • Privacy
  • Sitemap
  • Terms
  • Cookies
  • Accessibility Statement
Skip to content
GrowNexus — Your Growth, Our Strategy
Book a strategy call
Insights/AI & Automation

How to Write an llms.txt: A Guide to v2, With 25 Sites Measured

The llms.txt spec was revised in August 2026. We measured 25 major sites on 13 August: 18 publish a file, but only 2 have implemented the discoverability relations v2 added, and none ship them in HTML. Here is how to write one properly.

Published
August 13, 2026
Reading time
8 min read
Written by
GrowNexus Editorial Team
A plain sheet on an oak clipboard tied by a green thread to one ivory block among many.

Article body

On this page
  • First, what it is — and what it is not
  • What version 2 changed
  • What shipped implementations actually look like
  • How to write one
  • The step almost nobody has taken
  • What we have not done
  • What it is worth

On this page

  • First, what it is — and what it is not
  • What version 2 changed
  • What shipped implementations actually look like
  • How to write one
  • The step almost nobody has taken
  • What we have not done
  • What it is worth

The AI search series

One measurement programme, reported in three parts: what the field actually does, what the spec actually says, and what the citation data actually shows.

  1. Answer Engine Optimization: What 13 Measured Websites Actually Do
  2. 2How to Write an llms.txt: A Guide to v2, With 25 Sites MeasuredYou are here
  3. 3What Gets a Business Cited by AI Assistants? 18,151 Sources Compared

The specification for llms.txt changed this month, and almost nobody has noticed.

On 13 August 2026 we fetched /llms.txt from twenty-five SaaS, developer-tooling and website-platform companies — the population most likely to have already shipped one. Eighteen serve a valid file. Two have implemented the one feature version 2 added. In HTML, none have.

This is the practical guide: what the file is, what the new version requires, what shipped implementations actually look like when you measure them, and how to write one that is worth having.

First, what it is — and what it is not

An llms.txt is a markdown file at the root of your site that gives a language model a curated map of it. A title, a short summary, then lists of links with a sentence explaining each. The point is not to hold your content; it is to be small enough to fit in a model's context while telling it exactly where the detail lives.

It was proposed by Jeremy Howard in September 2024. It is not a ranking factor in any search engine, and no assistant has published a commitment to reading one. We said that in our answer engine optimization article and it is still true.

Two things have moved since, and both are worth knowing before you decide:

  • Chrome's Lighthouse now audits sites for one, as part of its agentic-browsing checks.
  • OpenAI, Anthropic and Google all publish one for their own developer documentation.

Neither makes it a ranking signal. A Lighthouse audit is not a search engine, and shipping one for your docs is not a promise to read anyone else's. But "a proposal nobody uses" is no longer an accurate description either, and we would rather update the picture than repeat the version of it that suited us.

What version 2 changed

The v2 proposal landed in August 2026. Four changes matter:

Changev1v2
Finding the fileGuess the root pathStandard link relations: describedby points to it
Markdown version of a pagepage.html.md onlypage.html.md or page.md
Files in subfoldersAllowed, undefinedCovers pages under its path; most specific file wins
The Optional sectionTold tooling what to skipConvention only, no mechanical meaning

The first one is the headline. Under v1, an agent holding one of your URLs had no way to discover the llms.txt that describes it short of guessing at the root. v2 answers that with two relations you can set in HTML or as an HTTP response header:

  • rel="describedby" — points to the llms.txt covering this page
  • rel="alternate" with type text/markdown — points to this page's markdown version

The header form is the more useful of the two, because it also works on responses that have no HTML head to put a tag in: your sitemap, your feed, the llms files themselves.

What shipped implementations actually look like

Everyone writes this guide from the specification. We wanted to know what people who have already done it actually did, so we measured. Twenty-five hosts, one unauthenticated request each, 13 August 2026.

Read the percentages as a ceiling, not an average. The sample deliberately over-selects companies likely to have adopted early. It is not a survey of the web.

Measured on 13 August 2026Result
Serve a valid /llms.txt18 of 25
Also serve /llms-full.txt9 of 18
Open with an H1 on the first line17 of 18
Include the summary blockquote13 of 18
Both, i.e. the shape the spec describes12 of 18
Send rel="describedby" as a response header2 of 18
Ship rel="describedby" in HTML0 of 18
Serve a working markdown version of the homepage4 of 18

Bar chart of the table above: how the eighteen sites that serve an llms.txt actually wrote it, including the two v2 relations almost none have implemented. Every value is in the table.

The seven with no file include two SEO platforms and one documentation company whose own product generates these files automatically. Adoption is not where the noise level suggests.

There is no house style yet

File sizes ran from 2,088 bytes to 210,736 — a hundredfold spread between companies solving the same problem. The median was 16,299 bytes. The largest carried 1,535 links, which is not a map; it is the thing a map is supposed to save you from reading.

The failure mode is prose without links

One platform's file has an H1, three lines of summary and zero markdown links. It reads well and it is useless: an agent that fetches it learns some adjectives and has nowhere to go next. The links are the file. Everything else is framing.

Businesses and documentation sites write completely different files

Developer-facing files are indexes — hundreds of links, almost no prose. Business-facing ones are marketing copy; one opens with sixty words of platform positioning and proof statistics before a single link.

If you are a business rather than a docs site, you will instinctively write the second kind. The second kind is where the quality is worst. Write the summary a buyer would recognise, then spend the rest of the file on links.

How to write one

The structure is fixed and short:

  1. An H1 with your name. The only required element.
  2. A blockquote summary — one paragraph a model can quote to describe you. Say what you do, where, and for whom. This is the line that gets repeated back, so write it like it will be.
  3. Optional prose for anything a model needs in order to interpret the rest.
  4. H2 sections holding lists of links, each entry a markdown link followed by a colon and one sentence.

Our own file runs to 13,359 bytes across 11 sections and 52 linked entries as this publishes — close to the measured median, and a fraction of the largest. It was 13,004 bytes before this article existed; publishing it is what added the difference, without anyone editing the file. The sections are: core pages, services, industries, markets, selected work, recent insights, engagement model, key queries answered, entity information, machine-readable resources, attribution.

Three of those are worth stealing:

  • Engagement model. How buying from you works. Ours says engagements are custom-scoped after a discovery call, with no public rate card and a three-month initial term. If you do not answer that, a model will infer an answer.
  • Entity information. Company, type, headquarters, area served, services, contact, verified profiles. Flat facts, no adjectives. This is the section that stops an assistant guessing.
  • Selected work. We shipped ours without one. An assistant asked who has this agency actually built for had no way to answer from the file written to answer exactly that. Fixed this week.

Generate it, do not maintain it

A hand-written llms.txt is correct on the day you write it and drifts every day after. Ours is built by a route that reads the same service, market and article data the website renders from, so a new article appears in it without anyone remembering. The section structure is code; the contents are generated. That distinction is worth being precise about — it is not magic, it is just a refusal to keep the same list in two places.

The step almost nobody has taken

Two of eighteen send the describedby header. Zero ship it in HTML. The spec is two weeks old, so this is a statement about timing, not competence — and it is a window that closes.

In HTML, one tag in the head:

<link rel="describedby" type="text/plain" href="/llms.txt">

As a response header, which also covers your sitemap and feed:

Link: </llms.txt>; rel="describedby"; type="text/plain"

We shipped both to this site before publishing this article, because writing a guide to a feature we had not implemented is the exact thing we spend our time telling clients not to do.

One warning for anyone auditing this. Two of the sites we measured return HTTP 200 for a markdown version of their homepage and serve an HTML document at that URL. A status-code check would have scored six working markdown versions where there are four. Read the body, not the code. A third sends a describedby header pointing at something that is not its llms.txt at all.

What we have not done

We have not built markdown versions of our pages. That is the other half of the proposal and it is a real project, not an afternoon — every page needs a clean markdown twin at a predictable URL. Four of eighteen measured sites have done it. We have not, and we will not imply otherwise while recommending it.

What it is worth

The honest case has not changed since we last wrote it. A good llms.txt costs a morning. It is not a ranking factor, the traffic it produces is badly attributable, and anyone showing you a confident revenue chart for it is showing you an estimate.

What the measurement adds is narrower and more useful: the file is now common enough among serious companies to be a normal expectation, and the version everyone is running is already out of date. Doing it properly today costs the same morning it always did and puts you ahead of sixteen of the eighteen companies we measured.

Do the ordering from the previous article first — the robots.txt catch-all, honest structured data, pages that answer questions in plain sentences. This is step four, not step one.


We build these as part of SEO and AI-powered search, and generate them from the site's own data under website and app development. If you want the checks above run against your site — file, structure, v2 relations, markdown versions — that is a fixed-scope audit and the output looks like the tables here, with your name in them.

Book a 30-minute call and we will run it first.

Quick answers

What is an llms.txt file and what goes in it?

An llms.txt is a markdown file at the root of a website that gives language models a curated map of it. The format is fixed: an H1 with the site or company name, a blockquote summary of one paragraph, optional prose, then H2 sections containing lists of markdown links, each followed by a colon and a one-sentence description. Only the H1 is strictly required. The point is that the file stays small enough to fit in a model context while pointing to where the detail actually lives, so the links are the substance. When we measured 25 major sites on 13 August 2026, one platform published a file with a summary and no links at all, which leaves an agent nowhere to go.

What changed in llms.txt v2?

Version 2 of the proposal was published in August 2026. The headline change is discoverability: an agent holding one of your URLs can now find the llms.txt covering it through standard link relations rather than guessing at the root. Use rel="describedby" to point at the llms.txt, and rel="alternate" with type text/markdown to point at a page markdown version, either as an HTML link element or an HTTP Link response header. v2 also allows both page.md and page.html.md for markdown versions, defines that a file in a subfolder covers the pages under its path with the most specific file winning, and drops the mechanical meaning of the Optional section.

How big should an llms.txt file be?

Smaller than most people assume. Across 18 sites publishing one that we measured on 13 August 2026, sizes ranged from 2,088 bytes to 210,736 bytes, with a median of 16,299. The largest carried 1,535 links, which defeats the purpose, since the file exists so a model does not have to read your whole site. If you have far more detail than fits, put the map in llms.txt and the detail in a separate llms-full.txt, which 9 of those 18 sites do. Our own file is 13,359 bytes across 11 sections and 52 linked entries.

Is llms.txt worth doing if it is not a ranking factor?

It is not a ranking factor in any search engine and no assistant has published a commitment to reading one, so treat anyone selling it as a ranking signal with suspicion. The honest case is cost against asymmetry: a good file takes about a morning. Two things have changed the picture since 2024 without making it a ranking signal. Chrome Lighthouse now audits sites for one as part of its agentic browsing checks, and OpenAI, Anthropic and Google all publish one for their developer documentation. Do it after the work that pays off regardless, which is a robots.txt catch-all that does not deny unnamed AI agents, accurate structured data, and pages that answer questions in plain quotable sentences.

Cite this article

GrowNexus Editorial Team (2026). "How to Write an llms.txt: A Guide to v2, With 25 Sites Measured." GrowNexus, August 13, 2026. https://grow-nexus.com/insights/llms-txt-guide/

Share on LinkedIn

Written by

GrowNexus Editorial Team

Senior practitioners, GrowNexus

Written by the GrowNexus delivery team: the senior practitioners running live SEO, AI search, paid media and creative accounts. We write about what ships, not what slides.

Who this is for

  • SaaS marketing
  • PR & Communications marketing

Keep reading

Related insights.

More from the same topic, selected by category overlap.

AI & AutomationOct 22, 2026/6 min read

AI Citation Share to Client Leads

Master ai citation share to client leads by tracking attribution blind spots, structuring llms.txt files, and measuring pipeline ROI.

AI & AutomationAug 22, 2026/8 min read

How to Format a Press Release So AI Assistants Cite It

One checkable fact, a named human, real questions, and the right schema. What actually makes a release extractable in 2026 — including the FAQ markup change most advice has not caught up with.

AI & AutomationAug 22, 2026/10 min read

How to Measure AI Citations from PR When Your Analytics Show Nothing

Assistant referrals look like a rounding error while page-one buying questions earn no clicks. Four measurement methods, what each one misses, and the three report splits that change what you work on next.

Field notes by email

Strategy notes.
No fluff.

One email when we publish something worth your time. Unsubscribe anytime.