站点运营

站点运营:篩選參數與站内搜尋頁自查,別让參數组合把抓取预算拖走

篩選、排序、站内搜尋這類由參數拼出来的地址,很容易在抓取日誌里堆成海量 URL,把真正该抓的頁面挤到後面。這篇整理了參數分類的判断方法、站内搜尋頁的處理方式、一份可以照着做的自查清單,以及改完之後的观察节奏。

站点运营

站点运营:篩選參數與站内搜尋頁自查,別让參數组合把抓取预算拖走

做站点运营的时候,參數是最容易被忽略的一類問题。它不像死鏈、404 那样一眼就能看见,但在抓取日誌里出現的次數往往多得吓人。

參數頁為什么會失控

篩選、排序、分頁、站内搜尋、来源跟踪,這些功能几乎全靠參數驱動。用戶点几下就能拼出成千上萬條地址,而每條地址在蜘蛛眼里都長得不一样,于是它會被当成新頁面反复訪問。

直接後果是:真正需要被收錄的栏目頁和詳情頁,抓取次數被挤到了後面。這就是常说的抓取预算被稀释。它不會立刻表現為收錄下降,但一段時間後你會發現新頁面的發現速度變慢了。

先给參數分個類

值得保留的

  • 有明确搜尋需求的篩選,比如按城市、按品類,且用戶在站内确實會搜尋這類词
  • 结果相對稳定、不會随库存大幅波動的參數组合
  • 能獨立成頁、本身有一定内容可讀的组合

建议收敛的

  • 排序方式:order、sort、by 這類,通常只需要保留一個預設顺序
  • 會话與跟踪參數:utm_、from、ref、sessionid 等
  • 纯技術參數:打印、導出、每頁顯示條數
  • 無意义的多參數叠加,比如同时带上三個以上篩選條件

判断标准其實很简單:這個地址如果被用戶單獨分享出去,對方打開後能看到有用内容吗?如果答案是否定的,它大概率不需要被蜘蛛抓。

站内搜尋頁單獨看

站内搜尋頁通常有两個麻烦。一是结果頁本身没什么可讀内容,二是搜尋结果會组合出近乎無限的地址。常见做法是把搜尋结果頁设為 noindex,同时在 robots.txt 里屏蔽搜尋路径。

但要清楚一点:屏蔽收錄不等于蜘蛛不會訪問,抓取次數照样會發生。所以屏蔽只是一层,更關键的是別在頁面里到處暴露搜尋連結。

如果站内搜尋本身有流量價值,可以挑出少數高频關鍵詞,给它們做固定頁面,其余的交由規則限制。

自查清單

  1. 從抓取日誌或服務器日誌里筛出带問号的地址,按參數名統計出現次數
  2. 把出現最多的前十類參數列出来,逐個判断是否需要被蜘蛛抓取
  3. 检查 robots.txt 是否已经屏蔽了跟踪參數和搜尋路径
  4. 检查列表頁里的篩選連結,是否都指向同一套規范地址
  5. 確認篩選頁有 canonical 或等價處理,避免同一批内容存在多套地址
  6. 改完後观察一到两周,看參數地址在抓取總量中的占比是否下降

服務器與缓存也要一起看

有些 CDN 預設忽略查询參數做缓存,這會让不同篩選條件返回同一個缓存结果。用戶看到的内容對不上,蜘蛛抓到的也可能是舊版本。上线前確認一下缓存策略是否把關键參數計入了缓存键,避免出現地址不同、内容却一样的混乱局面。

別走极端

把所有參數一刀切屏蔽,可能會顺手挡掉真正需要的入口。有些篩選组合本身就是用戶常搜的词,直接屏蔽等于把流量让出去。稳妥的做法是先看搜尋需求和日誌資料,再决定留哪些。

參數治理不是越少越好,而是让蜘蛛把有限的次數花在能带来價值的地址上。

落地节奏

一次只動一類參數,改完观察一段時間再動下一類。改動前後各留一份日誌做對照,出問题时能快速回退。如果是多人协作的站点,把參數規范寫進上线的检查項里,比事後补救省事得多。