搜尋抓取

列表分頁與蜘蛛抓取:翻到第几頁之後路径開始衰减

分頁連結是蜘蛛在站内最常走的路径之一,但多數站点在某個頁碼之後抓取明顯變稀。本文說明翻頁深度由什么决定、哪些寫法會让分頁路径提前断掉,以及如何用聚合頁、Sitemap 和詳情頁内鏈,给深层内容补上不依赖翻頁的發現入口。

搜尋抓取

列表分頁與蜘蛛抓取:翻到第几頁之後路径開始衰减

列表頁和分頁是蜘蛛在站内最常走的一條路:首頁到栏目頁,再到列表第 1 頁、第 2 頁……只要每頁都有可点击的下一頁連結,理论上它可以一直走下去。但實际看日誌會發現,大多數站点在某個頁碼之後抓取记錄就明顯變稀了。這不是蜘蛛偷懒,而是這條路径的收益和成本在那一頁發生了交叉。

蜘蛛翻頁时在做什么

蜘蛛並没有翻頁這個概念,它只是看到連結就排队。每一頁對它来说都是一個新地址:要下载、要解析、要把里面的連結加進待抓队列。当第 N 頁返回的内容與前面高度重复,或者新連結數量趋近于零时,繼續往下走的動力就消失了。

換句话说,决定翻頁深度的不是頁碼數字,而是這一頁還能带来多少新地址。

哪些设計會让分頁路径提前衰减

  • 下一頁連結用脚本渲染。蜘蛛讀不到 href,路径在第 1 頁就断了。用 a 标簽寫死地址是最稳的做法。
  • 分頁參數顺序不统一。同一個列表出現多種參數组合,蜘蛛在這些地址之間来回跑,消耗了抓取額度却没有多發現内容。
  • 每頁條目太少。二十條一頁和五十條一頁,翻十頁拿到的内容差一倍以上,後者更容易被走到更深處。
  • 列表頁塞满推荐位。分頁連結被推到頁面下半部分,可见度和被跟随的机會都被稀释。
  • 深层内容只存在于第三十頁。如果一篇文章只能從很靠後的列表頁進入,它被抓到的概率會低很多。

让重要内容不依赖翻頁深度

分頁可以繼續保留,但不要把發現路径全压在它身上。常见的做法是组合起来用:

  1. 给列表做合理的聚合入口,比如按分類、按時間、按标簽的固定頁面。
  2. 把真正重要的内容寫進 Sitemap,让蜘蛛不必经過第三十頁就能到達。
  3. 在詳情頁做相關推荐和上下篇,把深层頁重新拉回主干路径。
  4. 對翻不到底的歷史内容,用归档頁或索引頁做一层過渡。

怎么確認分頁到底走到哪了

服務器日誌是最直接的證據。筛出列表頁的請求,看带分頁參數的地址被請求到了第几頁、多久来一次、返回碼是什么。如果前几頁每天都来,第六頁以後一周才出現一次,說明路径在這里開始衰减。

同时留意两類異常:一是大量分頁地址返回 200 但内容是空列表,這會白白消耗抓取額度;二是分頁連結指向的地址返回 404,或者 301 跳到不相干的地方,路径會直接断掉。這两種情况都能在日誌里通過狀態碼分布看出来。

分頁不是越深越好,而是要让每一頁都還值得被走一次。

小结

分頁本身不制造問题,問题在于把内容的發現路径全部交给它。把分頁連結寫清楚、參數收敛、單頁條目數控制在合理范围,再给深层内容补上 Sitemap 和内鏈入口,蜘蛛走過的路径自然會完整一些。