站点运营

站点运营:站点地图自查,別让 sitemap 把蜘蛛引向废地址

站点地图常被当成上线时生成一次就不用再管的文件,但它會随着栏目調整、内容下线和 URL 改版慢慢失真。本文整理 sitemap 自查的常见問题與操作步骤,包括失效地址、狀態碼、noindex 頁面、分片结构與 lastmod 的维護方式。

站点运营

站点运营:站点地图自查,別让 sitemap 把蜘蛛引向废地址

站点地图(sitemap)在很多站点里属于“上线时生成過一次,之後基本没人再看”的文件。它不像栏目頁那样天天有人訪問,出問题也不會立刻报错,但會随着栏目調整、内容下线、URL 改版慢慢失真。等到某天發現蜘蛛抓的都是一批废地址,回头看才發現清單本身早就過期了。

一、站点地图最容易出的几類問题

  • 里面留着已经刪除或改過地址的頁面,訪問後返回 404 或多次 301 跳轉
  • 把 noindex 的頁面、登入頁、搜尋结果頁、後台地址也寫了進去
  • 只有首頁和几個栏目頁,真正的内容頁一條都没提交
  • lastmod 全部是同一個時間,或者每次生成脚本都刷成当天
  • 單文件條數或体积超過搜尋引擎给出的上限
  • sitemap 本身返回 500,或者需要登入、被 CDN 規則挡住

這些問题單獨看都不大,叠在一起就會让這份清單失去參考價值。

二、先確認文件能被正常訪問

先用浏览器或命令行請求一次 sitemap 地址,確認返回狀態是 200,Content-Type 是 xml 或 text 類型。如果站点開了 CDN、WAF 或频率限制,確認没有把爬虫挡在外面。

常见坑:robots.txt 里誤挡了 sitemap 路径

有的站点為了减少無效抓取,在 robots.txt 里寫了一批 Disallow 規則,结果把 sitemap 所在的目錄也一起挡掉了。規則寫完要顺手看一眼,別让清單自己先被拦在门外。

三、逐條核對清單内容

  1. 抽样检查狀態碼:随机取 20 到 30 條 URL,看是否有 404、5xx,或者跳轉次數超過一跳。
  2. 對照 noindex:把响應头或 meta 里标了 noindex 的地址從 sitemap 中排除。
  3. 检查參數頁:篩選、排序、分頁參數生成的 URL 是否被批量寫入,這類地址通常不值得單獨提交。
  4. 確認重要頁面在列表里:栏目首頁、核心内容頁、更新频繁的列表頁應当有位置。
  5. 检查域名與协议:是否混進了測試环境域名、内網地址,或 http 與 https 混寫。

抽样检查不用做得很复杂,重点是發現“成片的错誤”,而不是逐條追求完美。

四、lastmod 和更新频率怎么處理

lastmod 只在頁面内容真的發生變化时才更新,不要让生成脚本每次都刷成当天日期。長期所有頁面“天天更新”的站点,搜尋引擎會逐渐降低對這個字段的信任。
changefreq 和 priority 現在的參考價值有限,保持合理区間即可,不必所有頁面都寫 1.0。

五、分片與索引文件

内容量大的站点通常用 sitemap index 拆成多個子文件,可以按栏目拆,也可以按内容類型拆。單個文件建议控制在 5 萬條、50MB 未压缩以内。

  • 每個分片都能獨立訪問,返回 200
  • index 文件里列出的分片地址與實际文件一一對應
  • 新增栏目时,记得把對應分片补進 index

分片的好處是定位問题快,某一類頁面出問题,只需要重新生成對應那個文件。

六、和蜘蛛池、URL 發現的關系

sitemap 提供的是“明面上的地址清單”,蜘蛛池這類工具通常解决的是让蜘蛛有更多入口、持續来訪的問题。两者不冲突,但不能互相替代。如果清單里混了大量废地址,蜘蛛按清單抓一圈拿不到有效内容,反而占用了本可以用在別處的抓取額度。

站点地图的價值在于准确,不在于數量。宁可只提交 5000 條有效地址,也不要塞進 5 萬條里有一半是死鏈的记錄。

七、定期复查的节奏

建议在以下情况之後重新跑一遍检查:站点改版、批量下线内容、調整 URL 規則、更換域名或协议。没有大變動时,按月抽样一次就够。把检查項寫成脚本或者一份固定清單,比每次靠记忆更省事,也更不容易漏。

sitemap 属于站点运营里成本很低、收益比較直接的一件事。花半小时核對一遍,就能避免蜘蛛被引到一堆已经失效的地址上。