分頁列表是 URL 發現的主通道
對一個内容型站点来说,首頁和频道頁能容纳的連結有限,真正让大量内頁被發現的地方,往往是分頁列表。蜘蛛從频道第一頁進入,顺着翻頁連結一层层往後走,才能看到較早發布的内容。如果分頁结构本身有問题,後面几頁的 URL 就可能長期停留在“被 Sitemap 提交但很少被抓”的狀態。
這里要区分两件事:URL 能不能被發現,以及蜘蛛愿不愿意沿着這條路径繼續走。前者靠連結和 Sitemap,後者看抓取预算、路径深度和服務器的响應情况。分頁做得好,两者會互相加强;做得不好,蜘蛛可能在第一頁或前几頁就停下。
常见的翻頁形式與蜘蛛的反應
數字分頁和上一頁/下一頁
數字分頁是传统也較稳的形式。連結是真實的 a 标簽,指向可訪問的 URL,蜘蛛可以逐個跟進。需要注意的是,不要只保留“下一頁”而隐藏跳頁入口,否則蜘蛛只能线性往後走,遇到某一頁响應慢或出错,後續頁面就更难被發現。
上一頁/下一頁如果使用 href 指向真實地址,蜘蛛能正常跟進;如果只是按钮加 onclick 事件,就要检查渲染後是否生成可抓取的連結。對没有执行 JavaScript 的抓取场景来说,源碼里没有 href,路径就断了。
參數分頁與排序篩選
分頁參數如 page、p、offset 等,通常能被蜘蛛识別,但站点要避免同一批内容通過多種參數组合产生大量相似 URL。排序、篩選參數如果允许任意组合,蜘蛛可能把抓取预算花在重复列表上。比較稳妥的做法是:列表頁只保留主要分頁參數,排序和篩選结果尽量用 robots 規則、canonical 或參數處理策略收敛,而不是让它們無限生成新地址。
加载更多與滚動加载
点击“加载更多”才出現的内容,如果接口返回的是 JSON,蜘蛛通常不會把它当成頁面連結。要保證分頁路径可抓,最好同时提供普通分頁連結作為兜底,或者在渲染後生成真實可点击的 URL。否則列表後半部分只能依赖 Sitemap 或其他内鏈入口。
让蜘蛛走得更遠的几個做法
- 分頁連結用真實 href:每一頁都有可訪問的 URL,不依赖点击事件。
- 保留跳頁入口:數字分頁、首尾頁連結能让蜘蛛更快到達較深頁面。
- 控制列表頁數量:如果一個频道有几百頁,可考虑按時間归档、标簽或分類拆分入口,减少單條路径過長。
- 用 Sitemap 补充分頁:把重要的列表頁和内頁放進 Sitemap,尤其是那些在站点内鏈中較难到達的頁面。Sitemap 不能保證抓取,但可以提供一條發現通道。
- 注意服務器稳定性:分頁請求多、响應慢时,蜘蛛可能降低抓取频率。列表頁最好有缓存或較快的响應,避免因為超时中断整條路径。
- 内鏈结构成網:不要只让内容頁依赖列表頁被發現。相關内容、标簽頁、归档頁之間的連結,能让蜘蛛從多個入口到達同一批 URL。
分頁抓取中的常见誤判
有些站点看到浏览器里分頁一切正常,就認為蜘蛛也能走。浏览器會执行脚本、携带 Cookie,還會根據视口加载内容,這些條件蜘蛛不一定具备。检查时更應關注:查看頁面源碼是否包含翻頁 href、用抓取工具模拟無 Cookie 請求、观察日誌里分頁 URL 的訪問频率和狀態碼。
分頁的目标不是让蜘蛛抓完所有頁面,而是让重要的 URL 有稳定、可重复的發現路径。路径清晰,抓取预算才不會被浪費在重复列表和無效參數上。
小结
分頁列表是 URL 發現的核心通道之一。把翻頁連結做成可抓取的锚点,收敛重复參數,给較深頁面留出跳轉入口,並用 Sitemap 和内鏈做补充,通常比單纯增加提交量更有帮助。服務器稳定、响應時間可控,也能让蜘蛛更愿意沿着列表繼續往後走。實际效果因站点结构和抓取情况而异,需要结合日誌持續观察。