lastmod 到底被当成什么信号
搜尋引擎判断一個 URL 要不要重新抓取时,會參考多種线索:站点地图里的 lastmod、HTTP 响應头里的 Last-Modified、頁面上可见的發布時間或更新時間,以及内鏈附近内容的變化。這些线索不會單獨决定结果,但如果彼此矛盾,或者長期和實际内容對不上,重抓的優先級判断就容易偏离你的预期。
它不是“通知引擎来抓我”的按钮
lastmod 的本意只有一件事:這個 URL 的内容最後一次發生變化的時間。寫得過于频繁,等于在说頁面天天在變;寫得過于陈舊,可能让真正更新過的頁面長時間排在队列後面。两種情况都會让這個字段逐渐失去參考價值。
几種常见的對不上
- 全站 lastmod 用脚本统一刷成目前時間,無论内容有没有變
- 複製模板时忘了改,大量頁面指向同一個歷史日期
- 正文改了,時間没動;或者内容没動,時間天天變
- 站点地图的 lastmod、HTTP 头里的 Last-Modified、頁面上可见的更新日期,三者差出几個月
按顺序核對一遍
- 先取一份站点地图,随机抽 20 到 30 個 URL,把三個時間並列:站点地图 lastmod、HTTP 头的 Last-Modified、頁面可见的更新日期。
- 再看實际内容有没有變,對比抓取快照或版本记錄,判断這個時間是否站得住。
- 把它們分成三類:時間可信且對應真實改動、時間可信但内容没變、時間不可信。
- 對第三類,先修生成逻辑,而不是手動逐個改。查清楚是模板輸出寫死、CMS 字段没更新,還是發布流程漏了一步。
- 修好之後观察一段時間,看這些 URL 的重抓是否回到正常节奏。观察周期以周為單位,不要指望立刻见效。
哪些改動才值得把時間往前推
错別字修正、图片替換、广告位調整是否算更新,取决于它對頁面主体内容的影响。通常只有正文主体、结构化資料里的關键字段、或主要结论發生變化时,才值得更新時間。把每次细微改動都记成新版本,反而會让這個字段變廉價。
更可信的做法是让几個信号保持一致
内容改動时,同时更新頁面可见時間與站点地图 lastmod,並让服務端正确返回 Last-Modified。對長期不變的頁面,比如關于我們、联系方式、服務條款,保持稳定的舊時間反而更诚實。
老頁面比新頁面更容易出問题
新 URL 首次發布,時間就是發布時間,一般不會错。麻烦的是老頁面:批量迁移、模板改版、URL 不變但结构大改时,時間该按什么口径标,需要有個内部约定,否則每個編輯各寫各的,站点地图最後就成了一份没法讀的清單。
時間字段不决定是否收錄,它影响的是引擎對“這個 URL 值不值得重新来看一眼”的判断。把它当作需要维護的元資料,而不是随手糊弄的字段。
顺带值得一起看的几項
- 站点地图里的 URL 是否都能正常訪問,返回 200 且不是空壳頁面
- 被 noindex 或 robots.txt 屏蔽的地址,是否還留在站点地图里
- 分頁、篩選參數這類會大量生成 URL 的頁面,是不是被一股脑塞了進去
- 單次提交的 URL 數量是否平稳增長,而不是一次性堆上几十萬條
把這些理顺之後,再回头看收錄情况會清楚很多。時間字段只是一個入口,真正要解决的問题通常是:站点對自己内容的變更,有没有一份准确的记錄。