網站收錄

站内搜尋结果頁被收錄:從發現入口到索引清理的收敛顺序

站内搜尋结果頁被大量收錄,是中小站索引膨胀的常见原因。本文按「先確認地址形態、再断發現路径、最後處理已收錄條目」的顺序梳理:搜尋入口與内鏈怎么收口,sitemap 與外鏈怎么排查,noindex 和 robots.txt 谁先谁後,以及清理後该盯哪些指标。

網站收錄

站内搜尋结果頁被收錄:從發現入口到索引清理的收敛顺序

站内搜尋结果頁被收錄,是中小站索引膨胀最常见的来源之一。搜尋框一上线,參數地址就開始被生成,一個關鍵詞一個地址,量級几乎不可控。等到發現时,索引里已经混進几百上千條没有獨立價值的列表頁。處理這類問题,重点不在「删」,而在顺序:先把入口收住,再谈清理已收錄的條目。

這類頁面為什么容易被抓走

  • URL 由查询參數動態生成,结构简單,翻頁和排序參數一叠加就成倍增長。
  • 頁面本身有标题、有列表、有内鏈,從抓取视角看和正常的列表頁没有明顯差別。
  • 搜尋框常出現在導航、侧栏、頁脚,蜘蛛顺着内鏈可以反复進入。
  • 用戶分享、论坛轉载、聚合工具留下的地址,會绕開站内入口直接被收錄。

先確認:索引里到底有哪些形態

動手之前先把地址分類,不同形態的處理方式並不一样。常见的有几類:以 ?s=、?q=、?keyword= 结尾的參數頁;以 /search/關鍵詞 形式存在的伪静態路径;搜尋無结果但依然返回 200 的空列表頁;以及带分頁、排序參數的二次叠加地址。

用站点查询和日誌交叉確認

站点查询能大致看出收錄數量,但不够准确;服務器日誌能告诉你蜘蛛實际抓了哪些地址、频次如何。两邊對照,才能判断是「少量被收錄」還是「每天都在新增」。

別忽略無结果頁

搜尋一個不存在的词,頁面返回 200 並顯示「没有找到相關内容」,這類頁面既没有内容也没有導航價值,是最容易被判定為低质的一類。

收敛的第一步是断掉發現路径

只要入口還在,清理就永遠追不上新增。建议按下面的顺序處理:

  1. 把導航、侧栏、頁脚里的搜尋連結,改成由按钮触發或本地表單提交,不要保留可被直接抓取的 a 标簽。
  2. 检查 sitemap 文件,剔除所有搜尋结果類地址,包括自動生成的插件留下的條目。
  3. 排查「热门搜尋」「相關搜尋」這類模块,如果它們指向搜尋结果頁,改成指向對應的分類頁或专题頁。
  4. 查一次外鏈引用最多的几個搜尋地址,能联系修改就改,改不了的按後面的步骤單獨處理。
  5. 检查站内是否有程序自動生成的搜尋頁互鏈,比如「看過此頁的人還搜了」,這類互鏈會把參數頁连成一張網。

noindex 與 robots.txt 的先後關系

這里有個常见誤区:直接在 robots.txt 里屏蔽搜尋目錄,以為就干净了。但被屏蔽的地址,蜘蛛無法抓取,自然也讀不到頁面里的 noindex 指令,已经收錄的條目可能長期留在索引中,只顯示舊快照或空描述。

  • 想让已收錄地址登出索引:先允许抓取,同时让頁面返回 noindex,等索引里逐步消失後,再考虑加屏蔽以减少抓取消耗。
  • 地址數量极大、抓取已被明顯拖累:可以先屏蔽抓取,同时提交移除請求,但要接受清理周期更長的预期。
  • 不要既不抓取又指望 noindex 生效:两個信号會互相抵消,结果是頁面留在索引里,你也拿不到反馈。

頁面标记怎么寫

搜尋引擎结果頁通常用 noindex, follow 保留内鏈传递,如果頁面本身就是空洞的列表,用 nofollow 也可以。無结果的空頁面,更合适的做法是明确返回 404 或提示無结果的同时做 noindex,而不是让一個 200 空頁長期存在。

什么情况下可以保留

如果某類搜尋结果稳定、有獨立使用價值,比如固定的城市列表、固定的分類组合,與其让參數頁被收錄,不如把它改造成静態专题頁:固定 URL、补上手寫简介與篩選說明、canonical 指向自身、纳入 sitemap。這样它就有资格作為一個正常頁面參與收錄,而不是一堆參數地址里的偶然幸存者。

清理之後盯什么

  • 索引數量是滞後指标,通常要几周才會明顯變化,不要每天刷新。
  • 用站点查询观察剩余條目數量的大致趋势,而不是追求精确數字。
  • 看日誌里這些地址的抓取频次是否下降,频次下来了,說明屏蔽或入口收口起了作用。
  • 如果數量不降反增,回头检查是不是有新的參數组合、新的入口在持續生成地址。
搜尋结果頁的清理不是一次性動作。搜尋框入口、内鏈寫法、外鏈引用會持續把新地址送進来,隔一段時間复查一次,比一次清干净更現實。