搜尋抓取

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 只是其中一張地图,地图上的數字标注,遠不如地图本身是否完整可靠来得重要。