搜索抓取

Sitemap 里的 priority 与 changefreq:蜘蛛到底还看不看

很多站长在 Sitemap 里认真填写 priority 和 changefreq,希望蜘蛛优先抓取重要页面。但主流搜索引擎早已公开表示忽略这两个字段。本文说明它们的来历、蜘蛛实际依赖的抓取信号,以及 Sitemap 真正值得投入的部分。

搜索抓取

Sitemap 里的 priority 与 changefreq:蜘蛛到底还看不看

Sitemap 文件里有两个字段,曾经被很多站长当成“指挥蜘蛛”的开关:prioritychangefreq。写 1.0 的页面想让它先抓,写 daily 的页面想让它勤来。但如果你现在的抓取日志里,重要页面还是迟迟不被访问,多半不是这两个数字的问题。

两个字段的来历

Sitemap 协议最早由搜索引擎联合制定,priority 用来表示同一站点内 URL 的相对重要性,取值 0.0 到 1.0;changefreq 用来描述页面大概多久更新一次,比如 hourly、daily、weekly。它们的设计初衷是给蜘蛛一个参考,帮助它在抓取预算有限时做排序。

在那个阶段,外链和站内结构还不够透明,Sitemap 里的这两个字段确实被部分搜索引擎参考过。但参考不等于承诺,更不等于控制。

官方现在的态度

Google 在公开文档里写得很直接:它会忽略 priority 和 changefreq,只使用 lastmod,而且前提是 lastmod 要准确。Bing 支持 Sitemap,但没有承诺按 priority 决定抓取顺序。百度对 Sitemap 的使用更偏向 URL 提交和更新时间的参考,priority 和 changefreq 也不是它公开强调的抓取信号。

换句话说,这两个字段现在更像“历史遗留的备注”,写了不会错,但别指望它们改变蜘蛛的访问节奏。

蜘蛛实际看什么

蜘蛛决定先抓哪个 URL,通常来自几类信号:

  • 链接入口:内链和外链指向的 URL,比 Sitemap 里的数字更有分量。
  • 更新记录:站点整体更新频率、页面 lastmod 是否可信。
  • 历史抓取表现:之前抓取时返回的状态码、响应速度、内容是否重复。
  • 站点权重与主题集中度:不是单个字段能替代的。

所以 Sitemap 的核心价值是提交一份完整、可访问的 URL 清单,而不是替蜘蛛排优先级。清单越干净,蜘蛛越省事;清单里塞满参数、重定向和 404,反而会消耗抓取配额。

那还要不要写 priority 和 changefreq

可以写,但不要为了它们牺牲更重要的字段。几个实际建议:

  1. 如果 Sitemap 是自动生成的,保留默认值即可,不用逐页调 priority。
  2. 如果手动维护,priority 全站 0.5、changefreq 全站 weekly,和全站 1.0 没有本质区别。
  3. 把精力放在 lastmod 上:内容真的改了再更新,不要每次生成都刷新时间。
  4. 确认 Sitemap 里的 URL 都返回 200,且是规范版本。
蜘蛛不会因为一个数字改变抓取策略,但会因为一个 404、一次超时、一条参数链接而降低对站点的信任。

更值得投入的几件事

  • URL 完整性:Sitemap 覆盖主要栏目、详情页和更新频繁的页面。
  • 分片与索引:URL 多的时候,用 Sitemap 索引文件把分片组织清楚。
  • 内链结构:重要 URL 至少有站内入口,不要只靠 Sitemap 提到。
  • 服务器稳定:减少 5xx 和超时,蜘蛛才愿意多走几层。
  • 日志验证:定期看蜘蛛对 Sitemap 中 URL 的访问比例,比争论字段值更有用。

如果你在 Sitemap 里写了 priority 和 changefreq,不用急着删。但要知道,它们不是抓取开关。蜘蛛的路径是由链接、更新、响应和站点结构共同决定的,Sitemap 只是其中一张地图,地图上的数字标注,远不如地图本身是否完整可靠来得重要。