搜尋抓取

篩選參數组合出来的抓取路径:蜘蛛在分面導航里绕圈时怎么收一收

分面導航里的篩選、排序、分頁參數會组合出大量 URL,蜘蛛顺着這些連結容易越走越偏,把抓取額度耗在内容高度重合的頁面上。本文讲怎么用服務器日誌判断绕圈程度,哪些篩選组合值得保留,以及從連結形態和主干路径上收敛抓取路径的常见做法與副作用。

搜尋抓取

篩選參數组合出来的抓取路径:蜘蛛在分面導航里绕圈时怎么收一收

分面導航的路径為什么會發散

分類頁上常见的篩選、排序、视图切換,大多是带參數的連結。颜色、尺寸、價格区間、排序方式、每頁條數、頁碼,每一種選擇都會生成一條新的 URL。用戶点几下就走的路径,對蜘蛛来说却是一張可以不断延伸的連結網:每進入一個篩選组合,頁面里又會出現新的组合連結,路径像树枝一样持續分叉。

問题不在參數本身,而在于這些路径上的頁面大多内容高度重合,只是排列顺序或子集不同。蜘蛛把時間花在這里,真正需要更新的詳情頁和栏目頁就排到了後面。

先判断绕圈的程度

不用急着改结构,先翻日誌。

  • 带參數的 URL 占蜘蛛總請求的比例是多少,如果長期高于三成,就值得處理。
  • 同一批參數 URL 被反复抓取的频率,是否明顯高于正文頁。
  • 站点地图里没有的參數 URL,却在日誌里大量出現,說明是内鏈把它引過去的。
  • 抓取統計中“已發現未抓取”的數量,是否集中在參數形態的地址上。

這几項對不上时,先按參數名分组統計一遍,通常能看出是哪几個參數在制造分叉,比笼统地说“抓取不够”有用得多。

把可抓取的路径收敛成几條主干

区分哪些篩選组合值得保留

不是所有组合都有獨立價值。價格区間、排序方式、每頁條數這類,一般不需要蜘蛛逐條走;品牌、品類、地区這類有獨立搜尋需求的组合,可以考虑留下。判断标准可以简單些:這個组合有没有人真的用關鍵詞搜過来,或者有没有自己獨立的内容。

让連結形態本身干净一点

  • 统一參數的书寫顺序,避免同一组合出現多種寫法。
  • 頁面上用按钮加脚本触發篩選,而不是全部铺成 a 标簽,蜘蛛就不會把每個组合都当成一條可走的路。
  • 需要保留的组合,给出唯一的規范地址,其他寫法统一指向它。

主干路径要讲清楚

分面頁之外,站点最好有一组稳定的主干:首頁到一級栏目,再到二級栏目,最後是詳情頁。這层路径不依赖參數,也不依赖脚本,是蜘蛛理解站点结构的基础。分面導航可以挂在主干旁邊,但不宜让它成為進入内容的主要通道。

收敛路径的目标不是让蜘蛛走得少,而是让它走在對的地方。少走一些重复的篩選组合,省下来的抓取額度通常會更自然地落到正文頁上。

几個容易踩的坑

  • 用 robots.txt 一刀切屏蔽全部參數,可能连有獨立價值的组合頁也一起挡掉,需要先列清單再决定。
  • 屏蔽只是不抓取,連結仍會被發現。如果這類 URL 數量巨大,最好同时從内鏈上减少暴露。
  • 把參數頁全部規范到無參數地址时,要確認两邊正文确實一致,否則容易誤判。
  • 改完马上盯排名或收錄,往往會失望。這類調整通常先体現在抓取分布上,要几周日誌才看得清。

調整之後盯哪几個數

重点看三件事:蜘蛛請求里參數 URL 的占比是否下降;正文頁和栏目頁的抓取次數、抓取深度是否上升;服務器错誤率有没有因為路径變化而波動。如果參數請求降下来了,正文頁抓取却没起来,多半說明主干路径本身還有断点,得回去看内鏈和站点地图,而不是繼續在參數上做文章。