Sitemap 文件里有两个字段,曾经被很多站长当成“指挥蜘蛛”的开关:priority 和 changefreq。写 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
可以写,但不要为了它们牺牲更重要的字段。几个实际建议:
- 如果 Sitemap 是自动生成的,保留默认值即可,不用逐页调 priority。
- 如果手动维护,priority 全站 0.5、changefreq 全站 weekly,和全站 1.0 没有本质区别。
- 把精力放在 lastmod 上:内容真的改了再更新,不要每次生成都刷新时间。
- 确认 Sitemap 里的 URL 都返回 200,且是规范版本。
蜘蛛不会因为一个数字改变抓取策略,但会因为一个 404、一次超时、一条参数链接而降低对站点的信任。
更值得投入的几件事
- URL 完整性:Sitemap 覆盖主要栏目、详情页和更新频繁的页面。
- 分片与索引:URL 多的时候,用 Sitemap 索引文件把分片组织清楚。
- 内链结构:重要 URL 至少有站内入口,不要只靠 Sitemap 提到。
- 服务器稳定:减少 5xx 和超时,蜘蛛才愿意多走几层。
- 日志验证:定期看蜘蛛对 Sitemap 中 URL 的访问比例,比争论字段值更有用。
如果你在 Sitemap 里写了 priority 和 changefreq,不用急着删。但要知道,它们不是抓取开关。蜘蛛的路径是由链接、更新、响应和站点结构共同决定的,Sitemap 只是其中一张地图,地图上的数字标注,远不如地图本身是否完整可靠来得重要。