站点运营

站点运营:URL 參數與篩選頁自查,別让一组篩選條件裂變出上千個地址

篩選、排序、分頁、追踪參數都會在 URL 上留下痕迹,组合起来很容易生成遠超實际内容量的地址。本文按參數類型给出處理思路——追踪參數、排序视图、篩選组合、分頁各用不同策略,並附一份可以直接照着做的检查清單,帮你在不牺牲功能的前提下收紧抓取范围。

站点运营

站点运营:URL 參數與篩選頁自查,別让一组篩選條件裂變出上千個地址

站内篩選、排序、分頁這些功能做起来不复杂,但它們在 URL 上留下的痕迹,往往比真正的内容頁多得多。同一個列表頁,加上颜色、價格区間、排序方式、頁碼,随手点几下就能拼出几十種组合;如果這些地址還能被站内連結、外部分享或者統計代碼带出来,蜘蛛顺着爬一遍,地址總量很快就會超過站点實际内容量。

參數頁失控时,通常有這几個信号

  • 服務器日誌里带 ? 的請求占比很高,而且大量地址只出現過一两次。
  • 站長平台顯示的已收錄地址數,明顯多于你實际寫的頁面數。
  • 站内搜尋頁、篩選结果頁被單獨收錄,标题寫的是“某某篩選结果”。
  • 同一批文章或商品,在多個參數地址下重复出現,互相争抢同一個词的展現。

出現這些信号,不代表參數功能做错了,而是說明你没有给參數地址划定邊界。接下来要做的不是關掉功能,而是把參數分類,再决定每一類怎么處理。

先把參數分類,再决定處理方式

追踪類參數

utm_source、ref、from、spm 這類參數只服務于統計,不影响頁面内容。麻烦在于,如果站内連結也带上了它們,蜘蛛每点一次就多记一個地址。處理方式很直接:站内連結、面包屑、分頁按钮一律使用不带追踪參數的干净地址;頁面用 canonical 指向干净版本;外部投放連結尽量走跳轉頁,別让它在站内出現。

排序與视图類參數

sort=price、view=list 這類參數,頁面主体内容相同,只是排列顺序變了。可以保留一條預設地址作為正主,其余地址自引用預設版本,或者加上 noindex,follow。這里不建议用 robots.txt 一刀切屏蔽:被屏蔽的地址索引里可能還留着舊记錄,同时頁面之間的連結信号也被切断了。

篩選類參數

篩選是组合最多、最容易爆炸的一類。比較稳妥的做法是限制可被抓取的维度:只让主维度(比如品類、品牌)的篩選頁進入連結和抓取,次要维度叠加出来的组合不生成站内可爬連結。如果某几個篩選组合确實有稳定的搜尋需求,就把它們做成静態路径,例如用目錄形式代替带多個問号的地址。

分頁與會话參數

分頁地址建议保持可抓取,並让每頁自引用自身,不要把第二頁之後的 canonical 都指向第一頁,那样後面的内容很难被單獨收錄。至于 sessionid、sid、時間戳這類會随机變化的參數,則要從生成逻辑上掐掉,不要让它們出現在 URL 里。

落地时容易踩的几個坑

  1. 只靠 robots.txt 屏蔽參數,以為萬事大吉,结果索引里的舊地址迟迟不掉。
  2. canonical 指向一個已经 404 或需要跳轉的地址,等于把信号送進了空處。
  3. 站内分頁連結直接带上目前篩選參數,訪客点一次翻頁就又多出一個组合。
  4. 篩選结果頁的标题和正文與主列表完全一样,就算被收錄也只是重复内容。
  5. 規則改完就不再看資料。參數處理是長期维護,不是一次性配置。

一份可以照着做的检查清單

  1. 從最近一周的日誌里筛出带參數的 URL,按參數名分组,統計數量與出現频次。
  2. 拿這批數量和站点實际内容數對比,看參數地址是否已经明顯超出。
  3. 把參數归入追踪、排序、篩選、分頁四類,逐類寫下處理策略。
  4. 检查站内鏈、分頁、分享按钮、广告落地頁生成的地址是否干净。
  5. 確認 canonical 和 noindex 規則只作用在该作用的頁面上,別誤伤内容頁。
  6. 改動後隔一到两周再看一次日誌,观察參數地址請求量是否下降、内容頁被抓取次數是否上升。
參數本身不是問题,失控的參數组合才是。判断标准很简單:這個地址是否對應一份獨立、對訪客有價值的内容?如果不是,就没必要让蜘蛛把它当成一個獨立頁面来對待。