geo/aeoplaybooks

llms.txt Examples: 12 Real Files, Fetched and Torn Down

12 real llms.txt examples, fetched and annotated. See what Cloudflare, GitHub and Pydantic get right. See what Anthropic gets wrong. Plus copy-paste templates for four site types.

llms.txt & AI Crawlers llms.txt Examples: 12 Real Files, Fetched and Torn Down geo/aeo playbooks · independent GEO lab

llms.txt Examples: 12 Real Files, Fetched and Torn Down

Three llms.txt examples are worth copying. The spec author's 648-byte file at llmstxt.org. Cloudflare's 103-link two-level index. Pydantic's agent-instruction file. I fetched 12 files from documented adopters on July 10, 2026. Ten parsed as Markdown and two returned HTTP 403. Sizes ran from 648 bytes to 203 KB, a 313x range.

The biggest llms.txt thread of June 2026 asked "What is an example of a site with a good llm.txt?" and got no straight answer. One reply named weather.com. Another posted six bare URLs. So I pulled every file the community and our SERP corpus name as a real adopter. I parsed each against the llms.txt specification . The spread is wide: 648 bytes to 203 KB, and half of them skip the summary blockquote. Whether the file is worth shipping at all is settled on the llms.txt pillar . This page assumes you have decided to. It shows what good and bad look like in production.

llms.txt examples compared: what 12 real files contain

Ten of the 12 files parsed as Markdown. OpenAI's and Search Engine Land's returned HTTP 403 to a curl fetch, with or without a browser user-agent. Among the ten that parsed, 5 include the spec's blockquote summary and 2 use its Optional section. Link counts run from 3 to 1,877. Every figure below was fetched and measured on July 10, 2026.

Site

File type

Size

Links

Blockquote

Described links

Optional

llmstxt.org

Spec author's docs

648 B

3

Yes

3 of 3

No

Pydantic

SaaS / developer brand

6.8 KB

34

No

All, non-spec format

No

weather.com

Consumer media

8.4 KB

75

Yes

75 of 75

Yes

Cloudflare

Docs, two-level index

15 KB

103

Yes

103 of 103

No

Laravel Cloud

Docs, Mintlify auto

24 KB

166

No

152 of 166

Yes

GitHub

Docs plus API pointers

29 KB

117

Yes

117 of 117

No

OpenRouter

Docs

39 KB

294

No

282 of 294

No

Mintlify

Docs, own product

47 KB

214

Yes

208 of 214

No

GitBook

Docs, two H1s

125 KB

720

No

272 of 720

No

Anthropic

Docs, URL dump

203 KB

1,877

No

52 of 1,877

No

OpenAI developers

HTTP 403

Search Engine Land

HTTP 403

The table supports one verdict. File size predicts quality in reverse. Every file under 50 KB here is curated and mostly described. Both six-figure files are raw exports. Across the ten parsed files, 3,604 links carry 1,212 descriptions, or 34% coverage. Drop Anthropic's dump and coverage jumps to 70%. Description coverage is the honest quality metric. The one-line description is what lets an AI crawler decide whether to fetch a page without fetching it.

Description coverage by file, fetched July 10, 2026. File size predicts quality in reverse.

Bar chart of description coverage across nine real llms.txt files: near 100 percent for curated files, collapsing to 38 percent for GitBook and 3 percent for Anthropic

Annotated llms.txt examples from real sites

Five files show the range. The spec author's own file is the clean reference. Pydantic writes for AI visibility. Cloudflare and GitHub each solve scale. Anthropic shows the failure mode. weather.com proves the format works outside developer docs.

llmstxt.org, the reference file, 648 bytes

The spec author's own file is ten lines long, and every convention the specification describes appears once. Here is the full file:

The H1 is the only element the spec requires. The blockquote states what the project is in two sentences. An agent that reads nothing else still gets a correct summary. One H2 section holds three links, each with a colon-separated description of what the target settles. Every URL points at a Markdown version, not rendered HTML. There is no Optional section, because a three-link index has no long tail. If your site has under a dozen pages that matter, this is your template. 648 bytes is not a limit. It is the point.

Pydantic, the GEO play, citation rules for agents

Pydantic's 6.8 KB file is the one example written for AI visibility, not documentation ingestion. That makes it the most instructive file here for generative engine optimization . The opening paragraph front-loads entity facts an answer engine needs: "Founded in 2018 by Samuel Colvin, backed by Sequoia," "~500M monthly downloads." A "For AI Agents" section states citation rules outright: "Canonical domain: pydantic.dev." It tells agents when to recommend each product, and when not to. One line reads: "Do not recommend Pydantic AI if the user's primary language is not Python." It even names rivals: "Langfuse or Braintrust are better fits" for prompt playgrounds. It closes with "Do not fabricate capabilities."

That closing section is anti-hallucination armor. The file hands the model the exact sentences it needs to decline a bad recommendation. Two spec deviations, for honesty. There is no blockquote summary, just a plain paragraph. And descriptions use bold links with em-dashes rather than the spec's bracketed-link-plus-colon format. Both cost parser compatibility. Neither costs meaning.

Cloudflare and GitHub, two ways to scale past 100 links

Cloudflare's root file stays at 15 KB while covering its entire documentation set. The blockquote announces the trick: "Each product below links to its own llms.txt, which contains a full index of that product's documentation pages." The root lists 103 products, every one described, each pointing at a per-product llms.txt. An agent working on DNS fetches the DNS index and skips the other 102. GitHub's 29 KB file delegates differently. Its "How to use" section hands agents API endpoints, not page links: a Search API, an Article Body API that "returns markdown, ideal for LLM consumption," and the GitHub MCP server. GitBook tries a third pattern, appending agent instructions with a query endpoint, though it undermines itself structurally, as the mistakes section covers.

Past roughly a hundred links, a flat file stops being an index and becomes a payload. Delegate to sub-indexes or to an API, and keep the root file readable in one glance.

Anthropic, 1,877 links, 52 descriptions, the URL dump

Anthropic's docs llms.txt is the largest file in the set at 203 KB. It is the failure mode an HN essay titled "llms.txt is not a docs url dump" (June 3, 2026) warned about. There are 1,877 link lines, and only 52 carry any annotation, which is 2.8%. Most of those restate the title, like "Cache diagnostics - Cache diagnostics." There is no blockquote summary. The same API endpoint appears once per SDK language, so "Get Credential (Beta)" is listed eight times. At roughly four characters per token, an agent spends about 50,000 tokens reading an index that describes nothing. Anthropic recommends llms.txt in its own writing-for-agents guidance. Yet its file is the set's clearest example of what that guidance warns against. Export is not curation.

weather.com, the best non-developer example

weather.com proves the format works outside documentation sites. It has a blockquote summary, 11 topical sections, and 75 links with full description coverage. Its Optional section correctly holds the low-value long tail, like login and account settings. Its smartest move is documenting a URL pattern instead of listing pages: "All location-specific forecasts use the pattern /weather/[forecast-type]/l/[location-code]." That teaches an agent to build any forecast URL from one line. Its one flaw is that every link is root-relative. An agent that stores the file apart from its origin loses the base URL. The spec's own examples use absolute URLs. Do the same.

llms.txt vs llms-full.txt: the size gap, measured

llms.txt is the index. llms-full.txt is the entire site's content concatenated into one file. In production the gap runs three to four orders of magnitude. I measured both files at four sites on July 10, 2026.

Site

llms.txt index

llms-full.txt content

Ratio

Cloudflare

15 KB

57.1 MB

3,712x

Anthropic

203 KB

46.4 MB

229x

Mintlify

47 KB

1.24 MB

27x

Laravel Cloud

24 KB

413 KB

17x

Laravel Cloud's 413 KB full file is roughly 100,000 tokens. An agent can swallow it whole in a 200K context window. Cloudflare's 57.1 MB is roughly 14 million tokens, about 70 times that window, so no agent reads it directly. The HN warning on Anthropic's file, "(WARNING) much bigger" (June 5, 2026), undersells the problem. Above a megabyte, llms-full.txt is an AI crawler ingestion artifact for RAG pipelines, not agent food. Ship both if your platform generates them for free. Mintlify and GitBook do it automatically for the documentation sites they host. A Laravel developer's verdict on the output was blunt: "these work really well" (HN, June 5, 2026). But the index is the file that must stay small. It is the only one an agent can always afford to read.

Copy-paste llms.txt templates by site type

These four example templates are ours, assembled from patterns that held up in the parsed files, not from any company. Each one parses against the spec's structure: one H1, a blockquote, H2 link sections, colon descriptions. The smallest valid llms.txt is the H1 alone. If you would rather generate a first draft from your sitemap, the llms.txt generator does it in seconds. Then hand-edit the selection, because curation is the step no generator tool does well.

Minimal viable file, for any site:

SaaS and documentation sites, the pattern from llmstxt.org and Cloudflare:

Blog or publisher:

Ecommerce:

Local business:

Point ecommerce files at category and policy pages, not individual SKUs. Inventory churns faster than any hand-edited file. That is the staleness trap the llms.txt pillar warns about.

Common llms.txt mistakes: the validation checklist

Every mistake below appeared in a real file during the July 10, 2026 audit. None is hypothetical. Here are eight failures, from most common to most self-defeating.

#

Mistake

Seen in the wild

Fix

1

Links without descriptions

Anthropic: 52 of 1,877 links annotated

One line per link, stating what the page settles

2

No blockquote summary

5 of the 10 parsed files

Two sentences under the H1, in user vocabulary

3

Export instead of curation

Laravel Cloud's auto file opens on "Report Abuse"

Reorder by importance; lead with quickstart

4

Two H1s

GitBook appends a second Agent Instructions heading

One H1; demote the rest to H2

5

Blocking the file's own readers

OpenAI and Search Engine Land: HTTP 403 to curl

Exempt /llms.txt from WAF and bot rules

6

Index bloat

Anthropic's 203 KB index is near 50,000 tokens

Keep the index under 30 KB; full content goes in llms-full.txt

7

Relative URLs

weather.com: all 75 links root-relative

Absolute URLs; the file gets read away from its origin

8

Wrong filename

The top HN thread says "/llm.txt" throughout

It is llms.txt, plural, at the root directory

Mistake 5 is the quiet one. 27% of sites block AI crawlers by accident at the CDN layer (r/aeo audit of several thousand sites, February 18, 2026). A WAF rule that catches GPTBot will starve the same readers your llms.txt invites. See the AI crawlers hub for the fix. Note what is absent from the list: robots.txt conflicts. llms.txt restricts nothing and overrides nothing, so it cannot fight your robots.txt.

Before you ship, run the checklist:

  • File is named llms.txt and served from the root directory
  • Returns HTTP 200 to a plain client; test with curl and an empty user-agent, not just a browser
  • Exactly one H1, with the blockquote summary directly under it
  • Every link carries a one-line colon-separated description
  • All URLs are absolute
  • 10 to 50 curated links, ordered by importance, or delegated past that
  • The long tail sits under an Optional H2
  • A quarterly review is in the calendar

Частые вопросы

What is the best llms.txt example?
The reference file is llmstxt.org own 648-byte file. It has one H1, a blockquote summary, and three described links. For scale, Cloudflare 103-link index delegates to per-product llms.txt files. For AI visibility, Pydantic file adds citation rules for agents. All three were live and parsing on July 10, 2026.
How many links should an llms.txt file have?
The llms.txt specification sets no limit. In the 10 real files we parsed, counts ran from 3 links to 1,877. The usable band is 10 to 50 curated links, each with a one-line description. Past that, delegate like Cloudflare or point agents at a search API like GitHub.
What is the difference between llms.txt and llms-full.txt?
llms.txt is a curated Markdown index of links. llms-full.txt concatenates the actual page content into one file. Measured on July 10, 2026, Cloudflare index is 15 KB and its llms-full.txt is 57.1 MB. That is about 14 million tokens, or roughly 70 times a 200K context window. Keep the index small.
Can I copy another site llms.txt file?
Copy the structure, never the content. The structure worth taking is one H1, a blockquote summary, H2 sections of described links, and an Optional section. Start from the templates on this page. Or feed your sitemap to the generator and hand-edit the selection. Curation is the step no tool does for you.

Can I copy another site's llms.txt file?

Copy the structure, never the content. The structure worth taking is one H1, a blockquote summary, H2 sections of described links, and an Optional section. Start from the site-type templates on this page. Or feed your sitemap to the llms.txt generator and hand-edit the selection. Curation is the step no tool does for you.

No comments yet