站点运营

站点运营:Sitemap 自查,別让站点地图里的地址和實际頁面對不上

站点地图是蜘蛛發現 URL 的重要入口,但長期不维護的 sitemap 可能混入已刪除頁面、重定向地址和參數連結。本文從可訪問性、lastmod、分块、提交监控几個方面,整理一份站点地图自查清單,帮助你把地址清單和實际站点對齐。

站点运营

站点运营:Sitemap 自查,別让站点地图里的地址和實际頁面對不上

站点地图(sitemap)的作用很直接:把站点里希望被蜘蛛發現的地址,集中整理成一份清單。但很多站点的 sitemap 是建站时生成的,之後很少回头看,结果清單里混着已刪除的頁面、重定向地址、參數篩選連結,甚至整批測試环境的地址。蜘蛛按图索骥,抓到的却是一堆無效内容,抓取预算就這样被消耗掉。

站点地图不是提交了就有效,也不承诺收錄。它更像一份给搜尋引擎的參考路线,路线本身要准确,後續的抓取才有意义。下面這份自查清單,可以按周或按月跑一遍。

先確認清單里都是可訪問的正式地址

打開 sitemap 文件,随机抽一批 URL,或者寫脚本批量請求,看返回狀態。合格的 sitemap 地址應该满足:

  • 返回 200 狀態,不是 301、302、404、410 或 5xx;
  • 頁面上的 canonical 指向自己,或者至少與 sitemap 里的地址一致;
  • 没有被 robots.txt 的 Disallow 規則挡住;
  • 不是登入後、购物车、後台、測試域名等非公開頁面。

如果 sitemap 里出現重定向地址,蜘蛛每次都要多跳一次,時間久了可能降低對该文件的信任。參數篩選頁、排序頁、會话 ID 連結更要清理,它們通常不是獨立内容,放進去只會制造重复。

已下线頁面要同步移除

内容下线或合並後,sitemap 往往還留着舊地址。蜘蛛反复抓到 404,並不會帮你恢复收錄,反而可能让抓取频率下降。處理方式有两種:如果頁面只是換地址,用 301 指向新地址,sitemap 里換成新地址;如果内容彻底刪除,直接從 sitemap 移除,同时让舊地址返回 404 或 410。不要一邊删頁面,一邊把舊地址繼續挂在站点地图里。

lastmod 時間要真實

lastmod 是告诉蜘蛛頁面最後修改時間的字段。有些系統每次生成 sitemap 都把所有頁面的 lastmod 刷新成当天,這样看起来勤奋,實际會让蜘蛛逐渐忽略這個字段。建议只在正文、模板或结构化資料發生實质變化时更新 lastmod。如果是批量改版,可以按栏目分批調整,而不是全站统一刷時間。

分块與索引文件要合理

大站不要把所有 URL 塞進一個文件。單個 sitemap 文件建议不超過 50000 條地址、50MB 大小。超過後應拆分成多個子 sitemap,再用 sitemap index 索引文件串起来。拆分维度可以按栏目、内容類型或更新频率,例如文章、商品、专题頁分開。這样既方便排查哪一块出問题,也便于單獨提交和观察。

提交之後要看資料,不要只提交

把 sitemap 提交到搜尋资源平台後,定期查看已發現、已抓取、被排除的數量變化。如果發現提交了很多地址,但抓取量長期不動,要回头检查:服務器是否稳定、頁面是否返回正常、内容是否重复、内鏈是否太少。提交 sitemap 只是辅助發現,不能替代網站本身的可抓取性和内容质量。

一份快速自查清單

  1. sitemap 里的地址是否全部返回 200?
  2. 是否有 301、302、404、410 混入?
  3. 是否包含參數連結、會话 ID、排序篩選頁?
  4. canonical 與 sitemap 地址是否一致?
  5. 已下线頁面是否已移除?
  6. lastmod 是否反映真實修改時間?
  7. 文件大小和條數是否超出限制?
  8. 是否在搜尋资源平台提交並观察資料?
  9. robots.txt 是否允许抓取 sitemap 文件本身?
站点地图的價值不在于文件里寫了多少 URL,而在于這些 URL 是否真實、可訪問、與站点目前狀態一致。把 sitemap 当成一份需要定期维護的运营资产,而不是一次性的建站产物。