搜尋抓取

Sitemap lastmod 與真實更新:蜘蛛回訪节奏的核對方法

Sitemap 中的 lastmod 常被当成催促蜘蛛回訪的開關,但它只是參考信号。本文從更新時間的记錄、Sitemap 生成、日誌回訪观察和内鏈入口几個方面,說明如何把 lastmod 與頁面真實變更對齐,並排除缓存、屏蔽等干扰,让抓取节奏更可预期。

搜尋抓取

Sitemap lastmod 與真實更新:蜘蛛回訪节奏的核對方法

Sitemap 里的 lastmod 常被当成“告诉蜘蛛我更新了”的開關。實际抓取中,它只是一個辅助信号:搜尋引擎會參考它,但不會因為一個時間戳就立刻回訪。把 lastmod 寫准、寫稳,比频繁刷新它更有意义。

lastmod 在抓取流程里的位置

蜘蛛發現 URL 後,會经過入队、調度和抓取几個阶段。lastmod 影响的是調度时的參考權重,而不是直接插队。頁面是否被重新抓取,還取决于站点整体抓取预算、该 URL 的歷史表現、服務器响應速度以及内鏈入口是否畅通。

常见的 lastmod 寫法問题

  • 全站頁面使用同一個時間,蜘蛛無法判断哪些頁面真正有變化。
  • 每次生成 Sitemap 都把 lastmod 刷新為目前時間,久而久之這個字段失去參考價值。
  • 正文更新了,lastmod 却没變,頁面可能被当作舊内容繼續排队。
  • 模板、列表頁和聚合頁的内容随其它頁面變化,但 lastmod 没有單獨维護。

把 lastmod 與真實變更對齐

  1. 内容發布或修改时,把時間寫入資料库,保留到分钟級別。
  2. 生成 Sitemap 时讀取這個真實時間,而不是使用生成脚本的執行時間。
  3. 列表頁、标簽頁等動態頁面,如果變化频繁,可以單獨設定合理的時間,或者不放 lastmod。
  4. 時間格式使用 W3C Datetime,並带时区,例如 2025-03-01T10:20:00+08:00,避免解析歧义。

從日誌观察回訪节奏

lastmod 更新後,去服務器日誌里看對應 URL 的訪問记錄。關注首次回訪時間、狀態碼和返回字节數。如果長時間没有回訪,先检查 Sitemap 是否已重新提交、robots 是否誤拦、内鏈入口是否太深,而不是繼續改 lastmod。

需要排除的干扰

  • CDN 或反向代理缓存了舊頁面,蜘蛛拿到的内容與 lastmod 不符。
  • Sitemap 分片没有更新,蜘蛛讀到的仍是舊時間。
  • 頁面在登入墙、彈窗或 JS 渲染之後才出現主要内容,蜘蛛看不到更新。
  • 服務器响應慢或频繁 5xx,抓取任務被中断,回訪自然延後。

内鏈與服務器稳定性的配合

lastmod 只是锦上添花。真正决定 URL 能否被稳定發現的,是清晰的内鏈结构和稳定的服務器响應。新頁面發布後,從栏目頁、相關推荐或上一級列表给它一個常規入口,比反复調整 lastmod 更有效。服務器在抓取高峰保持可用的响應速度,也能减少抓取任務失敗。

把 lastmod 当作頁面變更的记錄,而不是催促蜘蛛的按钮。更新對齐、入口可達、响應稳定,回訪节奏才更容易观察和预期。