常见問题

入口頁連結给目标 URL 加了跟踪參數,搜尋蜘蛛會当成新頁面抓吗?

很多人习惯给入口頁里的目标連結加上 utm 之類的跟踪參數做点击統計,但搜尋蜘蛛只看 URL 字符串,多一個參數就是一個新地址。本文說明什么情况下這些带參地址會被当成獨立頁面抓取、會带来哪些實际影响,以及几種更稳妥的統計和規范化做法。

常见問题

入口頁連結给目标 URL 加了跟踪參數,搜尋蜘蛛會当成新頁面抓吗?

给入口頁里的目标連結加上 utm_source、utm_campaign、?from=xxx 這類參數,是很多人做点击統計的习惯動作。平时放在普通頁面上問题不大,但放進蜘蛛池入口頁,這件事會直接影响搜尋蜘蛛對 URL 的判断,值得在動手前先想清楚。

搜尋蜘蛛眼里的带參 URL

搜尋蜘蛛不認识你的統計需求,它只認 URL 字符串。URL 里多一個參數,在它看来就是一個新地址;同一個目标頁加上不同參數,就會生成一批互不相同的 URL。

真正决定影响大小的,不是入口頁怎么寫,而是目标頁自己有没有做規范化處理。带參地址會不會被抓、會不會被当成獨立頁面,答案在這里。

什么情况下會被当成不同頁面

  • 目标頁没有 canonical,也没有做參數過滤規則,带參數版本會被当成新地址排队抓取。
  • 參數值随机、带時間戳或會话 ID,蜘蛛每次抓到的都不一样,可能持續产生新的抓取任務。
  • 带參頁面内容與干净版完全一致,容易被判成重复内容。
  • 入口頁連結没有加 nofollow,蜘蛛會顺着這些地址進入參數版本。

反過来说,如果目标頁已经有 canonical 指向不带參數的正式地址,或者站点层面已经屏蔽了這批參數,那么带參 URL 的干扰會小很多。

對入口頁和站点运营的實际影响

第一是消耗抓取预算。蜘蛛的時間有限,入口頁把大量带參地址推到它面前,它會分掉本可以用来抓目标頁的額度,尤其是入口頁連結本来就多的时候。

第二是信号分散。目标頁如果没有 canonical,外部連結、抓取频次、收錄信号會散落在多個版本上,主版本的抓取节奏可能被拖慢。

把統計參數留在入口頁的 href 里,本质上是用搜尋蜘蛛的抓取額度換自己的点击資料,這筆帳不一定划算。

更稳妥的几種做法

  1. 点击統計走服務端日誌或前端点击事件,不要在 href 里拼參數。
  2. 如果确實需要带參,目标頁加 canonical 指向不带參數的正式版本。
  3. 用 robots.txt 或站点层的參數處理規則,屏蔽已知的統計參數。
  4. 需要中間跳轉做統計时,让參數只出現在中間頁,最终跳轉到干净 URL。
  5. 入口頁尽量使用目标頁已有的正式地址,不要為了区分来源而人為制造新地址。

怎么判断已经出問题了

  • 看服務器日誌,带參地址是否被反复請求,請求量是否在持續增長。
  • 看目标頁干净版本的抓取次數是否被带參版本分流。
  • 看搜尋结果里是否出現了带參數的版本,或者两個版本交替出現。
  • 看入口頁的抓取總量是否上去了,但目标站的抓取並没有同步增加。

如果日誌里带參地址的請求占比很高,而干净地址的抓取次數在下降,通常說明入口頁的連結寫法已经在干扰正常的抓取分配,這时候優先改加入口頁的連結寫法,比繼續加連結更有意义。

需要提醒的是,改掉參數只是减少不必要的干扰,抓取多少、是否收錄仍由搜尋引擎自己决定,任何寫法都不能保證结果。