知名开发者文档站都有 llms.txt 吗?
不都有,但多数有。我们在 2026-11-06 用 curl 打开了 11 个知名文档站根路径下的 /llms.txt:8 个返回 200,3 个返回 404。这只是一次抽样,不代表所有文档站,也不说明有 llms.txt 的站从中得到了什么。
| 文档站 | /llms.txt(2026-11-06) | 我们看到的 |
|---|---|---|
| docs.stripe.com | 有(200) | 约 97 KB;开头是写给 AI 编程工具的提示,不是普通简介;每页另有 .md 版本(/payments.md 返回 text/markdown);没有 llms-full.txt(404) |
| developers.cloudflare.com | 有(200) | 约 17 KB,按产品分组,每个产品链接到自己的 llms.txt;llms-full.txt 存在,约 70 MB |
| docs.anthropic.com | 有(跳转到 platform.claude.com) | 约 98 KB |
| vercel.com/docs | 有(308 跳转到 vercel.com/llms.txt) | 约 5 KB;vercel.com/docs/llms-full.txt 存在,约 12 MB |
| supabase.com | 有(200) | 约 3 KB |
| nextjs.org | 有(200) | 约 15 KB;有“什么时候该用这个网站”一节,写明哪些问题以文档为准 |
| react.dev | 有(200) | 约 15 KB;开头的链接指向页面的 .md 版本 |
| docs.github.com | 有(200) | 约 29 KB;有“怎么用”一节,指向取全文和搜索的接口 |
| developer.mozilla.org | 没有(404) | — |
| platform.openai.com | 没有(404) | — |
| docs.python.org | 没有(404) | — |
从这批文件能看到三种做法:一份简短的目录(Supabase、React);按产品拆成多份、再用一份总目录串起来(Cloudflare);目录加每页的 Markdown 版本(Stripe、React)。有 llms-full.txt 的两家,文件分别有几十 MB 和十几 MB,一次读不完,这是我们的推断,不是它们说的原因。
这些文件被谁读、读了多少,我们没有找到官方说明,未核实。它对 ChatGPT、Perplexity、Google 这类 AI 搜索的推荐有没有用,见 llms.txt 是什么?有用吗?:目前没有证据。
文档站和普通营销页,对 AI 来说有什么不同?
文档的读者更多是在问“怎么做 X”“这个报错是什么意思”,而不是“哪个产品好”。所以文档页要能直接当答案被摘走,而不是靠别的页面补全上下文。
| 做法 | 为什么 |
|---|---|
| 一页只回答一个问题,标题就是问题 | 标题和问句一致,AI 和搜索都容易对上 |
| 第一段直接给答案,再展开 | 摘走第一段就是完整的答案 |
| 每页写清适用的版本和最后更新日期 | 旧版本的做法最容易被当成现在的做法,见内容更新指南 |
| 代码示例能直接复制,写清语言、前提和预期输出 | 不要用截图,不要把命令和输出混在一起 |
| 报错信息原文写进页面,旁边写原因和修法 | 用户会把报错原文拿去搜和问 |
| 页面之间用普通链接,链接文字说清目标页是什么 | 不要只写“点这里”“见下文” |
| 正文直接写在 HTML 里 | 不要靠浏览器端脚本渲染,见 JavaScript 指南 |
正文的写法见 怎么写出 AI 愿意引用的内容?改写前后对照;页面更新和日期见 页面写上更新日期,对 AI 引用有用吗?;爬虫会不会执行脚本见 AI 爬虫会执行 JavaScript 吗?。
一个文档页具体可以怎么写?
下面是一个骨架(产品和接口是虚构的):标题是问题,第一段是答案,写了适用版本和日期,各语言的代码分小节,报错用表格。
# How do I verify a webhook signature?
Verify the X-Example-Signature header with your endpoint secret before
you read the body. Use the official library; do not compare strings yourself.
Applies to: API version 2026-10-01 and later. Last updated: 2026-11-06.
## Node.js
const event = example.webhooks.verify(rawBody, signature, secret);
## Python
event = example.webhooks.verify(raw_body, signature, secret)
## If verification fails
| Error | Cause | Fix |
|---|---|---|
| invalid_signature | Body was parsed before verifying | Pass the raw body |
| timestamp_too_old | Server clock is off by more than 5 minutes | Sync the clock |
Related: [Webhook events](/docs/webhooks/events/), [Retries](/docs/webhooks/retries/)
llms.txt 和 llms-full.txt 要做吗?
开发者文档可以做,代价小,但别指望它带来推荐。llms.txt 是目录,llms-full.txt 是把文档拼成一个大文件;规范和现状见 llms.txt 是什么?有用吗?。从上面的抽样看,做的站里有的还给每个页面提供了 .md 版本,让工具直接取到干净的文本。第一版可以用 llms.txt 生成器 起草,再手改。
如果文档很大,不要只做一个 llms-full.txt:按产品或章节拆成几份,每份在目录里写一句说明,抽样里 Cloudflare 就是这样做的;这样每份更小,我们推断更容易被读完。
怎么一步一步改?
1. 先确认爬虫进得了文档站
文档站常放在子域名,要单独看它的 robots.txt 和防火墙。规则见 AI 爬虫的 robots.txt 怎么写?。
2. 挑 20 个最常被问到的页面,先改这些
用你的搜索日志、客服问题和 GitHub issue 选,不要一次全改。
3. 每页改成“标题是问题、第一段是答案”
加上适用版本和最后更新日期。
4. 代码示例换成可复制的文本
写清语言、前提、预期输出;报错原文进表格。
5. 加结构化数据,并和正文一致
文档页可以用 TechArticle 或 Article,标题和日期要和页面上看到的一样,见 结构化数据对 AI 搜索有用吗?。
6. 发布 llms.txt,需要时再加 .md 版本和 llms-full.txt
先发目录,每条链接写一句话说明;文档大就按产品拆开。
7. 每次发版改日期,并看服务器日志
在日志里搜 /llms.txt 和 .md 的请求,看是哪些 User-Agent 来的,有记录再继续投入。
常见问题
开发者文档需要 llms.txt 吗?
可以做,成本低;但没有证据表明它会让 AI 搜索更多推荐你。2026-11-06 我们抽样 11 个知名文档站,8 个有、3 个没有(MDN、OpenAI 平台、Python 文档)。
llms-full.txt 要不要做?
不是必须。抽样里 Cloudflare(约 70 MB)和 Vercel(约 12 MB)有,Stripe 没有(404)。文档很大时更实际的做法是按产品拆成多份。
每个文档页要不要提供 Markdown 版本?
Stripe 和 React 这样做了(在网址后加 .md,2026-11-06 实测返回 200)。是否值得做取决于你的读者是否常用 AI 编程工具,我们没有数据说明它对搜索引用的影响。
文档放在子域名还是子目录?
我们没有找到官方说明哪种更好,未核实。抽样里两种都有(docs.stripe.com 是子域名,vercel.com/docs 是子目录)。无论哪种,都要单独确认 robots.txt 和防火墙。
代码示例应该放截图吗?
不要。截图里的文字读不到,也不能复制;用文本代码块,并写清语言和前提。
出处
- Stripe · docs.stripe.com/llms.txt (2026-11-06 打开)
- Cloudflare · developers.cloudflare.com/llms.txt (2026-11-06 打开)
- Next.js · nextjs.org/llms.txt (2026-11-06 打开)
- React · react.dev/llms.txt (2026-11-06 打开)
- GitHub Docs · docs.github.com/llms.txt (2026-11-06 打开)
- llmstxt.org · The /llms.txt file (2024 年提出,2026-11-06 查看)
- kagentx 评测:案例页的数据,日期写在每个例子里。