站点上线一段時間後,篩選、排序、分頁、追踪這几類參數會悄悄長出一大批地址。它們多數對用戶有用,對蜘蛛却可能是同一條内容的几十個副本。等到日誌里出現大量相似抓取记錄,才發現抓取時間被參數頁吃掉了大半。
參數連結為什么容易失控
列表頁加上排序(?sort=price)、篩選(?color=red&size=m)、翻頁(?page=3)、来源追踪(?from=home)之後,组合數量是乘法關系。一個 200 條商品的栏目,颜色 10 種、尺碼 5 種、排序 4 種,理论上就能拼出上千個地址,而真實内容並没有變多。
更麻烦的是,很多參數頁之間互相連結,蜘蛛顺着篩選條件一路点下去,很难自己判断哪里是尽头。
先摸清參數從哪里来
常见来源
- 篩選與排序控件,尤其是預設勾選狀態也會寫進地址的寫法;
- 分頁參數與「查看更多」按钮;
- 广告投放、站内推荐、邮件营销带上的 UTM 類參數;
- 站内搜尋结果的落地地址;
- 會话 ID、語言或货幣切換參數。
把這些来源列成一張表,标注每個參數是否影响頁面主要内容的呈現,是自查的第一步。
怎么判断哪些參數值得留
判断标准可以很简單:換掉這個參數之後,頁面主体内容是否有實质變化。只改變排列顺序、只高亮某几個结果、只改變跳轉来源的參數,通常不值得被單獨抓取。
處理優先級
- 先確認參數頁是否有真實搜尋需求。有稳定搜尋量的篩選组合,可以做成静態化的专题入口;
- 無搜尋需求又不改變内容的,優先用 canonical 指向主列表頁,或者让連結生成时不带參數;
- 會产生大量组合的,用 robots.txt 屏蔽參數模式,但注意別把有用路径一起挡掉;
- 只在特定场景使用的追踪參數,可在脚本加载时移除,避免出現在分享和外鏈里。
屏蔽只是止损,不是解决方案。如果用戶习惯用篩選找内容,頁面本身需要更清晰的導航和分類入口,而不是让蜘蛛和用戶都在參數里打轉。
一條可执行的自查流程
- 從服務器日誌里按 URL 去重,統計带參數的請求占比和响應碼分布;
- 抽样打開几個高频參數頁,確認内容與主列表頁的重合程度;
- 检查這些頁面的 canonical、meta robots 是否與预期一致;
- 核對 sitemap 與站内連結中是否夹带了追踪參數;
- 改動後观察一到两周日誌,看參數頁抓取量和核心頁面抓取量的變化。
几個容易忽略的细节
- 參數顺序不同會被视為不同地址,生成連結时尽量固定顺序;
- 大小寫差异和空值參數(?color=)同样會制造重复;
- 移動端與 PC 端篩選逻辑不一致时,要分別確認;
- 站内搜尋頁建议加上 noindex,但仍需保證用戶可正常訪問。
參數治理不需要一次做完。先把产生量最大的那一两個參數控制住,往往就能让日誌里的抓取结构清爽很多。定期回看日誌,把處理结果和真實抓取情况對上,比一次性大改更稳妥。