Sitemap 里的 lastmod 常被当成“告诉蜘蛛我更新了”的開關。實际抓取中,它只是一個辅助信号:搜尋引擎會參考它,但不會因為一個時間戳就立刻回訪。把 lastmod 寫准、寫稳,比频繁刷新它更有意义。
lastmod 在抓取流程里的位置
蜘蛛發現 URL 後,會经過入队、調度和抓取几個阶段。lastmod 影响的是調度时的參考權重,而不是直接插队。頁面是否被重新抓取,還取决于站点整体抓取预算、该 URL 的歷史表現、服務器响應速度以及内鏈入口是否畅通。
常见的 lastmod 寫法問题
- 全站頁面使用同一個時間,蜘蛛無法判断哪些頁面真正有變化。
- 每次生成 Sitemap 都把 lastmod 刷新為目前時間,久而久之這個字段失去參考價值。
- 正文更新了,lastmod 却没變,頁面可能被当作舊内容繼續排队。
- 模板、列表頁和聚合頁的内容随其它頁面變化,但 lastmod 没有單獨维護。
把 lastmod 與真實變更對齐
- 内容發布或修改时,把時間寫入資料库,保留到分钟級別。
- 生成 Sitemap 时讀取這個真實時間,而不是使用生成脚本的執行時間。
- 列表頁、标簽頁等動態頁面,如果變化频繁,可以單獨設定合理的時間,或者不放 lastmod。
- 時間格式使用 W3C Datetime,並带时区,例如 2025-03-01T10:20:00+08:00,避免解析歧义。
從日誌观察回訪节奏
lastmod 更新後,去服務器日誌里看對應 URL 的訪問记錄。關注首次回訪時間、狀態碼和返回字节數。如果長時間没有回訪,先检查 Sitemap 是否已重新提交、robots 是否誤拦、内鏈入口是否太深,而不是繼續改 lastmod。
需要排除的干扰
- CDN 或反向代理缓存了舊頁面,蜘蛛拿到的内容與 lastmod 不符。
- Sitemap 分片没有更新,蜘蛛讀到的仍是舊時間。
- 頁面在登入墙、彈窗或 JS 渲染之後才出現主要内容,蜘蛛看不到更新。
- 服務器响應慢或频繁 5xx,抓取任務被中断,回訪自然延後。
内鏈與服務器稳定性的配合
lastmod 只是锦上添花。真正决定 URL 能否被稳定發現的,是清晰的内鏈结构和稳定的服務器响應。新頁面發布後,從栏目頁、相關推荐或上一級列表给它一個常規入口,比反复調整 lastmod 更有效。服務器在抓取高峰保持可用的响應速度,也能减少抓取任務失敗。
把 lastmod 当作頁面變更的记錄,而不是催促蜘蛛的按钮。更新對齐、入口可達、响應稳定,回訪节奏才更容易观察和预期。