列表頁和分頁是站点里數量最容易被低估的一類頁面。一個栏目如果每頁 20 條内容、總共几百條文章,翻頁很快就會生成几十個地址。這些地址本身没什么問题,但如果實現方式随意,蜘蛛很容易在翻頁之間来回走,把抓取预算花在價值不高的重复列表上。
下面按從連結到參數的顺序,梳理几個值得定期自查的点。
一、先看清分頁是怎么實現的
- 静態路径分頁:形如 /news/page/2/,地址獨立、可缓存、容易被识別。
- 查询參數分頁:形如 /news?page=2,需要確認參數是否會被聚合或過滤。
- 点击加载更多:首次只加载一頁,後續靠 JS 追加,蜘蛛往往只看到第一頁。
- 無限滚動:頁面持續追加内容,没有明确的下一頁邊界。
二、几個容易踩坑的细节
1. 翻頁連結是不是可抓取的 a 标簽
如果下一頁只是一個 button 加事件监听,蜘蛛不會去点。至少要保證翻頁入口有真實的 href,即使同时保留了 JS 交互。
2. 翻頁有没有尽头
有些站点的分頁在最後一頁之後仍然返回 200,並展示空列表或重复内容,等于人為制造了一批空頁。正常的做法是最後一頁不再輸出下一頁連結,或者干脆不生成超出范围的分頁地址。
3. 排序與篩選參數不要组合爆炸
列表頁常带排序、篩選、時間范围等參數。如果每個參數都能互相组合,地址數量會迅速膨胀。建议只让少數有實际價值的组合可被抓取,其余用 robots 規則或參數處理方式约束,而不是指望蜘蛛自己判断。
4. 分頁頁面的 canonical 怎么指
常见的两種做法:一是每頁 canonical 指向自己,二是全部指向第一頁。前者更常见,也更容易解释;後者适合内容高度重复的短列表。無论選哪種,全站要保持一致,別让第 2 頁指自己、第 3 頁指首頁。
三、一份可以直接照做的自查清單
- 打開栏目第一頁,看下一頁是否有真實可点的連結地址。
- 翻到最後一頁,確認下一頁連結消失,且不再返回空列表。
- 用站点日誌观察分頁地址的抓取频次,看是否明顯高于内容頁。
- 检查分頁與篩選參數是否出現在 sitemap 里,通常不建议放。
- 確認分頁頁面自身的标题與描述有区分,不要整站一個样。
- 抽查第 2、第 3 頁的 canonical,看指向是否统一。
分頁的目标不是让蜘蛛翻完所有頁,而是让它能顺着列表找到内容頁,然後停下来。
四、把重点放回内容頁
列表頁和分頁本质上是通道。真正需要被理解和收錄的是文章、商品、词條這類内容頁。如果日誌里分頁的抓取量長期高于内容頁,通常說明通道设計出了問题,或者内容頁本身缺少足够的内鏈入口。
可以定期做一件事:随机抽一個栏目,從第一頁手動翻到最後一頁,记錄每次翻頁後新出現的連結數量。如果某几頁几乎不产生新的内容連結,那這几頁對蜘蛛的價值就很有限,可以考虑收敛分頁深度。
分頁這件事不需要复杂的技術方案,更多是靠一致的規則和定期的抽查。規則统一之後,蜘蛛的抓取行為會稳定下来,运营侧也更容易判断問题出在哪里。