搜尋抓取

列表分頁的抓取路径:蜘蛛能翻到第几頁,取决于頁碼怎么铺

列表頁是蜘蛛發現詳情頁的主要通道。分頁連結怎么寫、深頁碼留不留、翻頁接口快不快,都會影响蜘蛛實际能翻到第几頁。這篇讲清分頁路径上的常见寫法與容易踩的坑,並给出一份可以照着做的检查清單。

搜尋抓取

列表分頁的抓取路径:蜘蛛能翻到第几頁,取决于頁碼怎么铺

列表頁是蜘蛛在站内走得最多的一類頁面。首頁给出几個入口,分類頁列出几十條連結,剩下的詳情頁大多要经過分頁才能被發現。分頁铺得顺不顺,很大程度上决定了蜘蛛一次能走到第几頁。

蜘蛛在列表頁上是怎么往下走的

抓到列表第一頁後,蜘蛛會做两件事:把頁面上指向詳情頁的連結放進待抓队列,同时找到“下一頁”這類能带出更多連結的入口。只要分頁連結是普通的 a 标簽,它就能顺着往後翻;翻到某一頁没有新連結,或者响應慢得超出它的等待,這條路径就停在那里。

所以分頁路径上的瓶颈,通常不是“蜘蛛不愿意翻”,而是站点把頁碼藏起来了,或者翻頁的成本太高。

頁碼的几種常见寫法,决定蜘蛛能走多遠

  • 上一頁 / 下一頁按钮:最容易走通,只要 href 是真實可訪問的 URL,蜘蛛就能一直往後翻。
  • 带連結的數字頁碼:1 到 N 全部可点,蜘蛛能跳到任意一頁,但頁數多时容易出現大量低價值地址。
  • “加载更多”按钮:如果点击後才由 JS 請求資料,且每個分頁没有獨立 URL,蜘蛛基本只看到第一頁。
  • 無限滚動:用戶体感不错,蜘蛛却常常只抓到首屏那些内容。常见的补救方式,是给一個可直達的分頁 URL 作為兜底。

深頁碼要不要保留

老内容仍然有搜尋需求时,深頁碼值得留;如果翻到後面只是重复展示同一批内容,參數不同但頁面几乎一样,那這些頁面對抓取没有正向作用。可以按價值划线:前若干頁保留可抓取,更深的頁碼不再直接给出連結,或者用更细的分類、标簽把入口重新分開,让連結回到更浅的层級。

分頁路径上最容易踩的几個坑

  • 分頁連結被顺手加上 nofollow 或 noindex,把往下走的通道堵住了。
  • 頁碼 URL 带了一串排序、篩選參數,同一個列表被拆成很多個地址。
  • 每頁的标题、描述完全一样,蜘蛛难以判断這些頁面是否還有繼續走的必要。
  • 翻頁接口很慢,几秒才返回,或者並發一高就出現 5xx。

响應速度會直接缩短這條路径

翻頁是一個串行的過程:抓完第一頁,才能拿到第二頁的連結。單頁多花 1 秒,翻到第二十頁就多花 20 秒,蜘蛛在同一段時間里能覆盖的站点就變少了。列表頁往往是全站查询最重的頁面之一,加上缓存、控制單頁返回的資料量、把排序篩選從主路径上挪開,都是比較直接的做法。反過来,限流規則如果對蜘蛛卡得太紧,等于人為把翻頁速度降到很低。

一份可以照着做的检查清單

  1. 用抓取工具模拟一次,確認分頁 URL 都能直接打開,而不是必须点击才出現。
  2. 看服務器日誌里蜘蛛實际翻到了第几頁,和预期的深度做對比。
  3. 检查每頁的 canonical、title 是否指向自身,避免整條分頁路径都被归到第一頁。
  4. 對确實没有内容的深頁碼做收敛:去掉連結、合並到分類頁,或者保留連結但不让它們進入索引。
  5. 驗證翻頁接口的响應時間和错誤率,確認高峰期蜘蛛也能稳定拿到頁面。
蜘蛛翻頁不是义務。站点把路径铺得越短、越稳,它能走到的頁碼才越多。