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