在站点运营中,篩選、排序、分頁、追踪等交互功能常常會给URL带上參數。對用戶来说,這些參數让頁面更好用;但對搜尋引擎蜘蛛来说,如果處理不当,同一批内容可能裂變成几十個甚至上百個地址。抓取配額是有限的,重复地址多了,真正需要被發現的頁面反而可能被挤到後面。
參數URL通常從哪里来
常见的參數来源包括:
- 列表頁的篩選條件,比如價格区間、品牌、颜色、尺寸。
- 排序方式,比如按销量、按價格、按上架時間。
- 分頁參數,比如 ?page=2、?p=3。
- 追踪參數,比如来源、活動、广告渠道。
- 站内搜尋、用戶中心、打印頁等動態地址。
這些參數有些會影响頁面主要内容,有些只是改變展示顺序或附加信息。运营需要先区分它們,再决定让不让蜘蛛抓取。
重复地址带来的實际問题
当同一批商品或文章通過不同參數组合生成多個URL时,容易出現几個問题:
- 抓取配額被消耗:蜘蛛把時間花在相似頁面上,新内容或重要栏目可能得不到足够關注。
- 重复内容分散權重:多個地址指向几乎相同的内容,搜尋算法难以判断哪個是主版本。
- 資料統計混乱:不同參數地址都被訪問,日誌和統計工具里的資料會互相干扰。
- 站点质量感知下降:大量低價值或空结果頁面被索引,可能影响整体评價。
這些問题不一定立刻顯現,但在站点規模變大後會越来越明顯。
区分參數類型:功能性還是内容性
處理參數的第一步,是把參數分成两類:
- 内容性參數:參數變化後,頁面主体内容确實不同。例如商品詳情頁的颜色參數,可能對應不同SKU。這類地址通常值得保留,但要做好唯一性管理。
- 功能性參數:參數只改變排序、视图、追踪或會话狀態,不改變核心内容。例如 ?sort=price_asc、?utm_source=xxx。這類地址一般不需要被蜘蛛抓取。
對于篩選參數,還要看篩選後的结果是否有獨立價值。如果篩選组合能形成有搜尋需求的聚合頁,可以考虑保留少數優质组合,其余用技術手段收敛。
常用的處理方式
1. 規范連結(canonical)
在带參數的頁面上,通過 canonical 标簽指向無參數或标准版本的URL。這样可以帮助搜尋引擎理解哪個地址是主版本。注意 canonical 要指向真實可訪問、内容一致的頁面,不要指向404或另一组參數。
2. robots.txt 屏蔽
對于纯功能性參數,比如排序、追踪、會话ID,可以在 robots.txt 中屏蔽對應模式。但robots.txt只是禁止抓取,如果這些地址已经被收錄,屏蔽後搜尋引擎仍可能保留舊索引。因此更适合配合其他方式使用。
3. nofollow 與連結控制
在篩選、排序的連結上添加 rel='nofollow',可以减少蜘蛛沿着這些連結發現大量參數组合。不過nofollow是建议性标簽,不能完全依赖。更重要的是從信息架构上减少不必要的參數入口。
4. 參數處理工具
如果站点使用主流搜尋引擎的站長平台,可以在後台設定URL參數效果,告诉搜尋引擎哪些參數不影响内容。這可以帮助减少重复抓取,但設定前要確認參數規則准确。
5. 统一分頁與视图
分頁參數尽量保持简洁,比如固定使用 ?page=n。不要同时存在 ?p=、?pg=、?page= 等多種寫法。列表视图、網格视图這類只改變展示方式的參數,最好用cookie或前端切換,不要生成新URL。
篩選排序頁的取舍
篩選和排序頁對用戶体驗有價值,但不代表每個组合都值得被索引。运营可以遵循一個原則:
- 有獨立搜尋需求、内容丰富的篩選组合,可以保留並優化。
- 组合數量巨大、内容重复度高的篩選,建议屏蔽或使用canonical收敛。
- 排序參數通常不需要獨立索引,统一指向預設排序版本即可。
- 空结果頁、無结果的篩選頁,不要生成可抓取地址,或返回404/410。
如果篩選组合太多,可以考虑只開放一級篩選,二級篩選用JavaScript或表單提交,不直接暴露成連結。
自查清單
运营可以定期检查以下几点:
- 随机抽取列表頁,看看篩選、排序、分頁後URL參數是否可控。
- 用站長平台或日誌,查看带參數的地址是否被大量抓取。
- 检查带參數頁面上的canonical是否指向正确版本。
- 確認robots.txt中的參數屏蔽規則没有誤伤正常内容。
- 查看站内搜尋、用戶中心等動態頁面是否被大量索引。
- 統計參數地址的收錄情况,對比無參數地址的流量差异。
- 新功能上线前,评估它是否會生成新的參數URL,並提前規划處理方式。
參數本身不是問题,失控的參數才是。把该收敛的收敛,该保留的保留,蜘蛛才能把抓取留给真正有價值的頁面。
URL參數治理不是一次性的工作,而是随着功能迭代持續维護的细节。运营不必追求完全消灭參數,但要让參數地址處于可控范围。定期查看抓取資料,及时調整規則,比一次性大改更稳妥。