網站收錄

站内搜尋頁與篩選頁:自動生成的 URL 要不要让搜尋引擎收錄

站内搜尋结果頁、篩選组合和排序參數會凭空生出大量 URL,它們常常既不是真正的内容頁,也不是错誤頁。這篇文章從抓取與收錄的区別讲起,說明哪些组合该放出去、哪些该收住,以及 noindex、robots.txt 和入口收敛各自该用在哪一步。

網站收錄

站内搜尋頁與篩選頁:自動生成的 URL 要不要让搜尋引擎收錄

很多站点的 URL 總量遠大于内容總量,多出来的那部分往往不是編輯寫出来的,而是系統在訪問时即时生成的:站内搜尋结果頁、带篩選條件的列表頁、各種排序组合、空结果的提示頁。用戶随手点几下就會产生一條新地址,爬虫顺着連結走下去,也可能照單全收。抓取和收錄的帳,就是從這些地方開始變乱的。

這類 URL 為什么長得這么快

它們的共同点是内容由參數决定,而參數可以自由组合:

  • 篩選條件叠加,每多一個维度,可選组合就翻一倍;
  • 排序方式不同、展示内容相同,却各自對應一個地址;
  • 站内搜尋把用戶的輸入直接寫進查询串,搜尋词几乎無限;
  • 篩選與翻頁叠加後,同一個列表能派生出成百上千條 URL。

這些地址里,真正值得被检索到的可能只有少數几個,其余大部分只是用戶操作過程中的中間狀態。

先分清两件事:能不能抓到,和值不值得收錄

抓取是爬虫把頁面取回来的動作,收錄是搜尋引擎把某個 URL 放進索引、供检索調用的结果。這两步並不绑定:頁面被抓了可以不入索引,而如果從一開始就阻断抓取,搜尋引擎连頁面上有什么都不知道,也就谈不上判断。

所以處理這類 URL 时,第一步不是急着屏蔽,而是先想清楚:這條地址是内容资产,還是操作過程留下的痕迹。前者的目标是让它正常被抓、被收錄;後者只要不占用抓取资源、不污染索引就够了。

三種頁面,三種判断

站内搜尋结果頁

站内搜尋頁的正文通常直接来自站内已有内容,属于典型的重复内容;搜尋词组合又近乎無穷,容易被大量低质量 URL 填满索引。多數情况下,這類頁面不适合被收錄。

但處理方式要留意:用 robots.txt 直接屏蔽搜尋路径,會让爬虫连頁面都取不到,頁面上原有的連結也一並被切断;如果只是想让它不進索引、同时保留抓取和連結传递,用 noindex 更合适。两者的取舍,取决于你更在意省抓取,還是更在意頁面上的連結能被發現。

篩選與排序參數

並不是所有带參數的地址都该收住。判断标准只有一個:這個组合是否有獨立的检索需求,以及它呈現的内容是否真的不一样。

  • 價格区間、品牌、規格這類常用篩選,本身可能就有搜尋量,做成固定 URL 有價值;
  • 纯排序參數(按销量、按價格、按上架時間)通常只是同一批内容換了個顺序,不建议單獨收錄;
  • 多條件叠加後结果高度重合的组合,容易和主列表頁互相竞争,建议收敛。

空结果與無内容组合

篩選條件组合後没有匹配结果,頁面却返回 200 並顯示一句「没有找到相關内容」,這是很常见的软 404。它占着索引位置,点進去却给不出任何信息。對這類頁面,合理的做法是返回正确的狀態碼,或者干脆不让這些组合進入可抓取的連結体系。

處理顺序:先收敛入口,再谈屏蔽

很多站点的問题不在參數本身,而在于這些地址被主動推送和連結得太积极。顺序建议如下:

  1. 检查站点地图、導航、面包屑和内鏈里,是否混進了搜尋頁或排序參數;
  2. 把真正有检索價值的篩選,改造成固定的、可長期訪問的入口;
  3. 對無检索價值的组合,用 noindex 或規范标簽指向主列表頁;
  4. 确實不需要抓取的路径,再用 robots.txt 减少無效抓取;
  5. 改動後观察一段時間的訪問日誌,確認爬虫訪問的路径结构是否真的變了。

顺序颠倒的常见後果是:先屏蔽了抓取,却仍在站点地图里提交這些地址,两條信号互相矛盾,搜尋引擎只能按自己的理解處理。

如果某些篩選确實有搜尋需求

那就把它們当成正常頁面来對待,而不是当成參數頁。具体来说:URL 稳定且简短,不随排序變化;頁面有獨立的标题和一段說明文字,而不是只挂一個商品列表;有结果可展示,而不是靠預設值撑场。這样的頁面既能承接用戶需求,也不會和主列表頁互相消耗。

收錄數量本身不是目标。一條 URL 能被检索調用、並且在用戶点進来之後给出對應答案,才算真正落地。

自查清單

  • 站点地图里是否出現過搜尋或排序參數;
  • 篩選组合是否可以被任意构造,是否有最小值限制;
  • 空结果頁面返回的狀態碼是否正确;
  • 主列表頁是否有明确的規范地址,避免被參數頁分流;
  • 改動後是否用日誌核對過實际抓取路径,而不是只看後台的數字。

把這几件事理顺之後,你會發現索引里留下的地址變少了,但每一條都更像一個真正的内容頁。