網站收錄

带參數的 URL 要不要收錄:篩選、排序和追踪參數的處理思路

URL 後面拖着篩選、排序、追踪參數,是很多站点索引變乱的起点。本文把參數分成會改變内容和只為传递信息两類,說明各自值不值得單獨收錄,並梳理 robots.txt、canonical、限制篩選组合等做法的邊界,最後给出一份可以照着做的自查清單。

網站收錄

带參數的 URL 要不要收錄:篩選、排序和追踪參數的處理思路

打開一個电商站或内容站,URL 後面常常拖着一串問号:颜色、排序、utm 来源、會话 ID 混在一起。這些參數有些是给用戶用的,有些是给統計工具用的,但對搜尋引擎来说,每一個组合都可能變成一個全新的 URL。參數怎么管,直接影响索引的干净程度。

先分清:參數是為了改變内容,還是只為传递信息

绝大多數參數可以归成两類。一類會改變頁面上看到的内容,比如篩選颜色、價格区間、排序方式、分頁;另一類只是携带信息,頁面上没有任何区別,比如 utm 系列、分享追踪碼、會话 ID。第一類要不要收錄,取决于用戶是否真的會這样訪問;第二類基本没有收錄價值,因為它們和主 URL 展示的是同一份内容。

判断方法很简單:把两個 URL 分別在無痕窗口打開,遮住地址栏,看頁面内容是否真的不同。如果只是排序顺序變了、商品集合没變,通常不值得為它單獨建一個可收錄的版本。

三類參數,三種處理思路

追踪類參數

utm_source、fbclid、gclid 這類參數不改變内容,理想狀態是让它們不产生獨立的可收錄 URL。常见做法是:對外分享时尽量少带參數;来自站外、無法控制的參數,依靠頁面上的 canonical 指向無參版本;同时保證站内連結不携带追踪參數,避免自己制造重复。

篩選與排序參數

這類參數最让人纠结。它們可能带来長尾流量,也可能生成成千上萬個近乎重复的頁面。比較稳妥的思路是:只保留少數几個真正有搜尋需求、内容差异明顯的篩選组合,並且用可讀的静態路径承载;其余组合通過參數生成,但不主動暴露内鏈,也不放進 sitemap。如果某個篩選组合只筛出一两條结果,那基本没有收錄價值。排序參數一般不改變结果集合,通常不需要單獨收錄。

會话與時間戳參數

sessionid、sid、時間戳這類參數會让同一個頁面每天生成新 URL,是最容易造成索引杂乱的一類。它們通常由系統自動生成,正确做法是在服務端或前端就避免出現在連結里,而不是等到事後去补救。

參數太多會带来什么實际問题

  • 抓取机會被分散:站点每天能被抓取的次數有限,大量參數 URL 會挤占本可以留给正文頁的机會。
  • 重复内容增多:同一份内容出現十几個 URL,搜尋引擎需要自己挑選代表版本,選中的不一定是你希望的那個。
  • 資料难分析:同一頁面被拆成多條记錄,統計訪客和表現时容易失真。
  • 内鏈信号分散:如果站内到處是指向不同參數版本的連結,原本集中的信号會被摊薄。

几種常见手段,各自的邊界

處理參數时,经常被提到的几種方式作用並不相同:

  1. robots.txt 屏蔽參數路径:能阻止抓取,但被屏蔽的 URL 仍可能因為外鏈等原因出現在索引里,只是没有摘要。屏蔽前要想清楚,因為一旦屏蔽,頁面上的 canonical 也就讀不到了。
  2. canonical 指向規范版本:告诉搜尋引擎哪個是代表版本,属于建议而非强制,通常要配合内鏈和 sitemap 一起使用才更有效。
  3. 限制篩選组合的數量:從产品层面控制,比如只允许最多两個篩選條件同时生效,這往往是最省事的做法。
  4. 把有價值的篩選做成静態路径:例如把常用的城市、品類组合寫成獨立頁面,内容做實,而不是靠參數临时拼出来。

以前 Search Console 里有专门的 URL 參數工具,後来已经下线,現在參數的管理基本要靠站点自己在前端、服務端和連結结构上解决。

上线前後的自查清單

  1. 站内導航、面包屑、正文里的連結,是否都不带追踪參數?
  2. 篩選頁是否有唯一的規范版本,翻頁时參數是否稳定?
  3. 參數 URL 會不會出現在 sitemap 里?如果會,是不是你希望被收錄的那几個?
  4. 同一頁面的多個參數版本,canonical 是否都指向同一個地址?
  5. 屏蔽規則有没有誤伤正文頁?屏蔽之後,頁面上是否還有需要被抓取的内容?
處理參數的目标不是让所有 URL 都被收錄,而是让搜尋引擎把有限的時間花在真正有内容、有需求的頁面上。收錄與否最终由搜尋引擎判断,站点能做的只是减少干扰項。

如果拿不准某個參數值不值得保留,可以先問一句:用戶會不會主動搜尋它?如果答案是否定的,那它多半只是在给自己添乱。