DISPATCH · 26 AUG 2026
llms.txt v2: what changed and how to update your file
The August 2026 revision, change by change, with a short upgrade routine.
Agent Readiness Compare editors · Spec status checked September 2026
Agent Readiness Compare editors · · 5 min read
Answer
The llms.txt proposal on llmstxt.org was revised to v2 in August 2026. v2 adds link relations so pages can point to their markdown version and to the llms.txt that covers them, accepts both page.html.md and page.md URLs, defines what an llms.txt in a subpath covers, and drops the llms_txt2ctx tool and the special handling of the Optional section. The core file format is unchanged, so the main new work is adding link relations.
On this page
1.What is llms.txt, in one paragraph?
llms.txt is a markdown file at the root of a site, proposed by Jeremy Howard in September 2024. It starts with an H1 name, an optional blockquote summary, and H2 sections of links to the pages a language model or agent is most likely to need, each with an optional note. It is a curated index, not a sitemap, and it does not control crawling; robots.txt does that. Our llms.txt standard page covers the format.
2.What changed in v2?
The llmstxt.org page shows "Modified August 10, 2026", and its changes page lists what moved since v1. Five changes matter to site owners.
- Link relations. A page can point to its markdown version with
rel="alternate" type="text/markdown"and to the llms.txt that covers it withrel="describedby", as an HTML<link>element or an HTTPLink:header. - Markdown URLs. v1 specified appending
.mdto the full URL (page.html.md). v2 allows that form and also replacing the extension (page.md). - Subpaths. v1 permitted llms.txt files in subpaths without saying what they meant. v2 defines it: a file covers the pages under its path, and the most specific file applies.
- Tooling removed. The
llms_txt2ctxcontext-expansion tool is no longer part of the proposal, and theOptionalsection no longer has special mechanical meaning. - Framing. The document now describes how agents use websites: agents view or search the llms.txt to find what they need.
3.Does a v1 file still work?
The core format, an H1, a summary and lists of links, did not change, so a v1 file remains a valid starting point. What v2 adds is a way for individual pages to announce their markdown twin and their covering llms.txt. That matters for an agent that lands on a deep page from a search result or a link, rather than starting at the root.
Two practical points follow. If you publish a single root file and no markdown versions, nothing forces a change. If you already publish markdown versions under the v1 page.html.md convention, those URLs stay valid under v2, so there is no need to rename them.
4.How do you update your site for v2?
- Audit the file. Open /llms.txt, confirm every link resolves, and remove pages that no longer exist or have moved.
- Choose one markdown URL form. If you publish markdown versions, pick
page.html.mdorpage.mdand use it everywhere. If your CDN serves markdown throughAccept: text/markdown, as Cloudflare's Markdown for Agents does, decide whether you also want static .md URLs. - Add link relations. In the head of each page that has a markdown version, add an alternate link to it and a describedby link to the covering llms.txt. Where you cannot edit HTML, send the same relations as
Link:headers. - Split large sites by path if it helps. A docs area at /docs can carry its own /docs/llms.txt; under v2 it covers the pages under /docs and takes precedence there.
- Review the Optional section. It is still a sensible heading for secondary links, but do not rely on tools treating it specially.
- Re-test. Fetch a deep page, follow its describedby link, and check that an agent can get from there to the facts it needs.
<link rel="alternate" type="text/markdown" href="/pricing.md">
<link rel="describedby" href="/llms.txt">Link: </pricing.md>; rel="alternate"; type="text/markdown"
Link: </llms.txt>; rel="describedby"5.What does llms.txt still not do?
It does not grant or block access; robots.txt and CDN bot rules do that. It does not expose actions; MCP, WebMCP and agents.json do. And it does not guarantee that an agent will read it. Treat it as a cheap, low-risk index that makes the read layer more predictable. For how it differs from agents.json, see llms.txt and agents.json; for the read layer as a whole, see lesson 2.
6.Sources
- llmstxt.org
- llms.txt changes since v1
- Cloudflare, Markdown for Agents launch post
- Cloudflare Markdown for Agents docs
- RFC 9309
Reviewed Sep 2026