列表頁的分頁是一類特殊的 URL 集合:由同一套模板生成,内容高度相似,數量却可能成百上千。蜘蛛沿連結往下翻並不費力,真正的問题是這些 URL 里有多少值得抓。
蜘蛛翻頁和用戶翻頁是两件事
用戶翻到第三頁還没找到想要的内容,會換個關鍵詞;蜘蛛没有這種偏好,它只按連結走。如果每一頁都挂着指向下一頁的連結,路径就會一直延伸,抓取预算被摊薄到大量低差异頁面上。
所以判断分頁問题,不看蜘蛛翻了多少頁,而看每一頁相對前一頁新增了多少可索引内容。
分頁深度到什么位置開始失效
- 前几頁:通常包含最新、最热的内容,也和其他入口頁互相連結,值得保留。
- 中間頁:如果列表項只是同一批内容的重新排序,增量很低。
- 深分頁:不少站点的第五十頁之後基本没有新連結,只剩模板和空壳。
比較稳妥的做法是把分頁当成一條有终点的走廊:到某個深度後收口,而不是無限延伸。常见的收口方式是限制可翻頁的總數,或者把深分頁改成獨立入口,让它不參與預設的抓取路径。
路径式分頁與參數式分頁
形如 /list/page/2/ 的路径式分頁容易被识別和統計;而 /list?page=2&sort=xx 這類參數分頁,容易和排序、篩選參數组合出大量 URL。如果同一批内容能通過多種參數组合到達,蜘蛛會重复走很多遍。把預設排序之外的分頁组合明确标记為 noindex,或在 robots.txt 中限制,通常比放任其自然增長更可控。
另外,rel 的 next、prev 标注早已不是主流搜尋引擎的索引信号,寫上不會带来額外收益,但作為给蜘蛛的一條路径提示仍然無害。真正决定路径的,是頁面里可以点击的連結。
翻頁連結放哪儿,蜘蛛就走到哪儿
分頁連結的位置决定了蜘蛛能否顺利往下走。底部只有一個箭头图标、没有文字連結时,部分抓取环境可能讀不到;用脚本点击生成下一頁、地址栏不變的情况,則等于把路径截断。
- 用真實的 a 标簽指向下一頁的固定 URL。
- 頁碼連結给出明确锚文本,不要只寫數字。
- 首頁、末頁、上一頁、下一頁都提供連結,方便回退。
深分頁是服務器的慢查询重灾区
列表頁越深,分頁查询越慢,渲染時間越長。响應變慢时,蜘蛛的抓取节奏會跟着調整,深分頁往往是第一批被放弃的 URL。與其等到服務器扛不住,不如提前限制最大頁數,把基于大偏移量的分頁查询換成基于游标的翻頁,同时改善用戶加载和抓取体驗。
分頁的终点不该由模板决定,而應由内容增量决定:翻到没有新東西的那一頁,就该停下。
落地检查
- 看看最常见的列表模板最深能翻到第几頁,最後一頁是否還有獨有連結。
- 確認翻頁連結是真連結,而不是点击事件或滚動加载。
- 把排序、篩選參數产生的分頁變体收進可控范围。
- 观察蜘蛛對深分頁的抓取比例,如果抓取高但收錄有限,說明预算花得不太值。
分頁不是要全部砍掉,而是让蜘蛛沿着一條清晰、有终点的路径走,把注意力留给真正有内容的頁面。