站点运营

站点运营:篩選與排序參數泛滥,分面導航的URL该怎么收敛

篩選、排序、分頁參數很容易让URL數量失控,蜘蛛把有限抓取配額耗在低價值组合頁上。本文梳理分面導航的URL评估方法,以及排序、篩選、canonical、robots.txt 與内鏈入口的具体處理思路。

站点运营

站点运营:篩選與排序參數泛滥,分面導航的URL该怎么收敛

做电商或者内容量較大的站点时,篩選、排序、翻頁几乎都是标配。点一下“價格從低到高”,URL後面就多一個參數;再勾两個颜色、一個尺寸,連結就變成一長串。用戶用着方便,但對搜尋蜘蛛来说,這些連結意味着理论上無穷無尽的URL。抓取配額是有限的,蜘蛛把時間花在這類组合頁上,真正希望被收錄的栏目頁和詳情頁反而排不上队。

先算一筆帳:组合是怎么膨胀的

假设一個類目下有 6 種颜色、5 個尺寸、4 個價格区間、3 種排序方式,再加上分頁。理论上可组合出的URL數量是這些维度相乘,再乘上分頁數,轻松到几千甚至上萬。而其中真正有人搜尋、有人看的,可能不到几十個。多出来的那部分,基本就是纯消耗抓取资源的组合頁。

把URL分成三類来對待

  • 值得收錄的:有明确搜尋需求、内容相對稳定的篩選组合,比如某個商品词與某個属性词的固定搭配。
  • 可以不收錄但允许抓取的:纯排序、纯视图切換、临时篩選组合。這類頁面让用戶能用,但不必進索引。
  • 没必要让蜘蛛進来的:會话ID、追踪參數、按点击生成的排序、站内搜尋结果頁等。

几種常见做法與各自的邊界

  1. 排序參數不生成獨立URL。排序用前端交互或表單提交完成,地址栏不變化,連結也就不會扩散。代價是分享連結时排序狀態會丢,多數站点可以接受。
  2. 篩選组合不主動给連結。篩選结果頁可以被訪問,但不必在每個列表頁里都輸出成百上千個篩選連結。改為折叠、按需加载,或者只輸出该维度下最有價值的几個入口。
  3. canonical 指向基础類目頁。對排序、视图切換、不重要的篩選组合,可以让它們 canonical 到無參數的類目主URL。注意是“指向別人”,不要错誤地自引用,也不要让两個頁面互相指。
  4. robots.txt 只用来挡,別和 noindex 叠加。如果某類URL被 robots.txt 屏蔽,蜘蛛抓不到頁面内容,也就讀不到頁面里的 noindex。想不進索引就用 noindex,想省抓取就屏蔽,二選一即可。
  5. 分頁给明确的上一頁、下一頁連結。早期搜尋引擎支持的 rel next/prev 已不再作為收錄信号,做成普通的可点連結更稳,同时避免“最後一頁”直接跳進無限滚動。
  6. 观察日誌再决定。服務器日誌里蜘蛛抓的是哪些參數组合、频率多高,比凭空猜测可靠。發現大量带同一參數的抓取,就针對那個參數處理。

入口设計比事後清理更重要

很多站点的問题不在篩選功能本身,而在于把篩選連結铺在了蜘蛛最容易爬到的地方:首頁、類目头部、頁脚。這些位置的連結被發現概率高,一旦铺開,等于主動邀請蜘蛛去爬组合頁。把重要篩選入口放在類目頁中部,用更少、更精准的维度,通常更省事。

一個简單的判断标准:如果這個URL既没有自然搜尋需求,也没有外部連結指向它,那它多半不该出現在導航和批量内鏈里。

上线前可以過一遍的检查

  • 類目頁預設狀態是否只有一個規范URL,没有多余參數;
  • 排序、视图切換是否产生了可被獨立索引的URL;
  • 篩選連結是否被批量輸出到全站公共区域;
  • canonical 是否指向了正确目标,且不存在互相指向;
  • 被 robots.txt 屏蔽的參數是否同时又寫了 noindex;
  • 日誌中是否存在同一參數的反复抓取。

分面導航不是要一刀切掉,而是把有限的可抓取URL留给真正有價值的那部分。收敛數量、明确入口、按日誌調整,通常比反复提交站点地图更實在。改動之後给搜尋引擎一段時間观察,效果以實际抓取和收錄資料為准。