分页与无限滚动的 SEO:让爬虫抓到深处

运营GO 编辑部

列表页内容一多,就面临一个选择:用传统分页,还是上无限滚动?从 SEO 视角看,这俩的抓取和索引表现天差地别。无限滚动做得不好,爬虫只看到第一屏,后面的内容根本进不了索引,等于白做了几十页内容,流量也永远停在浅层。

分页和无限滚动不是二选一的审美问题,而是”内容能否被爬虫逐条拿到”的工程问题。这篇文章把两种方案的实现要点拆开,让你既保住用户体验,又不丢收录。关于抓取预算被稀释的细节,可结合抓取预算优化一起看,避免列表页拖垮全站抓取效率。

快速结论

  • 无限滚动默认对爬虫不友好,必须额外提供可索引的分页锚点或独立 URL。
  • 分页方案里每页要有独立、稳定的 URL,且用 next 规范串联发现路径。
  • 用 History API 的 pushState 给无限滚动”切”出深链,让爬虫能逐页到达。
  • 分页 URL 要进 sitemap,并和 canonical 策略配合,避免权重分散到重复页。

无限滚动的抓取陷阱

无限滚动靠 JS 在用户下滑时动态加载内容,爬虫通常不执行滚动交互,于是它只拿到首屏那点 HTML,后面几十页的内容对它来说”不存在”。结果就是:用户看得爽,搜索引擎只收录了第一屏,深层内容石沉大海。这不是猜想,Google 官方多次强调动态加载内容要用可抓取的方案兜底。

有人会想”Google 不是会渲染 JS 吗”。会,但有延迟、有预算上限,且不是所有引擎都做得到(百度、Bing 能力差异很大)。把索引命运全押在”爬虫会跑 JS”上风险太高,正确做法是让内容在首屏 HTML 里就可见,JS 只负责增强,而不是承担内容交付,这样任何引擎都能平等拿到。

两种可行的接法

方案 A:无限滚动 + 分页锚点。前端照常用无限滚动提升体验,但同时为每个”加载段”生成独立 URL(如 #page=2),并在页面提供”查看全部/分页”的常规入口。爬虫走分页入口,用户走滚动,两不误,体验与收录兼得,改造量也最小。

方案 B:用 History API 的 pushState 在滚动加载时改写 URL,让每一批内容对应一个真实、可分享、可抓取的地址。后台记得把这些分页地址补全进 sitemap。传统分页则要确保每个分页 URL 稳定,并用 rel=”next” 串联发现路径(Google 已停用 prev/next 作为排名信号,但 next 仍有助于发现)。想看完整技术框架,读技术SEO 实战手册

分页与无限滚动要点分页独立 URL,爬虫可逐页抓无限滚动需配可索引锚点historypushState 生成深链sitemap补全分页进索引

图:分页与无限滚动 核心要点(运营GO 整理)

方案爬虫可见度实现成本
纯无限滚动仅首屏
无限滚动+分页锚点全量
传统分页全量

上线后怎么查

用站内外爬虫分别抓一遍列表页,对比”JS 渲染后”和”原始 HTML”拿到的内容条数是否一致。不一致就说明动态内容没被正确暴露,爬虫拿到的只是一具空壳。再用 GSC 的 URL 检查工具看”网页已编入索引”的页数,是否覆盖了你预期的分页深度。

差得远就说明问题在渲染侧,优先回到方案 A/B 给内容配独立 URL。记住一个底线指标:渲染前 HTML 必须包含核心列表项,而不是只有一个”加载中”的占位。把这写入前端发布规范,能从根上避免回潮,也让后来人少踩坑,不用每次都从头排查。

三个排错要点

排错一:分页 URL 不稳定,带随机参数或 session,导致每次抓取地址都变,爬虫无法建索引,收录自然起不来。排错二:canonical 错误地全部指向第一页,把后面所有页的权重都收走了,深页永远排不上,等于自己阉割了深层内容。

排错三:sitemap 漏了分页地址,发现路径断在半路,爬虫到第二页就迷路。把这三点做成发布前 checklist:分页 URL 是否稳定、canonical 是否指向自身、sitemap 是否补全。三关过了,列表页的索引基本稳,也能并入技术SEO 实战手册统一维护。

分页深度与收录上限

不是所有分页都值得收录。Google 对深层分页的抓取意愿会随深度下降,通常前 3-5 页最容易进索引,再往后要靠内链权重撑着。所以重要内容尽量前置,别让用户翻到第 8 页才发现,爬虫也未必能翻到那里。

一个判断指标:看 GSC 里各分页的”已编入索引”比例,如果第 6 页之后几乎不掉进索引,说明抓取意愿到头了。与其硬推深分页,不如把内容重新组织,让每个分页都承载独特且靠前的价值,把抓取预算花在刀刃上。

用归档页替代深分页

如果列表天然很长(如博客归档、新闻流),考虑用”年/月”归档页替代纯数字分页,既缩短深度又更贴合搜索意图,用户也更容易按时间定位。归档页之间用规范的上下月链接串联,发现路径比数字翻页清晰得多。

归档页和分页的取舍,同样可以对照技术SEO 实战手册来定:能用语义化层级(年→月→篇)表达的,就别用扁平的长数字分页。前者对爬虫和用户都更友好,也更符合”扁平导航”的整体架构原则,收录更稳。

下一步行动清单

  • 盘点全站所有列表/分类页,标出用了纯无限滚动、且无分页入口的页面。
  • 给这些页面补充分页锚点或 pushState 深链,确保每个加载段有独立 URL。
  • 把这些分页 URL 补全进 sitemap,并检查 canonical 是否指向正确版本。
  • 用渲染版与原始版爬虫对比,确认内容条数一致。
  • 一周后回 GSC 看列表页索引覆盖率是否提升。

相关阅读