WordPress llms.txt:它是什么、怎么加、以及到底有没有用
用三种方式在 WordPress 上发布 llms.txt 文件,并且清楚知道现有证据对"AI 公司是否真的会读它"给出的答案。
发布于
llms.txt 是一个放在域名根目录的纯 markdown 文件——https://example.com/llms.txt——里面列出你最好的页面,每条配一句话描述,好让语言模型不用爬遍你的整套导航就能找到有用内容。它是提案,不是标准,而且没有任何主流 AI 厂商公开确认过自己会读取或依据这个文件行事。
这两半都重要。格式本身是真实存在的、规范清晰的,发布一次大约二十分钟。但收益未经证实,而目前围绕它兜售的很多说法,对这一点并不诚实。
这个文件长什么样
提案中的格式是有固定结构的 markdown:一个写着站点名称的 H1,一段可选的引用式摘要,然后是若干 H2 小节,每节包含链接的项目符号列表,链接后用冒号接一句简短描述。名为 “Optional” 的小节表示在上下文紧张时可以跳过的内容。
# Odie Themes
> Free WordPress tools and technically honest guides for theme
> and image configuration problems.
## Guides
- [Why WordPress images look blurry after upload](https://example.com/guides/wordpress-image-blurry-after-upload): Why the 2560px cap creates a -scaled file and how to raise or disable it.
- [WordPress llms.txt](https://example.com/guides/wordpress-llms-txt): What the file is, how to add one, and what it does not do.
## Tools
- [Robots.txt generator](https://example.com/tools/wordpress-robots-txt-generator): Build a robots.txt with correct AI crawler rules.
## Optional
- [About](https://example.com/about): Who runs the site.
值得了解的规范也就这么多。链接要用绝对地址。描述要一句话、讲事实,不要写营销文案——整个前提就是给机器读的,堆砌形容词只会浪费你本想省下来的 token。
你还会看到 llms-full.txt,这是一个配套约定,把你全部内容的完整 markdown 文本装进一个文件。它体积大得多,证据比 llms.txt 还要少。除非你有明确理由,否则跳过它。
说实话的部分
OpenAI、Anthropic、Google、Perplexity 都没有任何公开文档说明它们的爬虫或检索系统会使用 llms.txt。Google 已公开表示搜索不使用它。站长确实会在服务器日志里看到对这个文件的请求,但一次抓取并不能证明内容影响了任何回答——大量机器人本来就在盲目试探各种文件。
所以对下面这些说法要小心:
| 你会看到的说法 | 实际情况 |
|---|---|
| ”llms.txt 是 AI 时代的新 robots.txt” | 假的。robots.txt 有文档且被遵守;llms.txt 只是提案。 |
| “加上 llms.txt 能提升 Google 排名” | 没有证据。Google 没说过它使用这个文件。 |
| “ChatGPT 会读你的 llms.txt” | OpenAI 未确认。 |
| “这个文件发布起来很便宜” | 真的,而且这是支持它的唯一站得住脚的理由。 |
合理的立场是:这是一个便宜的可选项。一个静态文本文件,代价是一次上传、零页面加载时间、零风险。如果这个约定将来被采纳,你已经有了。如果始终没有,你损失了二十分钟。这笔交易划算——只是别让任何人把它包装成 AI 可见度战略。
加到 WordPress 上
方案一:根目录静态文件(推荐)
在本地写好文件,然后用 SFTP 上传到和 wp-config.php、index.php 同一个目录。
WordPress 不会拦截它,因为 .htaccess 里默认的重写块只接管那些匹配不到真实文件或目录的请求:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
磁盘上真实存在的 llms.txt 通不过 !-f 条件,所以 Apache 会直接交出它,PHP 根本不会运行。使用 try_files $uri $uri/ /index.php 的 Nginx 配置行为相同。
有一点要注意:某些托管型 WordPress 主机商禁止通过 SFTP 写入网站根目录,或者站点跑在只读的容器镜像里。如果你是这种情况,方案二和方案三才是你的路。
方案二:用插件
在 WordPress 插件目录里搜索 “llms.txt”——现在已有若干插件能根据你已发布的文章和页面生成这个文件,一些 SEO 插件也把它做成了功能。如果你更新频繁,这确实有用,因为手写的列表会过时。
不过取舍是真实存在的。你为了自动维护一个还没人确认会读的文件,多了一个插件、一个设置页面和一处需要跟进更新的表面。自动生成的列表还往往会把每篇文章都倒出来、用摘要当描述,结果是一个又长又没有区分度的文件——恰恰是这个格式设计初衷(一张精选地图)的反面。如果你用插件,记得修剪它的输出。
方案三:用过滤器从主题里提供
如果你无法写入网站根目录但能改代码,就在 wp-content/mu-plugins/llms-txt.php 放一个小的 mu-plugin,拦截请求并提供一个存放在主题里的文件:
<?php
// wp-content/mu-plugins/llms-txt.php
add_action( 'init', function () {
$path = parse_url( $_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH );
if ( '/llms.txt' !== $path ) {
return;
}
$file = get_stylesheet_directory() . '/llms.txt';
if ( ! is_readable( $file ) ) {
return;
}
header( 'Content-Type: text/plain; charset=utf-8' );
readfile( $file );
exit;
} );
这里用 mu-plugin 而不是 functions.php,是为了让代码在切换主题和更新主题后依然存在。如果你确实要放进 functions.php,请使用子主题。
验证它真的被提供了
不要想当然。检查状态码和内容类型:
curl -sI https://example.com/llms.txt
你要的是 200 和 Content-Type: text/plain。两种失败情况很常见:
- 拿到 200,但正文是你的 404 页面。 WordPress 把请求吞了。文件不在你以为的位置,或者有插件劫持了这个路由。
- 拿到的是
Content-Type: text/html。 有东西在用主题渲染它。先把响应头修好,再去操心内容。
然后在浏览器里打开这个 URL 读一遍。如果某个链接 404,或者你的站点是 HTTPS 而链接指向 http://,就修掉它——一张坏掉的地图比没有地图更糟。
今天真正能控制 AI 爬虫的是什么
如果你的真实目标是影响 AI 系统如何对待你的站点,那么 robots.txt 才是那个有文档、被遵守、现在就生效的文件。GPTBot、ClaudeBot、PerplexityBot、CCBot 和 Google-Extended 都是公布了行为的具名 user agent,而 robots.txt 决定它们能不能抓取你的页面。
那才是背后有实际机制的杠杆。用 robots.txt 生成器来构建你的文件,它让你明确地允许或屏蔽每一个 AI 爬虫,而不用去猜语法。先把这件事做对,再把 llms.txt 当作那个便宜的、带点投机性质的附加项加上。
不要这么做
不要一边在 robots.txt 里屏蔽 AI 爬虫,一边发布 llms.txt。 有人是无意中这么干的——一个文件在请模型进来,另一个把门摔上。门赢了。
不要把 llms.txt 放进子目录。 这个约定只认根目录。放在 /blog/llms.txt 的文件,不会有任何东西去找它。
不要把整份站点地图粘进去。 四百条链接配上千篇一律的摘要,那是抓取转储,不是精选地图,完全违背了这个格式唯一声明过的用途。对多数站点来说,二十到五十个真正有用的页面才是合适的规模。
不要为它推迟真正该做的事。 页面速度、干净的 HTML、准确的结构化数据,以及别人真的愿意引用的内容,都是已知有用的。llms.txt 不是已知有用的。按这个顺序分配你的精力。
FAQ
常见问题
WordPress 里的 llms.txt 是什么?
它是一个放在网站根目录的纯 markdown 文件,访问地址是 yoursite.com/llms.txt,里面列出你最有价值的页面,每条附一句话描述。它的设想是:语言模型读到它就能拿到一张干净的内容地图,而不用去爬你的导航、广告和 Cookie 横幅。
AI 公司真的会读 llms.txt 吗?
OpenAI、Anthropic、Google、Perplexity 都没有公开确认过它们会抓取或使用 llms.txt。有些服务器日志确实出现过对这个文件的请求,但请求不等于内容影响了回答。凡是宣称已被证实能提升排名的说法,都当作没有依据的营销话术看待。
llms.txt 在 WordPress 站点上放在哪里?
放在域名根目录,也就是 robots.txt 所在的位置,所以 URL 是 yoursite.com/llms.txt,不带任何子目录。用 SFTP 把它上传到 WordPress 的 index.php 旁边。WordPress 会直接交出真实文件,因为它的重写规则只接管那些匹配不到已有文件的请求。
llms.txt 和 robots.txt 是一回事吗?
不是。robots.txt 是一项成熟的约定,GPTBot、ClaudeBot、PerplexityBot 这类 AI 爬虫都在文档里写明并遵守它,它决定这些爬虫能不能抓取你的页面。llms.txt 则是一个尚未获得认可的提案,它建议的是该读什么。前者今天就在生效,后者仍属推测。
加上 llms.txt 对 SEO 或排名有帮助吗?
没有证据表明它会影响 Google 排名,Google 也没说过自己会使用这个文件。发布它几乎不花成本,所以加它的合理理由是"便宜的可选项",而不是可衡量的收益。别为了它而把页面速度、结构化数据或内容质量往后排。
llms.txt 应该用插件还是静态文件?
如果你最好的那些页面很少变动,就用静态文件,它不增加任何 PHP 执行,也不会出故障。如果你更新频繁、希望列表自动重建,就用插件。但插件为一个还没人确认会读的文件带来了依赖和开销,所以先从静态文件开始。