搜尋抓取

Sitemap 的 lastmod 怎么寫:別让更新時間誤導 URL 發現

Sitemap 的 lastmod 常被当成催促搜尋蜘蛛回訪的信号,但寫法不当會带来無效抓取。本文說明時間格式、哪些改動值得更新時間、批量更新為何消耗抓取配額,以及 lastmod 與内鏈、URL 發現入口如何配合,並给出一份核對顺序。

搜尋抓取

Sitemap 的 lastmod 怎么寫:別让更新時間誤導 URL 發現

Sitemap 里的 lastmod 看起来只是一個小字段,但它经常被当成“告诉搜尋蜘蛛這頁變了”的信号。寫法随意,轻則没有效果,重則让蜘蛛反复回訪一批並没有變化的頁面,占用本可以留给新 URL 的抓取配額。

lastmod 在 URL 發現里扮演什么角色

搜尋蜘蛛讀取 Sitemap 时,會拿到 URL 列表和一批元資料,lastmod 是其中之一。它帮助蜘蛛判断哪些地址可能值得優先安排回訪,但它只是提示,不是命令。最终是否抓取、多久回訪,還取决于站点整体權重、抓取配額、服務器响應速度、内鏈入口數量等因素。把 lastmod 当成“强制重抓按钮”會失望。

時間格式:先保證能被正确解析

  • 使用 W3C Datetime 格式,例如 2025-03-182025-03-18T09:30:00+08:00
  • 不要寫“最近更新”“昨天”這類自然語言,也不要寫不完整的時間。
  • 带時間时补上时区偏移,避免服務器时区與声明时区不一致造成誤判。
  • 整份文件里不要所有 URL 共用同一個時間戳,這會让這個字段失去区分度。

哪些改動值得更新 lastmod

判断标准很简單:訪客看到的内容是否發生了變化。

  • 正文有增删改,或關键資料如價格、库存、狀態發生變動。
  • 结构化資料、标题、摘要等影响搜尋呈現的部分被調整。
  • 頁面模板改動确實改變了正文区域的呈現或可讀内容。

以下情况通常不必更新:單纯重新部署、刷新 CDN、修改與正文無關的样式、調整广告位或統計代碼。把每次构建都当成内容更新,會让 lastmod 逐渐失效。

批量更新带来的問题

不少站点在构建时自動把目前時間寫入全站 URL 的 lastmod。结果是每次發布文章,几千個没有變化的頁面都顯示“刚刚更新”。蜘蛛發現大量“新變化”,可能增加回訪,但這些頁面没有新内容可抓,抓取配額被消耗,新頁面反而排队更久。更稳妥的做法是用内容哈希、資料库更新時間或人工维護字段,只對真正變化的 URL 更新時間。

lastmod 不能替代内鏈和發現入口

Sitemap 是 URL 發現的一條通道,内鏈依然是主要路径。一個新 URL 即便在 Sitemap 里带着最新 lastmod,如果站内没有任何連結指向它,蜘蛛未必會很快走到。更常见的组合是:新頁面進入栏目列表、相關推荐或上一級頁面,同时更新 Sitemap。两條通道同时存在,發現效率更稳。

核對與维護顺序

  1. 检查 Sitemap 中 lastmod 的格式是否统一、可解析。
  2. 抽查若干 URL,對比頁面實际修改時間與声明時間是否一致。
  3. 確認没有全站共用一個時間戳。
  4. 检查新 URL 是否有站内連結入口,而不是只躺在 Sitemap 里。
  5. 观察服務器日誌中這些 URL 的回訪情况,判断更新是否带来合理抓取,而不是無效重复。
lastmod 是内容變更记錄,不是催促抓取的工具。真實、稳定、克制地寫,比频繁刷新更有參考價值。

把 lastmod 纳入發布流程:内容編輯確認變更,程序按實际修改時間寫入。這样既减少無效回訪,也让 Sitemap 在 URL 發現中保持可信度。