站点运营

站点运营:站内搜尋與篩選頁自查,別让參數组合生成一堆低质量頁面

站内搜尋和篩選功能會生成大量带參數的 URL,如果放任蜘蛛抓取,容易产生内容稀薄、彼此雷同的頁面。本文整理一份自查清單,從抓取權限、參數規模、空结果處理、canonical 寫法、分頁衔接几個方面,帮你把這些頁面管好。

站点运营

站点运营:站内搜尋與篩選頁自查,別让參數组合生成一堆低质量頁面

站内搜尋和篩選是提升浏览体驗的功能,但它們也是參數化 URL 的主要来源。一個關鍵詞、一個排序方式、几個篩選條件叠加,就可能产生几十上百個地址。

這些地址如果全部放開给搜尋引擎抓取,站点在蜘蛛眼里會變成大量内容稀薄、彼此高度相似的頁面集合。抓取预算被消耗,真正需要收錄的栏目頁和内容頁反而排队變慢。下面按几個环节做自查。

一、確認這些頁面的抓取權限

先明确一点:你希望蜘蛛抓到這些頁面吗?大多數站点並不希望搜尋结果的组合頁被大量索引,但也不该直接一刀切。

robots.txt 與 noindex 的区別

  • robots.txt 屏蔽:蜘蛛不會抓取该路径,但已经存在的連結仍可能出現在外部引用里,搜尋引擎也無法讀取頁面上的 noindex 指令。
  • 頁面級 noindex:蜘蛛需要抓取頁面才能看到這個指令,抓取後會從索引中移除,但抓取動作本身已经發生。

常见做法是把無意义的纯參數组合放進 robots.txt 屏蔽,對有價值的篩選頁保留抓取但加 noindex。注意不要让同一個 URL 同时被 robots.txt 屏蔽又指望它讀取 noindex,两者會互相打架。

二、盘点參數的數量和组合方式

把站点里會出現在 URL 上的參數列出来,看清楚每一個的作用:

  • 搜尋關鍵詞參數,例如 ?q= 或 ?s=
  • 排序參數,例如 ?sort=price、?order=desc
  • 篩選參數,例如 ?color=red&size=m
  • 分頁參數,例如 ?page=3
  • 跟踪或来源參數,例如 ?utm_source=、?ref=

重点看篩選參數之間能不能自由组合。如果颜色、尺碼、價格区間可以任選,URL 數量會呈乘法增長。對這類頁面,要么限制可组合的维度,要么在服務端做規范,让蜘蛛只看到有限几個入口。

三、搜尋结果頁的空结果與低质结果

站内搜尋很容易产生空结果頁。訪客搜到一個不存在的词,頁面只顯示“没有找到”,這種頁面没有内容價值,也不该被抓取。可以在空结果时返回合适的狀態碼,或至少加上 noindex,並给訪客一些推荐入口。

另一個問题是搜尋结果质量。如果搜尋頁只是把标题和摘要简單罗列,内容重复度高,即便被收錄也很难带来有效訪問。與其让蜘蛛大量抓取這類頁面,不如把站内搜尋当作訪客工具,而不是收錄入口。

四、canonical 和内部連結怎么寫

篩選頁的 canonical 要自己拿主意。如果篩選结果和主栏目内容高度重合,可以考虑 canonical 指向主栏目;如果确實是一個獨立可用的集合頁,就指向自身。不要所有篩選頁都统一指向首頁,那样會传递错誤的信号。

内部連結同样要注意。導航、面包屑、内容里的連結,尽量指向不带多余參數的干净地址。只有在明确的篩選入口上,才使用带參數的連結,並保持參數顺序和拼寫一致,避免同一個篩選條件出現多種寫法。

五、分頁、加载更多和篩選的衔接

很多篩選頁配合“加载更多”或無限滚動。若采用前端加载而没有可抓取的分頁連結,蜘蛛只能看到第一頁。可以保留一套标准的分頁連結,让每一頁都有獨立的可訪問地址,再在頁面上叠加加载更多的体驗。分頁連結的排序參數、篩選參數要和頁面實际内容對應,否則會出現翻到後面内容重复的情况。

六、可执行的检查清單

  1. 列出所有會产生參數化 URL 的功能,标注是否需要被索引。
  2. 检查 robots.txt 中是否有誤伤正常栏目的規則,也检查是否漏掉了明顯無意义的參數路径。
  3. 抽查搜尋结果頁、篩選頁、空结果頁的狀態碼和 noindex 标簽。
  4. 查看篩選頁的 canonical 指向是否统一、是否符合预期。
  5. 用站内連結工具或日誌,看看蜘蛛實际抓了哪些參數组合,是否超出预期。
  6. 確認分頁和加载更多的頁面都能通過連結到達,不依赖用戶点击行為。
  7. 定期复盘:如果某些篩選頁長期没有带来有效訪問,可以考虑收紧抓取范围。
參數化頁面不是洪水猛兽,關键是让搜尋引擎抓你愿意让它抓的那部分。把范围划清楚,比事後從索引里清理要省事得多。

這些检查不需要一次性做完,可以先從日誌里蜘蛛抓取最频繁的參數入手,逐步收拢。改動之後观察一段時間,再看抓取分布是否回到你希望的内容頁上。