同一批内容,因為篩選、排序、追踪參數的存在,可能生成出成百上千個地址。這些地址大多只是同一頁面的變体,却會占用抓取资源、稀释連結信号,也让索引里出現大量似曾相识的頁面。參數 URL 的處理,本质是判断哪些地址值得被蜘蛛單獨認识,哪些應该被合並回主地址。
第一步:给參數分類,而不是一刀切
參數處理最忌讳全局屏蔽或全部放開。先按用途分三類,處理方式完全不同。
- 内容型參數:參數不同,頁面主体内容确實不同,例如商品 ID、文章 ID。這類地址通常應当可以被抓取和索引。
- 篩選與排序型參數:如 color=red、sort=price、page=2。多數情况下是同一批内容的重排,是否收錄取决于该组合是否有獨立搜尋需求。
- 追踪型參數:utm_source、gclid、fbclid、ref 等,只用于統計来源,不改變内容。
追踪參數:優先級最高的收敛對象
追踪參數是重复内容最常见的来源。外鏈、广告、社媒分享往往會带上這些參數,導致蜘蛛從不同入口抓到同一頁面。
- 在服務器或 CDN 层把已知追踪參數剥离,再 301 到干净地址。
- 頁面 canonical 始终指向不带追踪參數的規范地址。
- 站内連結、sitemap、分頁連結不要带追踪參數。
如果站点無法在服務端做剥离,至少要保證這些參數地址能被 canonical 明确指向主地址,而不是各自為政。
篩選與排序參數:看搜尋需求,也看抓取成本
很多电商和内容站會纠结:篩選组合要不要收錄?判断标准可以拆成两点。
值得放開的信号
- 该组合有真實的搜尋量,用戶會直接搜“红色 连衣裙 長款”這類词。
- 篩選结果頁有獨立價值:獨立标题與描述、结果數量足够、不是空列表。
- 站内已有稳定的内鏈入口,而不是只靠參數拼接产生。
應当收敛的信号
- 组合數量巨大,且大部分结果為空或高度重复。
- 同一批商品只是顺序不同,没有獨立信息價值。
- 參數可以無限叠加,蜘蛛容易陷入循环抓取。
收敛手段通常组合使用:不产生内鏈入口、canonical 指向主列表、必要时對無價值组合用 noindex。需要提醒的是,robots.txt 屏蔽和 noindex 不能同时指望——被 robots.txt 拦住的 URL,蜘蛛讀不到頁面上的 noindex,已经存在的索引可能長期留在那里。
分頁參數 page= 的處理邊界
分頁參數属于篩選參數的一種,但更常被單獨讨论。一般做法是:分頁地址可以被抓取,让蜘蛛顺着翻到更深的内容;但分頁本身通常不需要作為獨立的索引對象。canonical 指向第一頁,還是保留自指並配合合理的内部連結,取决于站点结构。
關键不在參數本身,而在于翻頁是否通向有價值的詳情頁。如果翻到第 20 頁仍然只是重复列表,就没有必要让蜘蛛一直翻下去。
一個可执行的自查顺序
- 導出近期被蜘蛛抓取的 URL 样本,按參數归類,統計各類占比。
- 找出參數頁面里被索引的比例,以及這些頁面的落地轉化情况。
- 對比同一内容的有參數與無參數版本,看索引里是否出現多個地址。
- 優先處理追踪參數,再處理高频篩選參數,最後處理分頁。
- 調整後观察抓取分布的變化,而不是只看索引量的涨跌。
參數 URL 的目标不是让蜘蛛少抓,而是让抓取和索引落在真正需要被看到的地址上。收敛得当,抓取预算會自然流向有價值的頁面。
最後一点:參數處理没有一次到位的方案。站点改版、篩選维度增加、投放渠道變化,都會让原本干净的參數结构重新變乱。把它当成定期复查的項目,比追求一次性做完美更現實。