llms.txt 怎么写:模板、谁在发、以及它做不到什么

llms.txt 怎么写?把最值得看的页面列出来、每条配一句说明。附格式、可填模板、30 个站的采用情况,以及它做不到的五件事。

抓取与收录6 分钟读完1248 次阅读
llms.txt 怎么写:模板、谁在发、以及它做不到什么

llms.txt 怎么写:一个放在网站根目录的 markdown 文件,把你最值得看的那些页面列出来、每条配一句说明,好让 agent 不用爬遍全站就能找到要的东西。它是一份提案,不是任何人有义务遵守的标准,也没有哪个主流引擎公开承诺过会读它。但它便宜,而且已经开始被审计——这就是做它的老实理由。

读这篇之前

先确认页面对爬虫是取得到、读得到的,再发这个文件。一份指向「爬虫拿到的是空壳」的 llms.txt,只是更高效地把 agent 送去看一片空白——没查过的话先看AI 爬虫会执行 JavaScript 吗

llms.txt 到底是什么

一个 markdown 文件,放在 /llms.txt,或者放在任意路径下以覆盖该路径下的页面。里面是一段网站简介,加上一批精选链接,每条带一句说明。这份提案由 Jeremy Howard 在 2024 年 9 月写下,现在是 v2 版,2026 年 8 月修订。

它的出发点在提案里写得很直接:网页是给人做的,一个 HTML 页面把信息裹在「navigation, ads, and JavaScript」里,再把它还原成干净文本「difficult and imprecise」(困难且不精确)。这个文件就是试着把干净的那份直接递过去。

sitemap 告诉机器有哪些页面。llms.txt 告诉它哪几页值得看。

格式,以及一份真的

四个部分,按这个顺序:一个 h1 写名字、一段引用块写简介、然后若干 h2 分节,每节是一串链接加冒号加说明。下面是 Stripe 那份的开头,2026 年 8 月 15 日实际抓下来的:

# Stripe

> Stripe is a technology company that provides financial infrastructure
> for businesses...

## Payments

- [Stripe Payments](https://stripe.com/payments): Capture more revenue with
  a unified payments solution...
- [Payment methods](https://stripe.com/payments/payment-methods): Convert
  more customers...

注意它不是什么。它不是把所有网址倒出来,不是营销文案,每条说明都是写来帮人判断「要不要点开这一条」的。这份编辑判断就是整个文件的价值——一份机器生成的全量页面清单,只是加了几道工序的 sitemap。

llms.txt 怎么写:一份可以直接填的模板

从十五到三十条开始。一句话说不清楚的页面,多半就不该进这个文件。

# 你的公司

> 一到两句:你做什么、给谁做、你的文档凭什么值得读。

## 快速开始

- [快速上手](https://example.com/docs/quickstart):十分钟内完成配置并跑通第一次调用。
- [安装](https://example.com/docs/install):支持的平台与版本要求。

## 参考

- [API 参考](https://example.com/docs/api):全部接口,带请求与响应示例。

## 关于

- [价格](https://example.com/pricing):各档位、各自的限额,以及什么算进限额。

该放什么,不该放什么

难的不是语法,是决定哪一页配得上一行。一个好用的判据:客户问了一个具体问题,你会不会把这个链接发给他?老实的答案是「单看这一页还不够」,那它就不该排在文件靠前的位置。

实操上真正有回报的,是那些能把一个问题答完整的页面——快速上手、把限额写清楚的价格页、参考文档、针对真实故障的排查页。浪费一行的,是分类列表页、价值只在于链去别处的页面、以及主要为了排名而存在的页面。

放进去别放
快速上手与安装配置分类页、标签页
参考文档博客列表页
价格页,且写明限额新闻稿、活动页
真实故障的排查页已经被取代的旧内容
一句话说清你做什么没有具体信息的营销页

谁真的发了这个文件

2026 年 8 月 15 日,我们从 30 个知名网站取了 /llms.txt,14 个返回了真的文件。分布不是随机的:开发工具和 SaaS 公司几乎人手一份,新闻出版类一个都没有。

提案本身也提到,现在已有数千个站发布这个文件、文档平台会自动生成、几家 AI 实验室都为自己的开发者文档发了一份。逐站的数字在谁在挡 AI 爬虫、谁在发 llms.txt

llms.txt 和 robots.txt、sitemap.xml 并列:robots.txt 管谁可以抓,sitemap 管有哪些页面,llms.txt 管哪几页最值得看

🚫 它做不到的事

这一段是多数教程会跳过的,而失望正是从这儿来的。

它做不到为什么
让你被抓到一个在 CDN 就被挡住的爬虫,同样到不了这个文件。
替代 sitemap两回事。sitemap 管发现和覆盖,它管挑选。
控制训练用途那是 robots.txt 和控制令牌的事。这个文件既不授权也不禁止。
保证有人读它是提案。没有哪个主流引擎公开承诺过会消费它。
救活单薄的页面把 agent 指向一个弱页面,它读到的就是那个弱页面。

到底有没有东西在读它

我们不知道,也不打算暗示知道。能核实的部分更窄,但仍然有意义:提案经过两年采用已经到 v2、文档平台会自动生成、几家主要 AI 实验室为自己的文档发布了一份、Chrome 的 Lighthouse 现在已把它纳入 agentic browsing 的审计项。

这些都不等于哪个爬虫运营方说过「我们读这个」。真正能了结这个问题的测量是服务器日志——数 /llms.txt 收到多少请求、来自哪些 UA。那个研究我们没做,因为需要拿不到的日志访问权,而我们宁愿这么说,也不去引用别人的估计。

怎么发布它

这是个静态文本文件,多数技术栈上五分钟的事。

  1. 写出来,从上面的模板起步。挑,不要罗列。
  2. 放到 /llms.txt,内容类型给 text/plaintext/markdown,丢在你静态文件所在的位置。
  3. 用爬虫的身份取回来,确认拿到的是文件,不是你的首页。单页应用经常对未匹配路径返回应用外壳,那看起来像成功,其实不是。
curl -s -A "Mozilla/5.0 (compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot)" \
  https://example.com/llms.txt | head -20

如果打出来是 HTML,说明你的文件没被提供,那个 200 是应用的兜底路由在应答。

怎么让它别过期

一份过期的 llms.txt 比没有更糟,因为它会很笃定地指向已经搬走的网址。它是一份人工清单,所以它过期的速度跟你的文档一样快——而且不像 sitemap,除非你的文档平台替你生成,否则没有任何东西会自动重建它。

最便宜的维护是:跟你检查别的东西同一个频率检查这些链接,产品一变就把说明重读一遍。写个循环把文件里的网址逐个请求一遍看是不是 200,几秒钟就能抓到最常见的那种失效。

三种常见的做错

第一种最常见,而且不做上面那步检查根本看不见。

  1. 兜底路由替文件应答了。你的框架对任何未匹配路径返回首页,于是 /llms.txt 返回 200 和一段 HTML。看起来全配好了,实际什么都没配。
  2. 把所有页面都列上。价值在于挑选。一个有 400 条链接的文件没有做任何决定,帮不了任何人。
  3. 把说明写成营销文案。「面向现代团队的最佳方案」不能告诉 agent 什么时候该点开这条。写这一页上有什么。

常见问题

llms.txt 是官方标准吗

不是。它是一份提案,目前 v2。采用是真实的、也在增长,几家 AI 实验室也为自己的文档发了一份,但没有任何标准组织批准过它,也没有引擎有义务读它。

我不是文档站,要不要发

如果你确实有一批「希望 agent 优先读」的页面,就发,成本是一个静态文件。如果你的站只有十来个营销页,这个文件给不了 sitemap 之外的东西。

它对 Google 排名有帮助吗

没有证据说有,而且任何这么宣称的说法都值得怀疑。把它当成引导 agent 的一种方式,不要当成排名手段。

文档在子域名上,文件放哪儿

每个主机各放一份。文件覆盖的是它自己所在路径以下的页面,所以独立子域名上的文档,要在那个子域名的根目录放自己的一份。

下一步

文件发布并验证过之后,这一部分剩下的问题是:它指向的那些页面,结构上能不能让引擎把答案摘出来——因为一份精心挑选、却指向一堆摘不走的页面的清单,仍然是一份摘不走的清单。

写这个文件要一个下午。随着网站变化让它保持准确、并在变化时推送收录,才是会卡住的部分。

本文属于 QueryWin 实操手册 · 第 2 阶

llms.txt 怎么写:模板、谁在发、以及它做不到什么