網站收錄

带參數的 URL 被收錄了:utm、篩選和排序參數怎么收口

带 utm、排序、篩選參數的 URL 被收錄,往往不是蜘蛛乱抓,而是站内連結和分享連結把它們递了出去。本文把參數分成追踪類、视图類和篩選類,分別說明什么情况用 canonical 收口、什么情况该保留或禁抓,以及怎么從日誌判断收口有没有生效。

網站收錄

带參數的 URL 被收錄了:utm、篩選和排序參數怎么收口

带參數的 URL 出現在索引里,很少是蜘蛛自己乱抓,多數是自己递出去的:分享連結带 utm、篩選頁有内鏈、排序按钮本身就是連結跳轉。這些地址能正常打開、内容也完整,蜘蛛没有理由跳過。麻烦在于它們會稀释抓取预算,也會让同一批内容在索引里出現多份。

先分清參數是干什么的

把所有带參數的地址当成一類處理,很容易把该留的也一起砍掉。按作用分三類更實用。

  • 追踪類:utm_source、gclid、fbclid 之類,只用于統計来源,不改變頁面内容。
  • 视图類:排序方式、每頁數量、列表或網格视图、頁碼,内容主体相同,只是排列和展示不同。
  • 篩選類:品類、價格区間、颜色、品牌等组合,會真實改變頁面上出現的條目集合。

追踪類和视图類基本不需要獨立索引;篩選類要看有没有對應的搜尋需求。這两類不應该用同一套办法處理。

不改變内容的參數:让代表地址回到無參數版本

canonical 指向無參數地址

把頁面上的 rel="canonical" 寫死成不带參數的版本,是成本最低的一步。注意 canonical 要指向可訪問、可被索引的地址,也不要同时给带參數頁面加 noindex,两個信号打架时结果往往不是你想要的那個。

站内連結別带追踪參數

很多參數 URL 是自己带進来的:活動頁、分享按钮、邮件模板都在連結後面拼 utm。站内跳轉去掉這些後缀,蜘蛛就不會顺着爬到複製出来的地址。

外部轉發带来的參數管不了,但可以收口

別人轉發时拼上的參數没法控制。這類地址偶尔出現几次不致命,關键是服務器不要因為參數不同就輸出不同内容,同时保持 canonical 一贯,让代表地址始终唯一。

篩選類參數:留一部分,收一部分

篩選頁有没有價值,取决于有没有對應的搜尋需求,以及頁面上有没有足够的内容量。

  • 有明确搜尋需求、结果集稳定的组合,比如某個品類加某個品牌,可以保留,並给獨立的标题和描述。
  • 结果很少或经常為空的组合,即便收錄也很难有表現,更适合收掉。
  • 多個條件任意叠加,组合數量可能是天文數字,全部放開並不現實。

收的方式有两種:robots.txt 禁止抓取,或者頁面加 noindex。区別在于,禁抓之後蜘蛛看不到頁面上的 canonical 和 noindex,將来想再放開,舊地址可能長期留在索引里;noindex 允许蜘蛛進来讀,但要消耗一部分抓取。

還有一個容易被忽略的细节:參數顺序。a=1&b=2 和 b=2&a=1 是两個不同的 URL,站内生成連結时统一顺序,能少造一批重复地址。參數值的大小寫、空值處理也值得顺手统一。

從日誌里看收口效果

改完之後不要只看索引报告,日誌更直接。統計一段時間内蜘蛛請求中带參數的占比,看趋势有没有降下来;同时观察不带參數的規范地址抓取次數有没有上升,這能說明抓取预算被挪到了更有用的地方。如果带參數請求占比不變,多半是站内還有連結在生成它們。

收口的目标不是把带參數的地址從索引里清空,而是让每個内容只留一個代表地址,把抓取和索引留给真正需要被搜到的頁面。

最後提醒一句:Google 早期的 URL 參數設定工具已经取消,這類問题現在主要靠 canonical、robots.txt 和站内連結结构来解决,不要指望在後台勾一個選項就完事。收口是個持續動作,新上线的活動頁、篩選组件、分享模块都可能重新把參數地址送出去,隔一段時間回日誌里看一眼比較稳妥。