搜尋抓取

搜尋蜘蛛抓取:分頁路径断裂與翻頁入口维護排查

列表頁到詳情頁的抓取常依赖分頁推進。翻頁連結被脚本替換、rel=next 缺失、分頁參數被 canonical 收敛或 robots 誤屏蔽,都可能让後續頁面無法被發現。本文按入口發現、断裂点排查、服務器响應和日誌交叉驗證的顺序,整理分頁路径的维護方法,帮助减少漏抓與重复抓取。

搜尋抓取

搜尋蜘蛛抓取:分頁路径断裂與翻頁入口维護排查

分頁路径為什么值得單獨看

列表頁到詳情頁的路径,很多站点依赖分頁推進。蜘蛛從栏目第一頁進入後,需要沿着“下一頁”連結逐頁發現條目。如果分頁鏈條在某一頁断開,後面的詳情頁就可能長期不被發現。這里的問题通常不在頁面本身,而在翻頁入口的寫法、參數處理和服務器响應上。

分頁入口的發現方式

普通 a 标簽分頁

最稳妥的做法是保留可点击的 a 标簽,href 指向带頁碼參數的 URL。蜘蛛可以直接解析並跟進。如果使用按钮加 onclick 跳轉,或者用 div 模拟連結,抓取端往往無法识別,路径就断了。

rel=next 與 rel=prev

rel=next/prev 可以作為分頁關系的补充說明,但它不是蜘蛛發現連結的唯一依據。真正要保證的是每個分頁 URL 都能從上一頁通過普通連結到達。若只寫 rel 标簽而没有可见連結,部分抓取场景仍可能漏掉後續頁。

JS 分頁與無限滚動

無限滚動和点击加载更多,通常依赖脚本請求接口。蜘蛛對這類路径的跟進能力有限,容易出現只抓第一頁的情况。可以考虑為分頁提供静態备用入口,或者在 Sitemap 中补挂重要列表頁的分頁 URL。

常见断裂点排查

  • 被 robots.txt 誤屏蔽:有些站点為了控制抓取,直接屏蔽带 page 參數的目錄,结果整條分頁路径都不可達。
  • canonical 指向第一頁:如果所有分頁都 canonical 到列表首頁,抓取端可能認為後續頁是重复内容,减少跟進。
  • 翻頁連結缺失:最後一頁没有“下一頁”正常,但中間頁缺少連結,或頁碼跳跃,會導致部分頁無法到達。
  • 參數顺序不一致:同一頁出現 ?page=2&sort= 和 ?sort=&page=2 两種形式,容易造成重复入口和抓取浪費。
  • 返回空结果或软 404:超出實际頁數的頁碼如果返回 200 空列表,蜘蛛會繼續浪費路径。

服務器稳定性與翻頁抓取

分頁請求通常比詳情頁更密集。如果列表頁响應慢、频繁超时,或者带參數的分頁被 CDN 回源拖慢,抓取端可能降低跟進频率。建议關注分頁 URL 的 TTFB、5xx 比例和缓存命中情况,避免让蜘蛛在翻頁過程中反复失敗。

用日誌和 Sitemap 交叉驗證

  1. 從訪問日誌中筛出带 page 參數的 URL,看蜘蛛是否到達第二頁及以後。
  2. 對比 Sitemap 中列出的分頁 URL 與實际被抓取的分頁 URL,找出差集。
  3. 检查差集頁面的入口連結是否存在、是否被 nofollow、是否被 robots 屏蔽。
  4. 修复入口後观察一段時間,確認分頁路径是否重新连通。
分頁路径的修复重点是让每一頁都有可被解析的上一頁連結,而不是只提交 Sitemap 等待抓取。

小结

分頁是列表型站点的重要抓取通道。把翻頁連結寫成普通 a 标簽,保持參數形式统一,避免誤屏蔽和空结果頁,再结合日誌核對,通常能减少詳情頁漏發現的情况。服務器响應稳定,也會让這條路径更顺畅。