robots.txt 与 sitemap 的区别
两个文件都放在根路径、都面向机器,方向却相反。robots.txt 是排除性声明:按 User-agent 分组声明哪些路径允许或禁止抓取,是抓取权限的边界——训练、检索、用户触发三类对象各答各的题。sitemap 是邀请性清单:全量列出 URL,告诉引擎「我有什么、何时更新过」——Google 官方口径是「仅是提示,不保证下载」。职能互补一句话:robots 决定「能不能来」,sitemap 服务「来了别漏」;被 Disallow 的页面,提交进 sitemap 也不会被抓。
对照表
| 维度 | robots.txt | sitemap |
|---|---|---|
| 方向 | 排除性:表达「不要抓/可以抓」 | 邀请性:表达「希望被发现」 |
| 管什么 | 抓取权限边界,按 UA 分组 | 全量 URL 清单与 lastmod 新鲜度 |
| 效力 | 主流训练与检索爬虫声明遵守;user-triggered 除外 | Google:「仅是提示」;三大 AI 爬虫官方文档均未承诺读取 |
| AI 语境 | 分用途管 AI 的主战场:逐具名组表态 | 未被承诺的惯例:低成本保险而非已验证杠杆 |
| 硬规格 | 500KiB 上限、UTF-8、24 小时缓存 | 单文件 ≤50,000 URL 且 ≤50MB;lastmod 须持续可验证 |
| 组合关系 | 文件内 Sitemap: 行全局生效,与 UA 组无关 |
Disallow 的页面提交了也不会抓 |
常见混淆
一是以为提交 sitemap 能突破 robots 禁令——许可在 robots,清单只是邀请。二是把 Sitemap: 行写进某个 User-agent 组——它不是组成员,按全局行处理,写哪都生效。三是把 sitemap 当排名或 AI 收录手段——Google 已明确忽略 priority 与 changefreq,lastmod 只在「持续且可验证地准确」时被使用;2026-10 核查发现 OpenAI、Perplexity、Apple 三家官方爬虫文档均未将 sitemap 写入发现机制,没有厂商承诺过。四是只做清单不做内链——AI 爬虫的主发现路径是 HTML 内链与存量 URL,孤儿页靠 sitemap 救不回来。
选用建议
三层一起维护:robots 管边界(逐具名组表态,季度对一遍官方文档)、sitemap 管全量(lastmod 如实填,priority/changefreq 可以删掉)、llms.txt 管精选(策展式导览)。资源排序上内链密度优先于 sitemap——发现投资的大头在站内链接结构。分工总表见sitemap 档案,配置矩阵见robots.txt AI 配置矩阵,协议语义见robots.txt(AI 语境);增量推送的对照另见IndexNow 与 sitemap 的区别,精选导览见llms.txt 与 sitemap 的区别。