站点运营

站点运营:Sitemap 拆分與更新自查,別让索引文件成了摆设

Sitemap 是给搜尋蜘蛛看的 URL 清單,但很多站点提交一次就不再维護。本文從抓取日誌、文件拆分、可索引 URL、lastmod 更新和自動监控几個方面,整理一份自查清單,帮助你把 sitemap 用成持續有效的入口,而不是一次性的提交任務。

站点运营

站点运营:Sitemap 拆分與更新自查,別让索引文件成了摆设

Sitemap 本质上是一份给搜尋蜘蛛看的 URL 清單。它不保證收錄,但能帮助搜尋引擎更快發現站内的重要頁面。很多站点在刚上线时提交一次,之後就不再管,结果文件里的 URL 要么已经 404,要么缺少新栏目,蜘蛛来了一趟也找不到太多有效入口。

先確認蜘蛛是否真的在抓 sitemap

不要只看提交成功提示。可以到服務器日誌里搜 /sitemap.xml 或 sitemap 索引地址,看搜尋蜘蛛有没有定期訪問。如果日誌里几乎没有记錄,先检查 robots.txt 是否誤拦,再確認 sitemap 地址是否可公開訪問、返回碼是否為 200。

  • robots.txt 中是否允许抓取 sitemap 文件
  • sitemap 地址是否寫在 robots.txt 的 Sitemap 指令里
  • 是否在搜尋资源平台提交了最新地址
  • 服務器是否對 sitemap 做了不必要的鉴權或限流

拆分與容量:別把所有 URL 塞進一個文件

單個 sitemap 有數量和体积限制,通常建议控制在 5 萬條 URL、未压缩 50MB 以内。超過之後要拆分成多個子文件,再用 sitemap index 匯總。按栏目或内容類型拆分還有一個好處:某個子文件出错时,不會影响其他栏目的 URL 發現。

拆分不是越细越好。分得太碎,索引文件變多,维護成本也會上升。按内容板块划分通常够用。

只放可索引、返回 200 的 URL

這是最常见的誤区:把站内所有連結都丢進 sitemap,包括篩選參數頁、搜尋结果頁、已下架頁面和重定向地址。這些 URL 要么不该被索引,要么最终會跳轉,放進去只會浪費抓取预算,也让 sitemap 的可信度下降。

  • 返回 301/302 的地址不要放
  • 返回 404 或软 404 的頁面不要放
  • 設定了 noindex 的頁面不要放
  • 站内搜尋结果頁、參數组合頁谨慎放入
  • canonical 指向其他 URL 的頁面,優先放 canonical 目标

lastmod 不要随便寫

lastmod 用来告诉蜘蛛頁面最後一次實质性更新的時間。如果每次生成 sitemap 都刷新所有 lastmod,蜘蛛會逐渐忽略這個字段。建议只在正文、标题或關键信息确實變化时更新,格式使用 W3C 日期時間,並注意时区一致。

让更新和监控形成习惯

新内容發布後,sitemap 應该能自動更新,而不是靠人工每月补一次。可以設定一個简單的定时任務,定期抓取自己的 sitemap,检查狀態碼、URL 數量和最後修改時間。發現異常时,先修 sitemap,再去看抓取和索引情况。

  1. 發布内容後触發 sitemap 更新
  2. 每周检查 sitemap 是否可正常訪問
  3. 每月抽查子文件中的 URL 是否仍返回 200
  4. 记錄蜘蛛對 sitemap 的訪問频率,观察變化

最後提醒一句:sitemap 是辅助工具,不是收錄保證。它能把 URL 送到蜘蛛面前,但頁面是否被索引,還要看内容质量、站点结构和抓取狀態。把 sitemap 维護成一份准确、干净的清單,長期看比一次性提交大量地址更有用。