列表頁、栏目頁、标簽頁這些带分頁的頁面,往往是全站連結最密集的地方。分頁處理得粗糙,最常见的後果是:第 2 頁之後的内容几乎没有稳定的入口連結,蜘蛛只能看到第一頁;或者反過来,翻頁參數生成出大量内容稀薄的頁面,把抓取预算耗在重复列表上。
分頁最常见的几種問题
- 只保留「上一頁 / 下一頁」:用戶和蜘蛛都只能一頁一頁往後走,深處的内容要跳十来次才能碰到,很多頁面實际上等同于没有入口。
- 翻頁按钮没有真實連結:用 JS 或表單提交換頁,連結不带 href,蜘蛛無法顺着点击路径發現後續頁。
- canonical 一刀切:所有翻頁都指向第一頁,等于告诉搜尋引擎後几頁只是同一内容的不同切法,深层文章可能一起被冷落。
- 给翻頁加 noindex 或屏蔽:本想避免重复,结果把從列表通往詳情頁的路径也堵住了。
- 每頁條數频繁調整:昨天 /list?page=3 是 A 组文章,今天變成 B 组,URL 與内容错位,歷史抓取记錄失去參考價值。
- 無限滚動没有兜底:滚動到底自動加载,但没有可訪問的分頁 URL,一旦脚本不执行,整段内容就消失了。
一次可落地的分頁自查
- 挑 3 個主力栏目,從第一頁手動翻到最後一頁,记錄第 10 頁以後還能否正常打開、速度是否明顯變慢。
- 查看分頁 URL 的形態:是 /list/page/3/ 這類静態化路径,還是带多個參數的查询串?參數是否稳定、可讀。
- 检查翻頁按钮在「查看源代碼」里是否出現 href,還是纯 JS 事件。
- 確認 canonical 指向自身頁碼,而不是一律指向第一頁。
- 检查 robots 與頁面 meta 是否誤屏蔽了 /page/ 路径。
- 用抓取日誌或服務器日誌观察:蜘蛛是否訪問過第 2 頁以後,訪問频率與第一頁差距有多大。
可以優先做的几件事
- 除了上一頁 / 下一頁,补上首尾頁與頁碼數字連結,让深层列表有直接入口。
- 翻頁 URL 尽量静態化、可预测,例如 /column/page/2/;不要把排序、篩選、頁碼混在一個長參數串里。
- 翻頁 canonical 指向目前頁自身;确實不想让某些參數组合被單獨對待时,再考虑規范到主路径。
- 無限滚動保留一個「查看更多」的真實連結作為兜底,最好同时提供不带脚本也能翻頁的版本。
- 列表摘要不要全文輸出。每頁放标题、摘要和缩略图即可,避免列表頁與詳情頁正文高度重复。
- 翻頁數量過多时,考虑按時間归档或分類拆分,让每個列表保持在可维護的頁數范围内。
分頁不是單纯的前端交互問题,它决定了蜘蛛能不能沿着列表一层层走到内容深處。先把翻頁連結做成真實可点的 URL,再谈其他優化,通常收益最直接。
改完之後怎么驗證
改動上线後,抽查几個此前抓取較少的栏目,看新出現的頁面是否在几天内被訪問;同时观察列表頁本身是否還在被反复抓取同一批 URL。如果翻頁連結變多但抓取總量没涨,說明预算被重复列表吃掉了,需要回头收一收參數组合。分頁治理没有一劳永逸的配置,栏目内容量變化、模板改版都可能让它重新出問题,建议把它放進站点定期自查的清單里,每隔一段時間重跑一遍上面的步骤。