搜尋抓取

分頁翻到第几頁:蜘蛛在“下一頁”上的止步点與抓取顺序

列表頁分頁是蜘蛛最常走的路径之一,但很多站点在“下一頁”按钮、參數連結和規范化标注上设了隐形的墙。本文讲蜘蛛怎么顺着分頁走、常见止步点在哪、頁碼連結该怎么给、分頁如何避免摊薄抓取预算,以及無限滚動的處理方式。

搜尋抓取

分頁翻到第几頁:蜘蛛在“下一頁”上的止步点與抓取顺序

列表頁是蜘蛛最常走的路径之一,尤其是电商、资讯和聚合類站点,首頁往下大多是分類頁與分頁。分頁结构设計得顺不顺,直接决定蜘蛛能翻到第几頁,以及翻頁时會不會把抓取预算浪費在重复内容上。

蜘蛛是怎么顺着“下一頁”走的

蜘蛛抓到列表第一頁後,會解析頁面里的連結。如果每頁只有“下一頁”指向第二頁,第二頁再指向第三頁,整條鏈路就是一串單鏈:第 10 頁要等前 9 頁都抓完,才可能被排上队。抓取队列按優先級與時間排序,連結越靠後、被發現得越晚,回訪間隔也可能被拉長。

如果分頁之外還有頁碼入口,比如“1 2 3 4 5 … 下一頁”,情况會好一些。蜘蛛可以在一次抓取里拿到多個分頁地址,而不是一格一格往前挪。

蜘蛛常见的止步点

  • “下一頁”是按钮而不是連結,点击後由 JS 加载内容,HTML 里没有可解析的地址。
  • 分頁連結指向带复杂參數的地址,被 robots.txt 或站内規則挡住,蜘蛛走到這里就断了。
  • 靠後的頁碼没有直接入口,只能一頁頁点,蜘蛛翻到预算用完就停。
  • 翻頁内容高度重复,标题、摘要、列表項几乎一样,蜘蛛繼續翻的動力下降。
  • 分頁頁被全部 noindex,或者统一規范化到第一頁,連結發現路径會被削弱。

把分頁修成蜘蛛好走的样子

  • 用真實的 a 标簽輸出分頁連結。JS 渲染的“加载更多”對蜘蛛来说等于没有入口。
  • 保留一组可爬取的頁碼連結,或者至少保證“下一頁”始终是連結形式。
  • 分頁頁不要全部 noindex,也不建议全部規范化到第一頁。常见做法是让第一頁自指,後續分頁也自指,再通過分頁關系标注表達序列。
  • 每頁條目數別太少。一頁只有三五條时,翻十几頁才能覆盖一批内容,抓取與渲染成本都不划算。
  • 如果内容确實需要一次性看全,可以提供一個“查看全部”頁面,同时保留分頁連結作為發現路径。

分頁也在花抓取预算

列表頁本身产出有限,但它占用請求額度。站点评級、URL 總量、抓取速度都會影响蜘蛛一天能抓多少。分頁层數多、頁面又薄,等于把预算摊在低價值頁面上。可以适当加大每頁條數,或用分類、标簽、专题等横向頁面提供更多入口,减少靠“一直点下一頁”来發現内容。

想確認蜘蛛是否翻到了後面几頁,直接看服務器訪問日誌里有没有 /page/2/、?paged=2 這類請求。只有第一頁有记錄,基本可以判断分頁鏈路在某處断了。

無限滚動的處理

無限滚動對用戶友好,但它通常依赖滚動事件或观察器触發請求,蜘蛛不會去滚動頁面。稳妥的做法是给每段内容一個可訪問的分頁地址,首屏之外的内容在 HTML 里保留連結,或者為關键列表提供预渲染版本。

分頁不是越深越好,也不是越浅越好。核心是让蜘蛛有一條清楚、可走、每一步都值得走的路径:連結真實可解析,翻頁顺序明确,内容不重复,頁面數量可控。做到這几点,蜘蛛翻到哪一頁就不再是运气問题。