先分清:是索引真的多,還是統計口径不一样
不少人在索引报告里看到 URL 數量遠大于自己發布的内容數,第一反應是“出問题了”。先別急。报告里統計的是搜尋引擎認為值得保留的地址,不是你的文章數。一個栏目頁、一個分頁、一個带篩選參數的列表、一個标簽归档,各自都算一個地址。數字對不上是常態,真正要看的,是多出来的那些地址是不是你能接受的頁面。
多出来的地址,通常来自這几處
參數组合與追踪連結
篩選、排序、分頁、語言切換,每加一個參數就是一個新地址。三個篩選條件各自有多個可選值时,组合起来很快就是几十上百個 URL。再加上從邮件、社交平台点進来带的 utm 參數,同一篇文章會在索引里出現好几個版本。追踪參數本身没有内容差异,却會各自占一個位置。
站内功能頁:搜尋结果頁、日歷归档、打印頁
站内搜尋结果頁通常没有獨立價值,但只要頁面上有“上一頁/下一頁”“相關搜尋”這類入口,就可能被抓取並保留。日歷归档、标簽归档、打印版本、带 session id 的連結同理。這類頁面往往是索引數量膨胀的主要来源,而且它們本身還會不断生成新的地址。
主机名、协议與路径的多種寫法
http 與 https 並存、带 www 與不带 www、结尾带不带斜杠、路径大小寫混用——如果這些變体都能正常訪問且没有做归一處理,就可能被当成不同地址分別收錄。這類問题通常集中在改版、上 CDN、換證书之後出現,值得單獨排查一次。
站外引用與镜像
被轉载、被收藏夹收錄、被论坛贴出带參數的連結,都可能把變体地址喂给搜尋引擎。還有一種是自己造成的:測試域名、舊域名、CDN 预览域名没有關掉,也没有做跳轉,一旦被外部連結指到,就容易被抓進去。
内鏈與站点地图里寫错的地址
相對路径解析出错、複製粘贴时多了一個字符、批量生成的連結模板有問题,都會让蜘蛛顺着错誤地址爬。這類地址通常返回 404,問题不大;但如果服務器對不存在的頁面返回 200,就會形成软 404,被当成正常頁面保留下来。
處理顺序比處理手段更重要
看到差异之後,很多人會一次性把所有能想到的手段都用上,结果既看不出哪一步有效,也容易誤伤正常頁面。更稳妥的做法是按顺序推進:
- 先看這些地址有没有流量、有没有入口。既没有站内入口也没有外部連結的,優先級最低,可以先不動。
- 区分“同一内容的變体”和“本来獨立的頁面”。變体用 canonical 指向規范地址;獨立但质量很低的頁面,先判断它是否應该存在。
- 從源头减少新變体产生。不适合被抓的篩選參數用 robots.txt 拦,内鏈和站点地图只輸出規范地址。
- 已经存在且確認不需要的,用 301 或 410 明确表態,不要放着不管。
- 留出观察時間,看索引數量是否回落,而不是当天改完当天要结果。
清理索引是持續消耗抓取资源的事,一次改動對應一類問题,比同时改十几處更容易看出哪一步真正起了作用。
怎么驗證清理有没有效果
- 看服務器日誌里這些變体地址還有没有在被抓取,抓取频次是否下降。
- 抽样几個變体地址,检查返回碼是否正确,canonical 是否指向了预期的規范地址。
- 观察索引报告中被排除的分類是否在往合理方向變化,而不只是總數字變小。
- 確認站内搜尋入口、标簽入口、篩選入口是否已经調整,避免新的變体繼續产生。
小结
索引里的地址比實际頁面多,本身不一定是問题。只有当多出来的是重复、無入口、無價值的地址,並且持續占用抓取资源时,才需要動手。判断顺序是:先弄清来源,再看它有没有入口,然後確認它是否與已有頁面重复,最後才决定用哪一種方式處理。反過来先下手段,往往會让排查變得更难。