一個常见场景:列表頁本身只對應一個地址,過段時間用 site 查询或者翻收錄报告,却能看到同一個列表衍生出几十上百個带參數的地址,有的還在搜尋结果里露了面。它們大多来自篩選、排序、分頁,或者投放連結里附带的追踪參數。這類地址内容高度相似,却會持續消耗抓取资源,也让索引里的頁面结构變得难以判断。
處理之前不必急着屏蔽。带參數的 URL 並不都是垃圾,先把它們分類,再决定每一類怎么收敛,動手的顺序比動作本身更重要。
第一步:把參數分成三類
- 功能性參數:分頁、語言、版本切換等。這類地址往往有獨立内容,可能需要被收錄,重点是規范寫法,而不是直接屏蔽。
- 篩選與排序參數:颜色、價格区間、排序方式。價值差异很大:有明确搜尋需求、内容确實不同的组合可以保留;只是換個排列顺序、正文没差別的,通常不需要單獨收錄。
- 追踪參數:utm、渠道标识之類,只用于統計,不改變頁面内容,理想狀態下不该出現在索引里。
第二步:用日誌確認抓取去了哪里
先看服務器日誌或抓取統計,確認參數地址到底占了多少抓取量。重点看三件事:
- 被訪問最多的路径里,參數頁的比例和具体參數名;
- 這些請求返回的狀態碼,是否存在大量 200 但内容几乎為空的情况;
- 參數地址是出現在内部連結、站点地图里,還是只在投放連結中。
確認来源之後,後續的整改才不會誤伤正常頁面。
第三步:從来源開始收敛
- 追踪參數:站内連結不要携带追踪參數;對外投放的連結,可以在服務端忽略參數,或把带參地址稳定地跳轉到無參版本。
- 篩選與排序:有獨立價值的组合,给它一個規范、可讀的固定地址,並让其他參數组合指向它;没有獨立價值的,合並展示,不再通過内鏈暴露。
- 分頁:尽量保持可抓取,避免為了去掉參數把後半段連結全部隐藏。
- canonical 與内鏈保持一致:頁面里寫的規范地址,要和内鏈、站点地图中的地址一致,否則信号會互相抵消。
- 站点地图只保留主版本:把參數地址從站点地图中清掉,减少它們被重新發現的机會。
第四步:观察,而不是一次性全改
參數處理往往會影响抓取路径。如果一次改掉全部規則,日誌里很难分辨是哪一項起了作用。更稳的做法是按參數類型分批調整,每批之間留出观察周期,看抓取請求的分布、返回碼和索引中參數地址的數量是否在變化。
几個容易踩的坑
- 在 robots.txt 里屏蔽參數目錄,却指望索引里立刻消失——抓取限制和索引移除是两件事。
- 一刀切禁止所有带參數的地址,结果连带影响了确有内容的分頁和篩選頁。
- 頁面 canonical 指向無參版本,内鏈却仍然大量指向带參地址。
- 把參數清理当成一次性任務,之後新上线的活動和投放又引入一批新的追踪參數。
參數本身不是問题,缺少统一規則才是。先確認抓取去向,再按類型收敛来源,最後用一段時間的日誌和索引資料来驗證,比一次性大規模屏蔽更可控。