搜尋抓取

Sitemap 的 lastmod:更新标记怎么寫,搜尋蜘蛛才會重新抓取

Sitemap 里的 lastmod 常被当成重新抓取的開關,其實它只是一個參考信号。本文說明哪些頁面值得维護 lastmod、常见的時間戳誤用,以及如何與内鏈、HTTP 缓存、抓取日誌配合核對,让更新标记更可信。

搜尋抓取

Sitemap 的 lastmod:更新标记怎么寫,搜尋蜘蛛才會重新抓取

lastmod 只是提示,不是重新抓取的開關

Sitemap 里的 lastmod 是告诉搜尋蜘蛛“這個 URL 上次有實质變化的時間”。它不會直接触發抓取,也不會让 URL 立刻出現在搜尋结果里。搜尋蜘蛛是否重新訪問,還要看站点整体质量、連結變化、服務器响應和抓取队列的調度。把 lastmod 寫准,作用是在蜘蛛下次评估更新时,有一個相對可信的參考点。

常见誤用:時間戳刷得太随意

三種做法會削弱 lastmod 的參考價值:

  • 每次生成 sitemap 就把全站 lastmod 改成目前時間。蜘蛛對比几次抓取记錄後,會發現這個值没有区分度,慢慢就不再參考。
  • 寫未来時間。時間戳比服務器目前時間還晚,容易被認為是資料異常。
  • 模板微調也更新 lastmod。頁脚版權、广告位、推荐模块的變化,和正文内容無關,却让 lastmod 频繁跳動。
lastmod 的價值在于“少而准”,不是“新而密”。全站统一刷新,等于没有提供任何信息。

哪些頁面值得维護 lastmod

不是所有 URL 都需要精细的 lastmod。可以按類型区分:

  1. 内容頁:正文、價格、库存、規格有實际改動时更新。只改了頁面标题或摘要,如果對用戶可见,也可以更新。
  2. 新發布 URL:第一次進 sitemap 时带上准确的發布或首次上线時間,方便發現。
  3. 列表頁和聚合頁:当新增了重要條目、調整了排序逻辑时可以更新;如果只是分頁參數變化,不必每次刷新。
  4. 纯工具頁、登入頁:長期不變的頁面,可以保留原始建立時間,不必反复改。

與其它抓取信号配合

lastmod 單獨使用效果有限,通常和内鏈、抓取日誌、HTTP 缓存一起看:

  • 内鏈入口:更新的頁面如果有站内連結指向,蜘蛛在抓取邻近頁面时更容易顺带發現變化。只改 sitemap 不补内鏈,更新信号會弱一些。
  • HTTP 缓存头:如果服務器返回很長的 max-age,蜘蛛在缓存過期前可能不會重新請求,lastmod 也就很难被讀到。
  • 304 條件請求:当蜘蛛带 If-Modified-Since 来訪时,如果内容确實没變,返回 304 是合理的;如果内容變了却仍返回 304,會造成更新被忽略。
  • 日誌核對:在抓取日誌里搜尋带 lastmod 的 URL,观察更新标记之後是否有新的抓取請求,能判断這個信号是否真的被參考。

核對顺序

如果怀疑 lastmod 没有起作用,可以按下面的顺序排查:

  1. 確認 sitemap 文件本身是最新的,没有被 CDN 或服務器缓存舊版本。
  2. 检查 lastmod 的格式是否符合要求,通常用 W3C 日期時間格式,带时区更稳妥。
  3. 看被抓取的 URL 是否在 sitemap 中持續存在,而不是时有时無。
  4. 對照服務器日誌,看蜘蛛上次抓取時間和 lastmod 的先後關系。
  5. 如果内容确實更新但長期没有重新抓取,優先检查内鏈和入口頁是否也同步更新,而不是反复改 lastmod。

最後提醒一句:lastmod 是站点给蜘蛛的一個參考,不是抓取開關。保持更新记錄真實、稳定,比频繁刷時間戳更有意义。