站内搜尋结果頁、标簽聚合頁這類由程序拼出来的列表,在收錄上经常被两邊拉扯:一邊担心放開之後带来大量重复和低價值 URL,一邊又怕全部屏蔽會丢掉一部分真實有用的内容入口。先不用急着给全站下统一指令,把它們拆成几類分別看,判断會清晰很多。
先分清頁面類型,別混在一起處理
同样是列表,成因不同,處理方式也不同。
- 站内搜尋结果頁:由用戶查询词生成,URL 往往带 q 或 keyword 參數,组合接近無限。
- 标簽、分類、专题聚合頁:由編輯或規則维護,數量有限,通常有明确的主题邊界。
- 篩選與排序頁:由颜色、價格、排序方式等參數拼接而成,容易批量生成近似列表。
第一類和第三類大多属于组合爆炸型,第二類更接近正常内容頁。混在一起统一處理,很容易一刀切错。
判断能不能收錄,先看這几個信号
- 内容是否稳定:同一 URL 每次打開是否给出基本一致的列表。會随库存、時間大幅變動的頁面,抓取到的往往只是一個快照。
- 是否有獨立價值:除了标题和連結列表,頁面上是否還有介绍、說明、排序依據等可讀内容。
- 與主内容的重复度:聚合頁里的條目是否在別的頁面都能找到,而且没有額外信息。
- 數量是否可控:可用组合是几十個還是几十萬個。前者可以逐個评估,後者更适合先收敛入口。
一個简單的判断:如果這個頁面對用戶是有用的中轉,對搜尋引擎却只是另一份同样的連結列表,那它多半不需要單獨占據一個索引位置。
常见的處理選項與各自代價
確認頁面類型之後,再選手段。
- 放開收錄:适合數量有限、有編輯维護、内容有增量的聚合頁。放開後仍要观察它們是否挤占了更主要頁面的抓取。
- 用 noindex 标记:适合站内搜尋结果頁、纯篩選頁。注意 noindex 需要頁面能被抓取到,若同时用 robots.txt 屏蔽,指令就传達不出去。
- 用 canonical 指向主列表:适合同一组内容的多種排序方式,让變体收敛到一個規范版本。指向要真實對應,不要為了收敛而乱指。
- 從入口收敛:不生成無意义组合、不在導航大量外露,让這類 URL 自然少被發現。這比事後补指令更省事,也更彻底。
放開之後怎么观察
處理完不等于結束,後續观察往往比一次性决定更重要。
- 看抓取落点:日誌里這類 URL 的抓取频次是否明顯上升,是否影响到核心目錄。
- 看索引狀態:抽样查一批 URL,確認它們是被收錄、被判為重复,還是長期停在已發現未抓取。
- 做小样本對照:取同類型的两组頁面,一组放開、一组收敛,隔一段時間對比索引表現,再决定是否推廣到全站。
几個容易踩的坑
- 把 noindex 和 robots.txt 一起用,结果頁面被挡住,指令也没生效。
- 只给列表第一頁放開、後續分頁全部屏蔽,却没有考虑用戶和爬虫的實际翻頁路径。
- 站内搜尋结果頁偶然带来過一些訪問,就顺手全站放開,忽略了長尾组合會持續增長。
這類頁面的取舍没有统一答案,關键是先按類型分组,再用小范围對照驗證,最後才决定全站策略。過程中不必追求一步到位,能说清每一類頁面為什么這样處理,就已经避免了大部分反复。