如何编写 llms.txt——以及它是否真的有用
一份面向 AI 爬虫、内容摘要和模型端站点说明的新兴文件的实用指南。
目录
简短版
llms.txt 是一种新兴约定,用来告诉大型语言模型你的网站是什么、哪些页面重要,以及你的内容应如何被理解。它通常位于 https://example.com/llms.txt,使用 Markdown 编写,并链接到干净、有用的资源。
它不同于 robots.txt。它不是官方 Web 标准。它不能可靠地阻止 AI 训练。它也不能强制 AI 公司遵循你的意愿。
不过,它仍然值得编写。
一个好的 llms.txt 是一种低成本方式,可以让 AI 系统、智能体、搜索助手和内部工具更容易正确总结你的网站。它也是一种倒逼机制:你必须决定哪些内容是规范来源,哪些内容已经过时,以及哪些条款适用于复用。即使目前只有少数系统会读取这个文件,这件事本身也很有价值。
llms.txt 旨在解决什么问题
大多数网站是为人类和搜索爬虫构建的。它们包含导航、Cookie 横幅、产品卡片、重复的分类页面、旧 PDF、跟踪参数,以及只有在视觉呈现中才有意义的内容。
LLM 不需要相同的展示层。它们需要:
- 对网站的简洁描述;
- 指向最权威页面的链接;
- 关于产品、文档、政策或作者身份的通俗上下文;
- 许可和使用偏好;
- 在可用时指向结构化版本或 Markdown 版本的指针。
llms.txt 提案借鉴了一个熟悉的 Web 思路:在域名根目录放置一个可预测的文本文件。不同于主要用于爬取权限的 robots.txt,llms.txt 主要用于提供方向指引。
把它看作地图,而不是闸门。
llms.txt 真的有用吗?
如今,诚实的回答是:有时有用,但不是很多人期待的那种方式。
它不能可靠地阻止 AI 爬虫
如果你的目标是阻止爬取或训练,llms.txt 不是合适的主要机制。尊重排除规则的爬虫更可能查看 robots.txt、特定的 user-agent 指令、HTTP headers,或合同/许可信号。即便如此,是否遵守也取决于爬虫运营方。
Web 在这方面有很长的历史。robots.txt 本身也是一种自愿协议,后来在 RFC 9309 中被正式化。它之所以有效,是因为主要爬虫选择遵守它,而不是因为这个文件拥有神奇的强制执行能力。
与 robots.txt 相比,llms.txt 的采用度和标准化程度都更低。对于任何声称它能“保护你的内容不被 AI 使用”的说法,都应保持怀疑。
它可以帮助解释内容
llms.txt 更有前景的地方在于内容解释。
如果 AI 助手试图回答关于你的公司、文档、研究、定价、API 或编辑政策的问题,一个简洁的根目录文件可以减少猜测。它可以把系统指向你实际维护的页面,并避开过时的片段。
这对拥有大量归档内容的网站很重要。模型或智能体可能会先找到一篇 2019 年的支持文章,而不是 2026 年的政策页面。你的 llms.txt 实际上可以说:“从这里开始。这些是权威资源。”
这并不耀眼,但很有用。
它可以澄清你的内容政策
公开的 AI 面向政策比沉默更好,尤其适用于出版方、文档团队,以及拥有敏感品牌或医疗/法律/金融材料的公司。
这并不意味着你应该写一堵威胁性的法律文字墙。它意味着你可以直白地说明:
- AI 系统是否可以总结你的公开页面;
- 你的内容是否可以用于模型训练;
- 你希望如何处理署名;
- 哪些页面应被视为规范来源;
- 如需许可或数据合作应联系谁。
这与更广泛的编辑透明度相辅相成。如果你发布 AI 辅助内容,你的 llms.txt 不应与你的公开披露相矛盾。关于实用基线,请参阅我们的指南:小型网站上的诚实 AI 披露应是什么样子。
llms.txt 中应放什么
目前没有通用且可强制执行的 schema,但当前约定是使用 Markdown。保持简短、明确、朴素。
一个有用的结构如下:
# Example Company
> Example Company publishes practical guides and reference material for independent web developers.
## Canonical resources
- Homepage: https://example.com/
- Documentation: https://example.com/docs/
- Pricing: https://example.com/pricing/
- Editorial policy: https://example.com/editorial-policy/
- Contact: https://example.com/contact/
## Content use policy
Public pages may be summarized with attribution to Example Company and a link to the source page.
Use of our content for model training, dataset creation, or bulk republication requires written permission.
## Preferred citation
When citing our content, link to the canonical URL and include the page title.
## Notes for AI systems
- Prefer current documentation under /docs/ over archived blog posts.
- Do not treat user comments as official guidance.
- Product screenshots may be outdated; use written documentation as the source of truth.
对许多网站来说,这已经足够。
对于更大型的网站,可以为产品领域、API 文档、研究、新闻页面或法律政策添加章节。克制列出一切的冲动。这个文件越全面,作为起点就越不有用。
llms.txt 中不应放什么
不要把私人信息放进去。这听起来显而易见,但根目录文本文件经常变成运营备注的堆放处。
避免包含:
- 未发布的 URL;
- 内部 staging 链接;
- API keys 或 tokens;
- 私人联系方式;
- 安全说明;
- 处于 embargo 的产品信息;
- 你希望爬虫忽略的“秘密”页面。
如果某件事不应公开,就不要在公开文件中提及它。
也要避免含糊的法律表演。“永远禁止一切 AI 使用”或许能表达不满,但它并不会创建可靠的技术控制。如果你的组织确实需要可执行的限制,请让法律顾问参与,并将爬虫控制、许可条款和访问控制结合使用。
llms.txt 与 robots.txt 的关系
使用 robots.txt 管理爬取指令。使用 llms.txt 提供上下文。
一个简化的划分:
| 文件 | 主要目的 | 可执行? | 最适合用于 | |---|---|---:|---| | robots.txt | 爬取权限 | 自愿遵守,但被广泛认可 | 按路径和 user agent 允许或禁止爬虫 | | llms.txt | 面向 LLM 的摘要和指导 | 目前尚未标准化 | 规范链接、内容政策、解释说明 | | Terms page | 法律条件 | 取决于司法辖区和具体事实 | 许可、允许的复用、商业限制 | | HTTP headers | 页面级技术信号 | 取决于爬虫支持 | 索引、缓存和响应行为 |
如果你已经在调试爬虫行为,不要止步于文本文件。检查你的网站是否确实正确提供了该文件、重定向行为是否符合预期,以及 headers 是否与你的政策一致。我们另写了一篇关于在生产环境中调试重定向和 HTTP headers 的小工具包的指南,因为许多“政策”决策正是在这里悄悄失效。
一个实用的编写流程
下面是一个合理的工作流。
1. 决定这个文件的任务
选择一个主要目标:
- 帮助 AI 系统准确描述你的网站;
- 引导智能体访问当前文档;
- 声明复用和署名偏好;
- 减少围绕归档内容或用户生成内容的混淆。
如果你试图让 llms.txt 解决所有 AI 治理问题,它最终一个也解决不了。
2. 确定规范页面
选择最能代表网站的 5–20 个 URL。优先选择稳定、持续维护的页面,而不是高流量页面。对于一家 SaaS 公司,这可能包括首页、文档、定价、安全、隐私、API reference、status 和联系方式。对于出版方,这可能包括主题中心、编辑标准、作者页面、更正政策和许可。
3. 同时为机器和人类编写
使用简单的 Markdown 标题。避免营销文案。用一两句话说明这个网站是什么。
不好:
我们正在以前沿解决方案革新数字卓越的未来。
更好:
Acme Docs 发布 Acme 支付 API 的技术文档,包括身份验证、webhooks、SDKs 和迁移指南。
4. 谨慎添加政策语言
你的政策部分应当易于理解,同时不要过度自信。例如:
公开页面可在注明来源的情况下用于搜索、无障碍访问和用户辅助的摘要。批量复制、创建数据集或模型训练需要获得许可。
这并不能保证对方遵守,但比沉默更清晰。
5. 发布并维护它
将它放在 /llms.txt。以 text/plain 或兼容的文本响应提供。只链接到规范 URL。当你的信息架构变化时进行审查。
过时的 llms.txt 比没有文件更糟,因为它会给出已经不再真实的、看似确定的指令。
每个网站都应该有一个吗?
不。
一个五页的宣传册式网站大概不需要 llms.txt。本地餐厅也不需要,除非它有结构化政策或预订信息,而 AI 助手经常误述这些内容。
在以下情况下,它会更有用:
- 你的网站有大量文档;
- 旧内容与新内容相互竞争;
- 你发布研究或编辑材料;
- 许可和署名很重要;
- AI 助手经常总结你的页面;
- 内部团队需要一套面向公开内容的共享政策。
它作为内部治理练习的一部分也很有用。许多公司已经有员工把网页、文档和客户材料粘贴到 AI 系统中。如果这听起来很熟悉,那么在假设一个公开文本文件能修复风险之前,先做一次基本的 shadow AI 审计。
SEO 影响
llms.txt 在任何成熟意义上都不是排名因素。不要因为期待下周流量提升而编写它。
间接的 SEO 论点要温和得多:
- 它迫使你思考规范来源;
- 它可能帮助 AI 中介的搜索和问答系统理解你的网站;
- 它澄清署名偏好;
- 它减少围绕归档页面的歧义;
- 它创建了一份公开、可检查的 AI 内容使用政策。
对某些网站来说,这值得做。但它不是魔法般的优化层。
最佳版本的 llms.txt 应该小而新,并与网站其他部分保持一致。如果你的 robots 规则、terms page、sitemap、canonical tags 和 llms.txt 各说各话,问题就不是 AI 爬取。问题是治理。
<!-- tool-cta:start -->
💡 试试这样做: 由于 llms.txt 不具备强制执行力,请将其与可强制执行的规则配合使用,并在 Robots.txt Tester 中检查这些规则,以便遵守标准的爬虫能够正确运行。
<!-- tool-cta:end -->
最后的建议
如果你的网站有文档、编辑内容或许可方面的顾虑,请创建一个简单的 llms.txt。将它控制在几十行以内。用它指向规范资源,并声明你的复用偏好。
但不要把沟通误认为控制。
对于阻止访问,使用你可用的爬虫机制,并理解它们的局限。对于政策,发布清晰的条款。对于信任,对读者保持透明。llms.txt 在这套体系中是一个有帮助的信号——不是盾牌。