網站收錄

篩選參數頁的收錄取舍:哪些參數组合该挡在索引之外

篩選和排序參數常常生成大量近似 URL。本文按參數類型和頁面價值分批處理,先控制無效抓取,再决定是否允许索引,並给出核對收錄狀態的方法。

網站收錄

篩選參數頁的收錄取舍:哪些參數组合该挡在索引之外

很多站点在列表頁加上篩選、排序、分頁和追踪參數後,URL 數量會快速膨胀。搜尋蜘蛛會顺着這些連結不断發現新地址,但其中大部分只是同一批内容的排列组合。如果不做区分,抓取预算會被消耗,索引里也會混入大量低價值頁面。

先按參數類型分四類

不要把所有带問号的 URL 都当成一類。更實用的做法是先看參數是做什么的。

  • 追踪參數:如 utm、from、ref 等,只用于統計来源,不改變頁面内容。
  • 排序參數:如 sort、order,改變的是排列顺序,不是内容集合。
  • 篩選參數:如 color、size、price,可能改變结果集,也可能只缩小范围。
  • 會话或搜尋參數:如 sid、q、keyword,通常跟用戶會话或站内搜尋有關。

判断值不值得收錄的三個條件

一個參數 URL 能不能進索引,不取决于它是不是動態地址,而取决于它有没有獨立價值。

  1. 有獨立搜尋需求:用戶會主動搜尋這個篩選组合,而不是只靠站内点击。
  2. 内容有實质差异:标题、描述、结果列表與基础列表頁明顯不同,不是简單換序。
  3. 頁面稳定可訪問:不會因為库存變化、會话失效而频繁變成空结果或报错。

三個條件都满足时,可以考虑保留並允许索引;只满足一個或两個时,優先考虑 canonical 或 noindex;一個都不满足时,應尽量從抓取入口就挡掉。

處理顺序:先挡抓取,再谈索引

很多問题不是“要不要收錄”,而是“该不该让蜘蛛抓”。無限參數组合如果都能被抓,索引控制會變得很被動。

  • robots.txt:挡掉明确的追踪參數和會话參數,减少重复抓取。
  • 内鏈和站点地图:不要把追踪參數、排序參數寫進内鏈和 sitemap。
  • canonical:篩選结果與主列表高度相似时,指向主列表頁。
  • noindex:頁面需要用戶訪問但不必進索引时使用,注意不要和 robots.txt 同时挡抓取。
  • 空结果處理:没有结果时返回合适的狀態碼,不要给空頁面大量索引入口。

顺序上,先處理明顯無價值的參數抓取,再對仍有價值的篩選頁做 canonical 或 noindex。不要一上来就把所有參數頁 noindex,那样可能誤伤有獨立需求的组合。

几個容易踩坑的地方

用 robots.txt 挡了却還想 noindex

如果 robots.txt 禁止抓取,搜尋引擎看不到頁面上的 noindex。两者要分開决策:不想被抓就用 robots.txt,不想被索引但允许抓取就用 noindex。

篩選頁内容几乎一样

同一组商品按不同顺序排列,标题和正文没有變化,這類頁面更适合 canonical 到基础列表頁。若篩選後结果集明顯不同,再考虑保留獨立 URL。

參數顺序和大小寫不统一

同一個篩選條件因為參數顺序、大小寫不同生成多個 URL,會加重重复。尽量统一參數顺序和命名,服務端做規范化跳轉。

核對收錄狀態时看什么

處理完之後,不要只看收錄量涨跌。可以结合抓取日誌和索引报表,观察几個点:

  • 被挡的參數是否還在被频繁抓取;
  • 允许索引的篩選頁是否進入索引;
  • 主列表頁的索引狀態是否稳定;
  • 是否出現新的參數變体。

如果抓取量下降但有效頁面收錄稳定,說明控制起了作用。如果有效篩選頁也掉出索引,就要检查 canonical 或 noindex 是否設定過宽。

篩選參數頁没有统一答案。更稳妥的做法是按參數類型和頁面價值分批處理,先控制無效抓取,再决定索引取舍,最後用抓取和索引資料回头核對。

這样比一刀切更容易兼顾用戶体驗和搜尋蜘蛛的抓取效率。