網站收錄

URL 带跟踪參數被收錄:先分清三類參數再處理

带跟踪參數、會话參數或篩選參數的 URL 被搜尋引擎收錄,並不一定全是坏事,但不加区分容易分散頁面權重並产生重复内容。本文把常见參數分成三類,分別說明哪些该放行、哪些该屏蔽、哪些用 canonical 處理,以及處理顺序上容易踩的坑。

網站收錄

URL 带跟踪參數被收錄:先分清三類參數再處理

很多站点在流量統計、广告投放或分享連結里會带上一串參數,比如 ?utm_source=...、?from=...、?sessionid=...。這些 URL 一旦被搜尋引擎發現,就有可能獨立進入抓取和收錄流程。结果就是同一個頁面在索引里出現多個地址,标题和摘要還可能不一样。要處理這個問题,先別急着全站屏蔽參數,而是把參數分成三類来看。

第一類:跟踪與来源參數

utm_*、gclid、fbclid、from、share_source 這類參數,只记錄用戶從哪来,不改變頁面内容。它們對用戶和搜尋引擎都没有實际價值。理想狀態下,同一篇内容只保留一個不带跟踪參數的規范 URL。處理方式通常是:站内連結不要主動带這些參數;外部投放連結可以带,但頁面本身要用 canonical 指向干净地址;如果參數數量极大,也可以在 robots.txt 里屏蔽带特定參數的路径,但要先確認這些 URL 没有獨立内容。

第二類:功能與會话參數

sessionid、sid、phpsessid、token 這類參數和用戶會话绑定。不同用戶訪問同一個頁面,URL 可能不同。這類參數容易造成大量重复抓取,而且内容對搜尋引擎没有区別。常见的做法是让服務器不要對搜尋引擎爬虫分配會话 ID,或者在 robots.txt 中屏蔽带 session 參數的 URL。如果無法從服務端處理,至少要用 canonical 指向無會话參數的版本。要注意,屏蔽和 canonical 是两種手段,前者阻止抓取,後者提示規范地址,不要同时用错。

第三類:篩選、排序與分頁參數

?color=red、?sort=price_asc、?page=2 這類參數會改變頁面展示的内容或顺序。它們不一定都是垃圾 URL,有的篩選组合本身有搜尋需求。處理时要看“内容增量”:如果參數變化後只是同一批商品的顺序變了,或者篩選出来的结果和主列表高度重叠,可以考虑 canonical 指向主列表,或者用 noindex 让頁面不被索引但仍可抓取。如果某個篩選组合有獨立價值,比如“红色连衣裙”确實有用戶搜尋,那就保留它,並做好标题和描述。分頁參數則是另一回事:分頁頁面通常可以抓取,但不一定要全部索引,具体看内容量和站内结构。

處理顺序:先看日誌,再動手

不要一上来就改 robots.txt。先看服務器日誌和搜尋控制台里的抓取統計,確認哪些參數 URL 真的被频繁抓取、有多少已经被收錄。然後按影响面排序:跟踪參數影响最大、最容易批量處理,優先做;會话參數次之;篩選和分頁參數要逐個判断,不要一刀切。處理之後观察一段時間,看抓取請求是否下降、索引中的重复 URL 是否减少。索引更新需要時間,不要指望第二天就干净。

判断一個參數 URL 该不该保留,最简單的标准是:如果去掉參數後,頁面主要内容没有變化,那它大概率不需要獨立收錄。

几個常见誤区

  • 用 robots.txt 屏蔽參數 URL,同时又希望這些頁面被索引,這两件事互相矛盾。
  • canonical 指向干净地址,但站内連結仍然大量带參數,搜尋引擎還是會把带參數的 URL 当作入口。
  • 把所有參數 URL 都 301 到主地址,可能誤伤真正有内容的篩選頁,也可能造成跳轉鏈過長。
  • 只處理首頁和栏目頁,忽略了站内搜尋、分享按钮和广告落地頁产生的參數連結。

參數 URL 的收錄問题,本质上是 URL 規范問题。先分清參數的作用,再决定是屏蔽抓取、指定規范地址,還是保留並優化。處理過程中以日誌和實际收錄資料為准,別為了“看起来干净”而把有搜尋需求的頁面一起砍掉。