列表頁、商品頁只要加上篩選、排序、分頁、来源标记,同一批内容就可能衍生出几十甚至上百個地址。蜘蛛抓到這些地址,會占用本来就有限的抓取量,也容易让同一份内容以多個地址同时存在。哪些參數值得放行,哪些该收口,取决于參數是否真的改變了頁面内容,而不是取决于參數好不好看。
先把參數分成三類
- 改變内容的參數:篩選條件、價格区間、品牌、頁碼。參數不同,頁面上列出的條目确實不同。
- 不改變内容的參數:排序方式、每頁數量、展示样式、utm 之類的追踪标记、来源渠道。
- 混合型參數:同一個參數有时改變内容、有时不改變,比如地区、語言、货幣切換。這類需要單獨判断,不能一刀切。
分類的意义在于,處理方式完全不同。改變内容的地址可能值得被索引,不改變内容的地址多數只适合收口到一個規范地址。
判断一個參數地址值不值得進索引
- 參數變化後,頁面主体内容是否有實质差异,而不是只有顺序或文案微調。
- 這個组合是否存在真實的搜尋需求,用戶會不會主動搜它。
- 站内是否有稳定的入口指向它,而不是只能靠外部連結發現。
- 是否存在可替代的規范地址,例如對應分類頁或聚合頁。
四條都不满足时,通常没有必要让它進入索引。四條里有明顯满足的,再考虑保留。
處理顺序:先規范化,再考虑拦截
canonical 适合什么情况
參數只影响排序或展示、主体内容一致时,用 canonical 指向無參數版本,是成本最低的做法。它保留了對用戶的可用性,也把信号集中到規范地址上。要注意的是,canonical 是建议而非命令,頁面之間的内容如果差异過大,被采纳的概率會下降。
robots.txt 屏蔽參數的取舍
屏蔽能明顯省下抓取量,但被屏蔽的地址不會被抓取,頁面上的連結也不會被繼續跟踪。如果這些參數地址恰好是站内通往深层内容的重要路径,屏蔽等于把發現路径也一起切断。寫規則时要尽量精确,避免通配符把正常地址一起拦掉。
屏蔽是“不让抓”,noindex 是“抓了但別收錄”。两者的作用和代價不同,不能互相替代,也不能同时乱用。
站点地图與内鏈只放規范地址
站点地图里提交的應当是規范 URL,而不是篩選组合。内鏈同理,篩選項尽量通過统一入口收口,避免每一個參數组合都變成新的站内入口。入口一旦分散,抓取量就會被摊薄到大量低價值地址上。
几個常见誤区
- 一次性屏蔽全部參數,结果分頁也被拦掉,深层内容變得难以被發現。
- 用 noindex 處理海量參數頁,索引干净了,但抓取量被這些地址吃掉。
- 追踪參數到處複製粘贴,連結每發一次就多一個地址。
- 只改 canonical,却没有清理站内指向參數地址的連結。
上线之後核對這几項
- 服務器日誌里,參數型地址占抓取總量的比例是否在下降。
- 索引中同一内容存在多個地址的情况是否减少。
- 規范地址上的 canonical 是否被采纳,指向是否與预期一致。
- 站点地图是否只包含規范地址。
參數管理不是一次性動作。每次上线新的篩選、排序或推廣功能,都會带来新的地址形態,需要重新按上面的顺序判断一遍:先看内容是否變化,再决定放行、規范化還是收口。