站点运营

站点运营:Sitemap 自查,別把失效地址和重定向一起提交上去

提交 Sitemap 不是一劳永逸的事。失效地址、重定向、被屏蔽的頁面混進名單,會让蜘蛛反复白跑,分散抓取预算。這篇文章從狀態碼抽样、lastmod 真實性、文件体积與分片、robots 声明一致性四個角度,整理了一份可落地的自查清單,並给出把维護挂進日常發布流程的做法。

站点运营

站点运营:Sitemap 自查,別把失效地址和重定向一起提交上去

做站点运营,Sitemap 常被当成一件“提交完就不用管”的事。可蜘蛛每次来抓 Sitemap,讀到的都是你目前给出的名單。名單里混進失效地址、重定向、被屏蔽的頁面,蜘蛛就會按這份名單白跑,抓取预算被分散,真正需要更新的頁面反而排在後面。

先把 Sitemap 的定位摆正

Sitemap 是辅助發現的工具,不是收錄的開關。提交了不等于會被收錄,不提交也不等于抓不到。它的價值在于:把那些内鏈路径較深、新發布、更新频繁的地址,用一份清單直接告诉蜘蛛,减少它自己摸索的成本。

所以判断一份 Sitemap 好不好,看的不是條目多少,而是里面的地址是否都值得抓、是否都抓得到

四類不该出現在名單里的地址

  1. 已失效的地址。返回 404 或 410 的頁面已经下线,就该從 Sitemap 移除,留着只會让蜘蛛反复請求失敗。
  2. 带跳轉的地址。301、302 的舊地址應直接替換成最终地址,省掉一次跳轉。
  3. 被規則挡住的頁面。robots 屏蔽、带 noindex 的地址,規則上不让抓、不让索引,却寫進 Sitemap,属于自相矛盾。
  4. 批量生成的參數地址。篩選、排序、追踪參數产生的變体,往往指向同一份内容,很容易稀释抓取。
一個粗略判断:如果一個地址你不希望用戶從搜尋结果点進来,通常也不适合放進 Sitemap。

逐項自查清單

1. 狀態碼抽样核對

從 Sitemap 里随机抽 50 到 100 條地址,用批量請求或站内工具看返回狀態。重点看三類:非 200 的、發生跳轉的、返回 200 但實际是空頁或错誤頁的。如果抽样里就出現几條問题,說明全量名單大概率也需要清理。

2. lastmod 要真實

lastmod 是给蜘蛛判断“這個頁面值不值得再来一次”的信号。如果每次生成都统一刷成当天,等于告诉蜘蛛所有頁面天天在變,這個信号就失效了。正确做法是只在正文、标题、關键信息真正改動时更新。

3. 体积與分片

  • 單個 Sitemap 文件建议不超過 5 萬條地址、未压缩体积不超過 50MB。
  • 超出就拆成索引文件,按栏目或内容類型分组,便于單獨排查。
  • 只保留需要收錄的栏目,歷史归档、測試目錄不必放進来。

4. 提交與声明保持一致

robots.txt 里的 Sitemap 地址要寫全,注意协议和域名與站点實际訪問入口一致。http 與 https、带 www 與不带 www 混着寫,會让蜘蛛讀到两份不同的名單。同时在搜尋资源平台里確認提交狀態,並留意是否有解析报错。

把维護挂到日常流程里

最省事的做法不是定期大掃除,而是让 Sitemap 跟着内容流程走:

  • 發布新頁面时,同步加入對應分片;
  • 頁面下线或改 URL 时,当天替換或移除;
  • 每月固定做一次狀態碼抽样,清掉积压的失效地址;
  • 改版、目錄迁移後,重新核對一遍名單,而不是沿用舊文件。

坚持几轮之後,Sitemap 會逐渐變成一份“目前有效頁面清單”。蜘蛛每次来都拿到干净的信息,抓取效率會比塞满死鏈时更可控,後續观察抓取日誌时也更容易判断問题出在哪里。