Sitemap 是站点和蜘蛛沟通的主要渠道之一,但里面三個可選字段——lastmod、changefreq、priority——经常被当成“填什么就是什么”。實际並不是這样。搜尋引擎把它們当作提示,而不是指令,而且對待三者的態度差別很大。搞清楚這一点,能省下不少维護精力,也能避免因為随手填寫而给自己添麻烦。
三個字段里,只有 lastmod 有比較明确的作用
目前主流搜尋引擎對這三個字段的態度大致是:lastmod 在可信的前提下,會參與重新抓取的安排;changefreq 基本不進入决策;priority 也不進入决策,因為它描述的是站内相對重要程度,而搜尋引擎更依赖自己的連結结构、点击和内容信号来判断優先級。
這些字段的價值不在于“你寫了什么”,而在于“你寫的和實际情况是否長期一致”。
lastmod 怎么寫才算可信
- 只在正文或主要内容真實發生變化时更新,而不是頁脚年份、推荐位轮播、訪問計數這類每次渲染都可能不同的部分。
- 使用 W3C Datetime 格式,例如 2025-03-04T09:20:00+08:00,尽量带上时区,减少解析歧义。
- 避免一次性把全站 URL 的 lastmod 刷成同一秒,那等于宣称所有頁面在同一时刻都改了,通常會被忽略。
- 頁面没變就不要動它。長期稳定、经得起核對的 lastmod,參考價值反而更高。
changefreq 和 priority 基本可以忽略
這两個字段出現在早期爬虫規范里,如今多數引擎已公開說明不使用它們。把频率寫成 daily,不會让蜘蛛每天来一次;把 priority 寫成 0.9,也不會让頁面排得更靠前。如果维護成本高,删掉没有影响;如果 CMS 自動生成,保留着但不必花時間去調。
全站批量刷新 lastmod 的代價
發版、換模板、批量改样式之後,有些运营會用脚本把所有頁面的 lastmod 改成当天。短期看像是“通知了蜘蛛”,但接下来發生的事情通常是:蜘蛛按這個時間回来訪問,發現内容没有變化;重复几次之後,這個字段的參考價值下降,而真正更新的頁面反而可能被排在後面。更稳妥的做法是让 lastmod 直接来自内容表里的最後修改時間,模板調整不触發它。
把 lastmod 和抓取节奏配合起来
- 内容發布或實质性修改时,只更新對應 URL 的 lastmod。
- Sitemap 分片的 URL 分组保持稳定,例如按栏目拆分,避免频繁整体重建。
- 通過服務器日誌或搜尋後台的抓取統計,確認新内容在合理時間内确實被訪問過。
- 如果長時間没有抓取,先检查内鏈是否可達、頁面是否返回正常狀態碼,而不是反复改 Sitemap 字段。
需要提醒的是,Sitemap 字段本身不能替代站点质量。它只是把“這里有個 URL、它大概什么时候變過”這個信息递出去,蜘蛛是否前来、抓多少,還取决于内容更新频率、服務器响應、内鏈可達性和整体站点状况。把 lastmod 填准确,剩下的精力放在让頁面真正有變化、能被正常訪問和被連結指向,通常更划算。