不是所有頁面都需要出現在搜尋结果里。站内搜尋结果頁、购物车、用戶中心、打印頁、分享頁這類“功能型頁面”,本质上是给已经進入網站的人用的工具,而不是用来被人搜到的内容。它們的收錄取舍如果處理得随意,常见的结果是:索引里堆了一批内容稀薄的 URL,而真正想被收錄的頁面反而排队更久。
功能型頁面的共同特征
- 内容由參數或用戶狀態决定,同一個模板能生成成百上千個 URL;
- 頁面主体内容少,大量是導航、篩選、推荐位等样板文本;
- 對未登入用戶或爬虫来说,展示的内容和真實用戶看到的不一致;
- 一旦被外部連結或站内連結指向,就有了被發現和被索引的路径。
站内搜尋结果頁最容易失控
站内搜尋通常是 GET 參數,蜘蛛抓到一次搜尋頁,就可能顺着頁面里的篩選連結、相關搜尋、分頁連結繼續展開,生成大量组合 URL。這些頁面内容随查询變化、彼此高度相似,既消耗抓取配額,也容易在索引里形成一批低價值條目。
常见處理是让搜尋结果 URL 不允许抓取,或者统一加 noindex。但這两件事並不通用,顺序弄错會白做。
屏蔽抓取和禁止索引不是一回事
robots.txt 里的 Disallow 只阻止蜘蛛訪問,不负责把已经索引的 URL 拿掉。如果一個搜尋頁已经被收錄,你再在 robots.txt 里屏蔽它,蜘蛛就再也讀不到頁面上的 noindex,索引里的舊版本可能長期留着。反過来,如果某個路径從未被抓取、也确定没有任何收錄價值,直接用 robots.txt 屏蔽通常更省资源。
判断顺序大致是:已被索引的 → 允许抓取 + noindex;未被索引且無價值的 → 直接屏蔽抓取,减少無效訪問。
用戶中心、购物车和登入後頁面
這類頁面通常依赖登入態。蜘蛛訪問时要么被重定向到登入頁,要么拿到一個空的内容容器。被重定向到登入頁,會造成大量 URL 指向同一個地址,形成重复或空结果頁;拿到空壳則可能被当成低质頁面處理。對這類路径,比較稳妥的做法是整体不允许抓取,同时不要把它們放進站点地图或站内連結里。
打印頁、分享頁和带跟踪參數的地址
打印頁、舊版 AMP、分享短鏈、带 utm 參數的地址,往往和主頁面内容一致。處理原則是收敛到一個規范 URL:能改结构的用 301 指向主版本;不方便改的用 canonical 标注,並且避免站内連結大量指向這些變体。連結是它們被持續發現的主要渠道,切断連結比事後打补丁更有效。
什么情况下功能頁值得進索引
如果站内搜尋本身就是用戶查询的核心入口,而且搜尋词相對稳定、结果有長期價值,比如按城市或品類组织的列表,可以考虑把它改造成固定路径的聚合頁:獨立标题、編輯過的简介、稳定不變的 URL,再让它參與索引。這时的頁面已经不是“功能頁”,而是一份被整理過的内容頁。是否值得投入,取决于這個聚合维度有没有人真的會搜。
處理前的自查清單
- 這些 URL 是自己被索引的,還是因為内鏈、站点地图、外鏈才被發現?先断掉不必要的發現路径。
- 先看索引报告確認目前狀態,再决定用屏蔽抓取還是 noindex。
- 检查 robots.txt 是否誤伤了需要靠 noindex 生效的頁面。
- 確認參數頁被哪些站内連結指向,連結往往是最主要的传播来源。
- 處理之後繼續观察一段時間,索引的移除和清理都有延迟。
功能型頁面的處理目标不是“全都不收錄”,而是把抓取和索引资源尽量留给真正有内容的頁面。