網站收錄

站点地图的 lastmod 和分片:寫得不准會带来哪些麻烦

站点地图里的 lastmod 寫得准不准、分片切得合不合理,會影响搜尋引擎是否愿意認真讀這份清單。本文梳理常见的 lastmod 寫法問题、分片與索引文件的硬規則、更新频率的把握方式,並给出一份可执行的检查清單,帮你把站点地图從形式化的提交變成真正有用的發現入口。

網站收錄

站点地图的 lastmod 和分片:寫得不准會带来哪些麻烦

站点地图(sitemap)是给搜尋引擎看的一份 URL 清單,它的作用是帮助發現,而不是保證收錄。很多人把 sitemap 当成“提交了就會收錄”的入口,于是在 lastmod 和分片上随手應付,结果反而让這份清單變得不可信。這篇讲的是 lastmod 怎么寫、分片怎么切、更新频率怎么把握,以及寫不准时會带来哪些實际麻烦。

lastmod 影响的是“要不要再来一次”

lastmod 表示這個 URL 上次實质性變動的時間。搜尋引擎不會因為你在 lastmod 里寫了今天,就立刻收錄這個頁面;它更可能影响的是:当它决定要不要把這份 sitemap 里的 URL 重新排進抓取队列时,给這個 URL 一個參考。如果 lastmod 長期不准,這個字段就會被当成噪声,後面的參考價值随之下降。

几種常见的 lastmod 寫法問题

  • 每次部署全量刷新。只要發一次版,所有 URL 的 lastmod 都變成当天,等于告诉搜尋引擎“全站每天都在變”,實际上主体内容什么都没變。
  • 寫了未来時間。时区没處理好,或者提前寫入計划上线時間,會出現未来日期。這類值通常會被忽略,也可能让人怀疑整份文件的可信度。
  • 格式不统一。同一份文件里混用日期與日期時間,或者不带时区偏移。建议统一成带时区的 ISO 8601 格式。
  • 只精确到天。一天内多次改動的頁面無法区分先後,lastmod 的意义被压扁。
  • 與頁面實际内容不符。模板調整、广告位變動、頁面插入随机推荐模块,都被当成内容更新。判断标准應该是“用戶看到的主体内容是否變了”。

分片與索引文件的几條硬規則

單個 sitemap 文件有明确上限:不超過 5 萬條 URL,並且解压前不超過 50MB。超過就要拆成多個文件,再用一個 sitemap 索引文件把它們列出来。切分时注意几点:

  • 分片按内容類型或目錄来切,而不是随机切。文章、栏目、商品各自成片,出問题时更容易定位。
  • 索引文件里只放分片地址,不要把具体 URL 混進来。
  • 分片數量變化後及时更新索引文件,废弃的分片地址要返回 404,不要留着舊文件繼續被訪問。
  • 不要為了“顯得内容多”而把不该收錄的 URL(站内搜尋结果頁、带參數頁、無内容頁)塞進去。

更新频率:不是越勤越好

搜尋引擎抓 sitemap 的频率,取决于它對你站点的整体判断。大站可能一天多次,小站可能几天一次,而且這只影响它讀清單的時間,不代表同一時間也會抓頁面。比較稳妥的做法是:

  1. sitemap 只在有實质新增或修改时更新,不要让程序每次請求都重新生成並寫入新時間戳。
  2. 新增頁面可以單獨出一個分片,便于观察新内容被發現的节奏。
  3. 更新 sitemap 後,回到日誌里看它被訪問的時間和频率,而不是凭感觉推测。
  4. 如果站点结构變化大,宁可重新整理一份,也不要在舊文件上反复打补丁。

一份可执行的检查清單

  1. 抽查 10 到 20 個 URL,把 sitemap 里的 lastmod 與頁面實际改動時間對照。
  2. 確認没有未来時間,也没有成批被刷成同一時間戳的痕迹。
  3. 確認每個分片都在上限以内,索引文件能被正常解析。
  4. 確認清單里没有 robots.txt 屏蔽的地址、没有 noindex 頁面、没有大量重定向地址。
  5. 對照後台的 sitemap 报告,重点看“已提交”與“已编入索引”之間的差距類型,而不是只盯數字。
站点地图解决的是“让搜尋引擎知道有哪些 URL”,收錄與否仍然取决于頁面本身的质量、可訪問性以及站点的整体抓取情况。把 lastmod 寫准、把分片切清,是让這份清單被認真對待的前提,而不是收錄的開關。

如果一段時間後發現 sitemap 里的 URL 被讀取次數明顯下降,先別急着重复提交,检查 lastmod 是否長期不准、是否有大量返回異常的地址混在里面。清單的可信度是慢慢积累的,也可能被一次全量刷新消耗掉。