lastmod 是提示,不是抓取指令
Sitemap 里的 lastmod 用来告诉搜尋引擎:這個 URL 大约在什么時間發生了内容變化。它是一個參考信号,不是“改完就立刻来抓”的指令。蜘蛛是否重抓、什么时候抓,還會看 URL 發現路径、内鏈位置、歷史更新频率、服務器响應速度以及目前抓取队列的拥挤程度。
所以,lastmod 填得准有用,但把它当成唯一的催抓手段,通常不會得到预期结果。
lastmod 怎么寫才不容易被忽略
格式要能被解析
常见寫法是 W3C Datetime,例如 2025-04-01T10:00:00+08:00。只寫日期也可以,如 2025-04-01。不要寫“昨天”“刚刚”“最新”這類無法解析的文本。
時間要和頁面真實更新一致
如果每次生成 Sitemap 都把全站 lastmod 刷成目前時間,這個字段會逐渐失去參考價值。更合理的做法是:只更新真正發生内容變化的頁面。模板調整、頁脚版權、广告位切換,通常不算内容更新。
不要填未来時間
把 lastmod 寫成未来日期,並不會让蜘蛛更早来抓,反而可能让這個信号變得不可信。保持時間真實、可核對,比追求“看起来很新”更重要。
蜘蛛看到 lastmod 之後會做什么
蜘蛛讀取 Sitemap 後,可能把其中的 URL 放入待抓队列,但队列顺序由多個因素共同决定。一個刚更新的頁面,如果没有任何内鏈指向它,或者它所在的服務器经常超时,抓取優先級仍然可能很低。
lastmod 影响的是“這個頁面可能值得再看一眼”,而不是“立刻放下其他任務先抓這個頁面”。
常见誤区:把 lastmod 当成催抓開關
- 每次發布内容,就把全站頁面的 lastmod 全部刷新。
- 给未改動的頁面填上新的時間,试图让蜘蛛多来。
- 只提交 Sitemap,不检查新頁面在内鏈里是否可達。
- 頁面打開很慢或经常返回 5xx,却只盯着 lastmod 調整。
這些做法大多會增加噪音,而不會明顯改善抓取覆盖。
比 lastmod 更影响抓取路径的几件事
内鏈可達性
新頁面有没有從首頁、栏目頁或相關文章鏈過去?連結是普通 a 标簽,還是依赖脚本渲染後才出現?如果頁面只能從 Sitemap 被發現,蜘蛛到達它的路径會弱很多。
服務器稳定性
首字节時間、错誤率、超时次數都會影响蜘蛛的抓取节奏。服務器频繁抖動时,蜘蛛通常會降低抓取频率,這时再新的 lastmod 也很难改變局面。
URL 形態
带跟踪參數、會话 ID、多地址指向同一内容、多次重定向,都會增加抓取消耗,让蜘蛛在有限時間内走得更慢。
一個實用的检查顺序
- 抽查 Sitemap 中的 lastmod 是否和頁面真實修改時間一致。
- 確認新 URL 是否在内鏈中可達,且連結位置不要太深。
- 用服務器日誌查看蜘蛛是否来過,返回狀態碼是什么。
- 检查响應時間、错誤率和重定向鏈長度。
- 如果頁面确實更新了但蜘蛛没重抓,先解决可達性和稳定性,不要反复修改 lastmod。
小结
lastmod 填得准是加分項,不是保證。把它当作 URL 發現和重抓判断中的一個普通信号,和内鏈结构、服務器稳定性、抓取路径一起看,才更接近蜘蛛實际的工作方式。