方法 · 5 分钟
那个返回 HTML 的 llms.txt
我们测过的 48 个站里,有 4 个对 /llms.txt 回了一个 200 和一张 HTML 页面。任何只看状态码的检查,都会把这 4 个判成健康。
一个不存在的文件是怎么回 200 的
现代站点大多会把所有未知路径都交给应用外壳,这样客户端路由才能工作。那个外壳是一张 HTML 文档,在浏览器里渲染正常,而且以 200 返回。所以一个站只要加了兜底路由,/llms.txt 就不再返回 404 —— 它返回的是整个应用,而所有天真的检查器从此开始报告「文件健康」,尽管那个文件不存在。
我们用的三段判定
- 内容类型必须是 text/plain 或 text/markdown。是 text/html 就说明你拿到的是那个应用。
- 第一个非空行必须以 # 开头。这个格式的全部结构就是一个标题加一个列表;不以标题开头的文件没有在遵守它。
- 正文不能以 doctype 或 html 标签开头。这一条能在代理改写了内容类型时仍然抓住兜底页 —— 这种情况比你以为的多。
200 的意思是服务器答应了。它不意味着那里有一个文件 —— 而上面那三段判定的每一段,都是状态码看不见的。
48 个站里我们看到了什么
- 23 个有真的 llms.txt —— 类型对、首行是标题。
- 4 个返回的 200 其实是 HTML。状态码说没问题;正文什么也没说。
- 其余的根本没有 llms.txt,这至少是诚实的 —— 404 是一个明确的回答。
那个几乎没人设的字段
读这些文件时我们还看了 Content-Signal —— 那个告诉机器这些内容可以被怎么用的字段。全部 48 个站里,设了它的有 0 个。不是罕见,是没有。
这是关于这个样本的陈述,不是关于整个互联网的。这些页面是在竞争 AI 引用的,所以你本来会预期它们领先于平均,而不是落后。
十秒钟查一下你自己的
在你自己的域名后面打开 /llms.txt。如果它渲染成一张网页而不是纯文本,你就有兜底页的问题,而且你并没有 llms.txt。我们的可读性体检会替你跑那三段判定,生成器会写出一份能通过的文件。
这篇会引出的问题
我的 /llms.txt 返回 200,是不是就没问题?
不一定。看内容类型和第一行。返回 200 但内容是 HTML,是这个品类里最常见的误判,也正是「只看状态码」不算检查的原因。
llms.txt 真的能提高引用吗?
我们没测过,所以不这么说。我们测的是这个文件存不存在、是不是真的。把真的 llms.txt 当卫生习惯,不要当杠杆 —— 和我们对待八项里的另外六项一样。
这个格式为什么没有标准?
它是提案不是标准,我们自己的 ai.txt 上就这么写。多数站都没有。这也正是一个真的返回了它的页面值得被注意的原因。