參數頁是從哪里冒出来的
很多站点在改版或上线篩選功能时,只考虑了用戶体驗,没有考虑地址的生成方式。用戶点一次排序、換一次视图、叠加一個篩選項,URL 就多出一段參數。站内搜尋、分頁、排序、每頁條數、跟踪參數、會话 ID 加在一起,组合數量會迅速膨胀。
蜘蛛顺着内鏈爬,很容易把這些地址一條條抓走。结果是真正的内容頁分到的抓取次數變少,索引里混進大量内容相近的頁面,日誌也越来越难讀。
先把參數分個類
- 内容型參數:决定頁面主体展示什么,比如分類篩選、關鍵詞搜尋。這類參數可能對應真實的用戶需求。
- 视图型參數:排序方式、每頁條數、列表與卡片切換。多數情况下只改變呈現顺序,不改變内容集合。
- 追溯型參數:utm、ref、广告点击 ID、會话标识。對用戶和搜尋系統都没有獨立價值。
分類的意义在于:不同類別用不同手段處理,而不是一刀切全屏蔽。
内容型參數要看需求是否稳定
如果某個篩選组合确實有持續的搜尋需求,且结果集相對稳定,可以考虑保留為可抓取地址,並單獨寫好标题與描述。如果篩選结果随库存频繁變動、或者内容主要由其他頁面拼凑而成,就不适合放開。
视图型與追溯型尽量不進抓取
排序參數可以用 canonical 指回預設排序地址;视图切換優先用客戶端交互實現,避免产生新地址;utm 一類參數可以在服務器或 CDN 层做規范化處理;會话标识尽量不要用 URL 承载。
常见的几種處理手段
- robots.txt 屏蔽:适合明确無價值的參數。注意被屏蔽的地址仍可能被外鏈带出来,只是無法传递有效信号,通配范围要谨慎。
- canonical 指向主地址:适合參數不影响主体内容的情况,等于告诉搜尋系統以無參數版本為准。
- noindex:适合想保留给用戶使用、但不想進入索引的頁面,比如站内搜尋结果頁。注意 noindex 頁面依然會被抓取。
- 限制篩選维度:只允许單選、限制可叠加的维度數量、取消無结果的空组合,這是從源头减少组合爆炸的办法。
- 參數顺序统一:同一组條件因為书寫顺序不同而产生多條地址,属于典型浪費,最好在生成連結时固定顺序。
自查清單
- 站内是否允许任意參數组合直接進入内鏈
- 排序、每頁條數、视图切換是否都會生成新地址
- 篩選條件是否支持多選無限叠加
- 參數书寫顺序不同是否被当成不同頁面
- 站内搜尋结果頁是否有 noindex 或屏蔽規則
- sitemap 中是否誤收了带參數的地址
- 分享、外鏈中是否混入跟踪參數並被大量引用
- 移動端與桌面端生成的參數形式是否一致
改完以後怎么驗證
最直接的办法還是看服務器日誌。按問号統計請求量,观察带參數地址在總抓取請求中的占比,以及這些請求是否集中在少數几個组合上。如果參數地址長期占據大部分抓取次數,說明治理還没有到位。改動上线後隔一段時間再看趋势,不需要盯着一天的資料下结论。
參數治理不是把參數全部屏蔽掉。屏蔽過宽會连带挡住正常頁面,尤其是用參數承载栏目结构的站点。調整前先小范围驗證,確認没有誤伤再逐步放開范围。