sitemap 档案:被 AI 爬虫沉默对待的发现通道
sitemap 在搜索时代的地位从未被质疑:提交一份全量 URL 清单,引擎按图索骥。到了 AI 抓取时代,问题换了一个问法——AI 爬虫到底读不读它?本页的核查结论是:协议规格一个字没变,但在主流 AI 爬虫的官方文档里,sitemap 处于「未被承诺」状态。给站长的预期管理一句话先行:sitemap 值得维护,因为成本近零且 Cloudflare 类边缘平台仍把它当作公共发现基础设施;但不要把它当作 AI 收录的已验证杠杆写进任何承诺。llms.txt 的规格与定位不在本页重复,见llms.txt 规范档案与llms.txt术语卡。
协议硬规格:一张多年未变的表
sitemap 协议本体由 sitemaps.org 维护,2026-10 时点的硬约束逐条如下,写生成脚本与校验逻辑时按这张表对:
| 规格项 | 硬约束 |
|---|---|
| 单文件上限 | ≤50,000 URL 且 ≤50MB |
<loc> 长度 |
≤2048 字符 |
| lastmod | W3C Datetime 格式 |
| 索引型 sitemap | 索引文件同样受 50,000 条上限,逐层嵌套展开 |
| robots.txt 声明 | Sitemap: 行独立于任何 UA 分组,写在文件任意位置均全局生效 |
| 跨域 | 不可列出非本域 URL,跨站发现只能靠站间链接 |
Sitemap: 行与 UA 组的关系是最常被写错的一条:它不是某个 User-agent 组的成员,把 Sitemap: 缩进进具名组里既不报错也不生效分歧——解析器按全局行处理。大型站点常见做法是按内容类型拆多个 sitemap 文件、由一个索引文件汇总,拆分本身不影响抓取优先级,只影响你自己的运维清晰度。
Google 侧口径:提示,不是指令
Google 官方文档给 sitemap 的定位值得原文记诵:提交 sitemap「仅是提示,不保证下载」。两个配套口径决定了它真实的权重:其一,lastmod 只有在「持续且可验证地准确」时才会被 Google 使用——乱填的更新时间不仅无效,还会让引擎放弃这个字段;其二,<priority> 与 <changefreq> 已被 Google 明确忽略。这三条合起来的含义是:sitemap 的价值在「发现」这一环,不在「排名」那一环,而发现恰恰是 AI 时代最需要重估的一环。
lastmod 的处境还牵出一个 AI 侧的前瞻问题:如果未来某家 AI 爬虫开始读 sitemap,它最可能消费的字段就是 lastmod——全量清单里唯一带新鲜度语义的字段。这反过来提高了如实填写 lastmod 的长期价值:它在搜索侧的纪律要求(持续且可验证)与它在 AI 侧的潜在收益(新鲜度信号)指向同一个动作,如实标注不会因为今天是「沉没成本」而变成浪费。同为发现通道的主动推送路线(IndexNow)与 sitemap 的拉取式对照,见IndexNow 档案。
三大 AI 爬虫的官方沉默
本页的核心增量是一次文档核查:2026-10 时点,OpenAI、Perplexity、Apple 三家官方爬虫文档均未将 sitemap 写入发现机制。逐家状态如下。
| 厂商 | 官方文档写明的发现/收录方式 | sitemap 是否在册 |
|---|---|---|
OpenAI(GPTBot/OAI-SearchBot 等) |
跟随链接与既有索引,robots.txt 变更约 24 小时生效 | 未提及 |
Perplexity(PerplexityBot) |
搜索索引抓取,未列发现通道清单 | 未提及 |
Apple(Applebot) |
Spotlight/Safari/Siri 抓取,支持 robots 与页面级标记 | 未提及 |
「沉默」的读法要精确:它不等于「读了也没用」,也不等于「肯定不读」——文档沉默只能支撑一个结论:没有任何一家承诺过 sitemap 是它们的发现入口。机制层面的合理推断是(机制判断):AI 爬虫依赖服务端可达的 URL,HTML 内链与已知 URL 库(被引用过、被链接过的存量页面)才是主发现路径——这与下文 Cloudflare 保留 sitemap 为公共通道并不矛盾,一个是行业惯例,一个是厂商承诺,前者随时可以消失。逐条爬虫的档案与验证端点见AI 爬虫全景档案表。
Cloudflare 的「永远免费」清单
付费封锁时代的讽刺性注脚来自边缘层。Cloudflare AI Crawl Control 把一组基础设施路径列为「始终免费可爬」,/sitemap.xml 与 /robots.txt、/security.txt 等同列——站点可以对全部内容页收费或封锁,但发现协议文件被保留为公共通道(Cloudflare 官方文档口径,2025-12 版起)。这条清单的含义比字面大:在「默认挡 AI 爬虫」成为新常态的边缘层叙事里(时间线不在本页重复,见爬虫访问控制档案),sitemap 反而获得了协议层从未给过的地位——它是付费墙时代少数被基础设施厂商承诺开放的机器入口。当然,Cloudflare 的清单约束的是 Cloudflare 自己的封锁行为,不是任何 AI 爬虫的读取行为。
与 llms.txt 的分工
把三个机器入口放回一张表,分工就清楚了:
| 文件 | 管什么 | 谁承诺读取 |
|---|---|---|
| sitemap | 全量 URL 清单,机器向 | 搜索引擎承诺;AI 爬虫无承诺 |
| llms.txt | 策展式重点导览,人写给模型 | 规范约定发现机制,读取无厂商承诺 |
| robots.txt | 抓取权限边界 | 具名爬虫普遍承诺(user-triggered 除外) |
sitemap 与 llms.txt 不是替代关系:前者是「全站有什么」,后者是「重点看什么」。逐项对照的展开见sitemap 与 llms.txt 对比。给站长的结论是三层一起维护——robots 管边界,sitemap 管全量,llms.txt 管精选——任何一层单独拿出来都不构成 AI 可见度策略。
对站长的操作清单
- sitemap 按协议硬规格自查一遍:单文件 ≤50,000 URL 且 ≤50MB、
<loc>≤2048 字符、lastmod 用 W3C Datetime 且只在真实可验证时填写。 Sitemap:行写在 robots.txt 全局位置,不放进任何User-agent组。<priority>/<changefreq>可以直接删掉——Google 已忽略,AI 爬虫无承诺,留着只制造维护噪音。- 把「HTML 内链密度」当作比 sitemap 更优先的发现投资:AI 爬虫的主发现路径是内链与存量 URL,孤儿页靠 sitemap 救不回来。
- 用 Cloudflare 类边缘平台时,确认
/sitemap.xml未被任何 WAF 自定义规则误伤——它在官方清单里永远免费,但自定义规则可以覆盖官方清单。 - 预期管理写进方案:sitemap 对 AI 端是「未被承诺的惯例」,考核指标不要建立在「提交了所以会被抓」上。
限制与待核实
- 「三大 AI 爬虫无一承诺 sitemap」基于 2026-10 时点的官方文档核查,文档随时可能更新,本页结论需按季度复核。
- 各 AI 爬虫是否在工程上实际解析 sitemap(文档之外的实现行为),无日志级公开实证。
- Cloudflare「始终免费」路径清单为其官方文档口径,其他边缘厂商是否跟进无核查。
- 「HTML 内链与已知 URL 库是 AI 爬虫主发现路径」为机制推断,有间接佐证(AI 爬虫依赖服务端可达 URL),无厂商直接承认。
引用来源
- Sitemap 协议原文(sitemaps.org)
- Google 创建与提交 sitemap 官方文档
- Cloudflare AI Crawl Control 官方文档
- OpenAI bots 官方文档
- Perplexity 爬虫官方文档
- Applebot 官方文档