站点运营

站点运营:XML 站点地图自查,別让 sitemap 里的地址和真實頁面脱节

XML 站点地图是向搜尋蜘蛛递交 URL 的常規入口,但地图内容常與站点實际脱节:舊頁面残留、重要頁面缺席、地址格式混乱。本文给出一套可执行的自查流程,從導出清單、狀態碼检查,到统一規范與提交後的观察要点,帮助运营者定期核對這份地址清單。

站点运营

站点运营:XML 站点地图自查,別让 sitemap 里的地址和真實頁面脱节

XML 站点地图(sitemap)是站方向搜尋引擎主動递交 URL 的常規手段,但它本身不是“收錄開關”。真正影响效果的是:地图里列出的地址,是否和站上真實、可訪問、值得被發現的頁面一致。很多站点的 sitemap 由插件自動生成,装好之後就再没人看過,時間一長,地图和站点實际情况脱节,反而给抓取带来干扰。

先搞清楚 sitemap 里現在装了什么

打開浏览器直接訪問 sitemap 文件,把地图里的地址和站点實际頁面做個對照。常见的脱节有三類。

一、已经刪除或改版的頁面還留在地图里

  • 栏目下线後舊地址仍在地图中,蜘蛛反复来抓只會拿到 404 或 301。
  • 活動頁、商品頁下架了,地图却没有同步刷新。
  • 測試目錄、临时頁面曾经被寫進地图,後来一直没清掉。

少量 404 不是大問题,但如果地图里長期存在大量死鏈,抓取预算就被消耗在這些没有價值的地址上。

二、真正重要的頁面反而没進地图

  • 手工發布的专题頁、獨立栏目,插件识別不到,一直没進地图。
  • 列表翻頁過多,後面几頁被地图截断,深层内容缺少入口。
  • 移動端或獨立域名只列了其中一套,另一套完全缺席。

三、地址格式不统一

同一個頁面在地图里以多種形式出現,是很常见的問题:

  • http 與 https 混用;
  • 带 www 和不带 www 混用;
  • URL 末尾斜杠不统一;
  • 带跟踪參數(如 utm_source)的地址被寫進地图;
  • 大小寫不一致,而服務器区分大小寫时报 404。

這些地址在地图里看起来是不同頁面,實际指向同一份内容,等于人為制造重复入口。

一套可执行的自查流程

  1. 拉全量清單。把 sitemap 里所有 URL 導出成表格,作為基准清單。
  2. 跑一遍狀態碼。用工具批量請求,标记出 404、301、500 的地址。
  3. 比對真實頁面。把地图地址與後台已發布内容列表對照,找出“地图有、站上没有”和“站上有、地图没有”两類。
  4. 统一規范。确定站点唯一主域名和 URL 形式,地图里只保留規范地址。
  5. 確認可訪問性。地图本身要能匿名打開,不要 403,也不要被 robots.txt 挡住。
  6. 检查 lastmod。修改時間要和頁面實际更新時間對得上,不要每次生成都把全部日期刷新一遍。

sitemap 索引與分片的注意点

  • 單個 sitemap 文件有 URL 條數和体积上限,超過时要拆分,並用索引文件统一列出。
  • 索引文件里引用的子地图地址同样要能正常訪問。
  • 把地图位置寫進 robots.txt 是常见做法,但要確認路径正确、没有拼寫错誤。
  • 提交過的舊地图地址如果有變動,需要同步更新,避免留下失效引用。

提交之後別就当完事

sitemap 只是“告诉”蜘蛛有哪些地址,不保證被抓取,更不保證被收錄。提交後值得观察的是:

  • 搜尋资源平台里已提交與已處理的數量比例,長期偏低說明地图里低质地址偏多。
  • 訪問日誌中蜘蛛對地图内地址的抓取频次,是否只集中在少數几個栏目。
  • 新發布頁面在日誌里首次被抓取的時間,是否明顯滞後。
把 sitemap 当成一份需要定期核對的“地址清單”,而不是装完就忘的插件产物。每次栏目調整、批量下线内容之後顺手看一眼地图,比事後清理死鏈省事得多。

如果站点規模不大,手工维護一份精简地图往往比依赖插件全量生成更干净;規模大时則需要把地图生成逻辑接進發布流程,让頁面下线與改版同步反映到地图里。