站内篩選、排序、追踪參數用起来很方便,但它們對搜尋引擎来说就是一條條新地址。同一個商品列表頁,带上排序方式、頁碼范围、来源渠道、會话标识之後,可能變成几十上百個 URL。這些地址内容大同小异,却會各自占一份抓取時間,也可能让蜘蛛在參數组合里绕来绕去出不来。
參數一般從哪来
- 用戶侧操作:排序方式(?sort=price)、篩選條件(?color=red&size=40)、列表與網格视图切換。
- 站内搜尋:用戶搜什么词,就生成什么地址,這類地址數量几乎是無限的。
- 营销與統計:utm_source、utm_medium、gclid 等渠道追踪參數。
- 系統自動附加:會话 ID、缓存刷新戳、推荐位标识、A/B 測試分组。
它們會带来什么問题
參數地址本身並没有错,問题出在數量失控。当篩選條件可以两两组合、三三组合时,地址數量會呈指數級增長。蜘蛛一天能走的頁面有限,如果大量時間花在打開一堆内容几乎一样的地址上,真正需要被讀到的新内容就可能排在後面。
另一层麻烦是,同一批内容被拆成多個地址後,哪個地址才代表這個頁面會變得模糊。用戶在搜尋结果里点到的,可能是一個带了三四個參數的版本,分享出去也不好看。
几種典型的失控场景
- 篩選頁被導航或标簽大量暴露,每個篩選項都是一個可点連結。
- 站内搜尋结果頁可以被直接訪問,且没有做任何限制。
- 推廣連結带着追踪參數被贴進站内,蜘蛛顺着内鏈一路抓過去。
- 參數顺序不固定,a=1&b=2 與 b=2&a=1 被当成两條地址。
自查清單
- 導出最近一段時間的訪問记錄,按路径前缀統計带參數的請求占比,看主要流量集中在哪几類參數上。
- 逐個參數問一句:去掉它,頁面上用戶看到的内容會不會變?如果答案是不會,它就不该是獨立地址。
- 检查同一组篩選條件,參數顺序是否统一,大小寫是否一致。
- 检查站内搜尋頁、篩選頁是否被内部連結大量暴露,尤其注意頁脚和侧邊栏的标簽云。
- 检查 robots.txt 中已有的參數規則,確認它没有誤伤真正需要被訪問的頁面。
- 检查带參數版本的 canonical 是否指向了不带參數的主地址。
- 把分頁參數與篩選參數叠加測試一下,看看最多能拼出多少個地址。
- 抽查几组參數地址,確認返回内容确實有差异,而不是換了個外壳的同一份列表。
處理思路
- 生成連結时就清理:站内跳轉、分享按钮、内鏈里不要把追踪參數寫死,需要統計时交给脚本或後端记錄。
- 收敛篩選入口:保留常用篩選组合的可点連結,冷门组合只提供表單提交,不生成可抓取的超連結。
- 站内搜尋结果頁單獨處理:這類頁面通常没有獨占價值,可以加上 noindex,或在 robots.txt 中限制抓取。
- 统一參數規范:固定參數顺序,统一小寫,去掉無意义的空值參數。
- 用 canonical 归拢:确實需要保留參數的頁面,让規范連結指回無參數版本,避免多個地址各自為政。
判断一個參數值不值得保留,标准其實很简單:它是否真的改變了用戶在頁面上看到的内容。如果答案是否,那么它更适合待在統計报表里,而不是留在 URL 里。
定期复核
參數是随业務不断長出来的。新上一個篩選维度、新做一次投放、新加一個推荐位,都可能悄悄多出几類地址。建议把參數检查放進季度性的站点自查里,配合訪問记錄观察一段時間,看看带參數的請求比例是在下降還是繼續上涨。慢慢調整,不必一次改完,重点是让地址數量保持在一個自己心里有數的范围内。