站点运营

站点运营:URL 參數與篩選條件自查,別让同一批内容變成無數個地址

站内带參數的地址常常比真實内容多出好几倍,抓取预算被悄悄分散。本文整理參數的常见来源、该管與可以放過的判断标准,以及篩選頁、跟踪參數的處理顺序和自查清單,帮你把地址數量收回到可控范围。

站点运营

站点运营:URL 參數與篩選條件自查,別让同一批内容變成無數個地址

站点跑一段時間後,URL 數量往往會比實际内容多出好几倍。多出来的那部分通常不是新頁面,而是同一批内容带着不同參數被反复訪問。對蜘蛛来说,這些地址看起来彼此獨立,抓取资源就這样一点点被分散掉。

參數都從哪里来

先別急着封禁,把来源理清楚更省事。常见的几類:

  • 分頁參數:?page=2、?p=3 這類。
  • 排序參數:?sort=price、?order=desc。
  • 篩選與属性:?color=red&size=40,组合起来數量會迅速膨胀。
  • 跟踪參數:utm_source、from、ref、share 等,多數對内容没有影响。
  • 會话與临时參數:sessionid、sid、ts,每次訪問都可能不同。
  • 功能型參數:?print=1、?preview=1 這類輸出變体。

什么时候该管,什么时候可以放

不是所有參數都要處理。判断标准很简單:這個參數是否改變了頁面主体内容。改變了,比如篩選出特定價格区間的商品列表,它就是一個有意义的地址;没改變,比如只带了一串跟踪碼,那它就是重复地址。

對後者,處理顺序建议是:能去掉參數連結就去掉,去不掉就用 canonical 指向無參數版本,再不行才考虑在 robots.txt 里屏蔽這類參數抓取。

自查清單

  • 從服務器日誌里抽出带問号的訪問记錄,按參數名統計出現频次,排個序。
  • 確認站内連結是否在主動生成跟踪參數,常见于模板、分享按钮、广告位。
  • 检查篩選頁有没有出口,會不會被顺着連結無限组合下去。
  • 確認带參數頁面上的 canonical 指向了正确的主版本,並且是绝對地址。
  • 检查站点地图里是否混入了带參數的地址。
  • 確認參數屏蔽規則没有誤伤正文頁。
  • 看搜尋後台的抓取統計,观察參數類地址的抓取占比是否在下降。

篩選頁的常见做法

篩選组合是最容易失控的部分,可以按下面几條控制:

  1. 只對少數高價值篩選组合生成可抓取連結,其余用按钮或脚本形式呈現。
  2. 限制同时可選的篩選维度數量,避免出現成倍相乘的组合。
  3. 给篩選结果頁设定分頁上限,別让加载更多一直通向更深的地址。
  4. 没有结果的空组合,返回合适的狀態碼,不要返回一個 200 的空列表頁。

跟踪參數怎么统一

站内連結尽量別带 utm 這類參數,它們留给站外投放就够了。如果确實必须带,建议统一參數名與书寫顺序,並在服務端做一次归一化:同名參數只保留第一個值,顺序固定,空值直接剔除。這样即使參數存在,地址的變体數量也會明顯收敛。

判断标准不是“這個地址好不好看”,而是“它和主版本相比,用戶看到的内容到底一不一样”。

做完之後怎么观察

調整參數策略不會立刻见效。更稳妥的做法是改完之後隔两到四周再看一次日誌和抓取統計,比較參數類地址與主版本地址的抓取次數有没有變化。如果屏蔽之後主版本的抓取量不升反降,先回头检查是不是誤伤了有用的篩選頁。

參數本身不是問题,失控的參數才是。把它当成站点结构的一部分来管理,比事後靠一條條規則打补丁要省事得多。