搜尋抓取

列表頁會翻到第几頁:分頁结构對蜘蛛抓取深度的影响

列表頁是站内連結密度最高的入口,分頁做得好坏直接决定新頁面多久被發現。文章從連結形態、分頁 URL 規范、分頁頁是否索引、深分頁的服務端代價四個角度說明:蜘蛛能翻到第几頁,以及老内容被埋之後可以用哪些路径补回来。

搜尋抓取

列表頁會翻到第几頁:分頁结构對蜘蛛抓取深度的影响

列表頁是站内連結密度最高的地方:一個分類頁往往挂着几十個詳情頁入口,蜘蛛進门先看它,再顺着連結往外走。分頁做得好,新頁面几天内就能被發現;做得不好,第五頁之後的内容可能几個月都没有蜘蛛来過。下面從連結形態、分頁 URL、是否索引、服務端代價四個层面拆開说。

連結形態决定蜘蛛能翻到第几頁

用 a href,別只靠点击事件

不少站点的分頁是 JS 拼接出来的,或者只有“加载更多”按钮,HTML 里找不到指向第二頁的可抓取連結。蜘蛛拿到的初始 HTML 里没有這個連結,翻頁鏈路就在這里断掉,後面的列表頁和詳情頁都只能等 Sitemap 或別處的内鏈来救。

稳妥做法是保留一组真實連結:數字頁碼、上一頁/下一頁,都寫成可抓取的 a 标簽。加载更多可以保留,但要有一個對應的分頁 URL 作為兜底。

rel=next/prev 不是必须,但連結要在

搜尋引擎早已不把 rel=next/prev 当作索引合並信号,不過連結本身仍然可以被跟。也就是说,哪怕不用這套标注,只要第二頁的連結真實存在、URL 稳定,蜘蛛就能往下走。真正的問题通常不是标注缺失,而是連結缺失或指向參數混乱的地址。

分頁 URL 要保持可预期

  • 固定一套分頁參數,例如统一用 page,不要今天 page、明天 p、後天 offset 混用。
  • 排序、篩選、来源追踪參數不要混進分頁連結里,否則同一個列表會裂成几十個地址,抓取分散、重复度還高。
  • 分頁地址尽量保持纯路径或固定參數顺序,减少因為參數顺序不同而产生的重复 URL。
判断标准很简單:把第一頁和第五頁的地址拿出来對比,除了頁碼,其他部分應该完全一致。

分頁頁要不要被索引

两種思路都可行,但要清楚差別。如果希望分頁頁參與索引,就让它的 canonical 指向自身;如果把第二頁及以後 canonical 到第一頁,通常會削弱這些頁面的索引信号,連結虽然一般仍會被跟随,但不确定因素更多。

如果不希望分頁頁出現在结果里,用 noindex,follow 更直接:noindex 只影响索引,不影响抓取,follow 保證列表里的連結還能被跟到。需要注意的是,noindex 頁面依然會被抓取,它同样消耗抓取预算,所以別把大量低價值的自動聚合頁留着不處理。

老内容被埋之後怎么补

  • 日期归档頁:把老文章按時間重新组织成可抓取的入口。
  • 专题聚合頁:用主题把跨分類的内容串起来,给深頁再铺一條路。
  • 詳情頁的相關推荐:让老頁面互相引用,不依赖列表翻頁。
  • Sitemap:作為补充發現渠道,给那些确實進不了列表的 URL 留一條通路。

深分頁對服務端的代價

分頁越深,資料库偏移查询越慢,响應時間可能從几十毫秒涨到几百毫秒甚至超时。蜘蛛對响應時間是敏感的,同一個目錄下连續遇到慢响應,抓取节奏會明顯放缓。與其提供几十頁翻頁,不如限制可翻頁范围,把深翻頁改成归档路径或按條件篩選的獨立入口,既省服務器资源,也让每個地址都更容易被稳定抓取。

從日誌核對分頁的抓取情况

  • 統計列表頁地址的訪問次數,重点看第一頁和第十頁的差距。
  • 检查這些請求的狀態碼,留意 5xx 和超时,它們往往是抓取放缓的原因。
  • 看带分頁參數的地址是否收敛到少量固定形式,還是已经散成很多變体。

小结一下:分頁的問题很少出在“蜘蛛不肯翻”,多數出在連結不可抓、地址不统一、或者深頁响應太慢。把這三件事處理好,列表頁就能重新變成一個稳定的連結輸送带。