做收錄核對时经常會遇到一種情况:站点真正的内容頁只有几百個,索引里却冒出几倍的地址,点開一看大多是带參數的版本——問号後面跟着篩選條件、排序方式或者来源标记。這些地址通常都能正常打開,内容也相關,所以既容易被收錄,也不容易一眼判断该不该處理。
先按參數的作用分類,而不是按參數名
參數名千奇百怪,但作用大致就那么几種:
- 改變内容的參數:篩選條件、排序方式、分頁位置、價格区間等。換一個值,頁面上出現的文章或商品列表就會不同。
- 不改變内容的參數:来源跟踪(utm 系列、广告点击 ID)、會话标识、展示偏好(每頁條數、列表還是網格)。換一個值,用戶看到的主体内容基本一样。
- 混合型:同一個參數名,有时參與篩選,有时只是預設值。比如排序參數在取預設值和不传时结果完全相同。
分類的意义在于:决定怎么收敛时,判断依據應该是“這個參數會不會产生實质不同的内容”,而不是“參數名叫什么”。同样是 utm,如果它被寫進了服務端渲染並且真的改變了頁面正文,也要單獨拎出来看。
在收錄核對里量一遍,而不是凭印象
凭感觉说“參數頁太多了”没有意义,落到數量上才好决策:
- 抽一批已收錄的带參數地址,按參數名分组,看每一组在總收錄量里占多大比例。
- 對每一组挑几個地址打開對比:标题、正文、主要連結有没有變化。
- 看這些地址有没有内鏈入口、有没有出現在 sitemap、有没有被外部連結引用。
- 顺手记一下參數顺序問题:?a=1&b=2 和 ?b=2&a=1 如果返回同一頁内容,本质上也是重复地址,容易在統計里被算成两组。
量完之後通常會發現,真正需要處理的是其中一两组,而不是全部參數。
常见收敛手段和各自的邊界
- canonical 指向無參數版本:适合參數不改變内容的情况。如果參數确實改變内容,指向無參數版會造成頁面内容與 canonical 声明不一致。
- robots.txt 屏蔽:對阻止抓取有效,但已经進過索引的地址通常不會因為屏蔽而立刻消失,需要配合其他方式。
- meta robots noindex:前提是頁面能被抓取到,才能讀到這條指令,所以不能同时在 robots.txt 里把它挡住。
- 站長平台的參數處理工具:可以声明某個參數不改變内容,但声明必须和站内實际行為一致,別把篩選參數也一起声明掉。
- 從源头减少:内鏈、分享按钮、广告落地頁尽量指向規范地址,否則一邊收敛一邊又产生新的入口。
動手前先確認三件事
- 站内有没有指向參數版的連結?如果有,先把這些連結改成規范地址,不然收敛的效果會被不断新增的入口抵消。
- 參數是服務端生成還是前端脚本拼上的?前端拼出来的參數,蜘蛛拿到的原始 HTML 里可能根本没有,處理方式完全不同。
- 收敛之後隔几周再抽查一次:參數頁减少是预期的,但要確認真正的内容頁收錄没有跟着一起掉。
參數地址不一定要全部消灭。判断标准是:它有没有提供別處没有的内容,以及用戶和蜘蛛是否會從正当入口到達它。
把這件事当成一次分類統計,而不是一次批量清理,參數地址带来的困扰通常會小很多。