SEO 百科

无限滚动

本页目录

无限滚动

无限滚动是一种加载方式:用户向下滚动到页面底部时,程序自动追加下一段内容,页面地址不变[2]。页面先能被抓取和索引,才谈得上排名[5]。做 SEO 的人要关心它,因为搜索引擎不会滚动页面,只有滚动之后才出现的内容,引擎看不到。用分页地址把后段内容补上,才能让它们被发现和收录。

内容漏抓的原因

引擎渲染页面时不模拟用户操作。它不会滚动,也不会点击“加载更多”按钮[2]。页面首屏之外、由滚动触发的那部分内容,渲染结果里就不存在。

Google 说明,由用户滚动才会加载内容的方式,会让这部分内容对 Google 不可见[2]。百度把抓取概括为从互联网抓取网页、建立索引数据库、把索引数据展现给用户[4]。抓取这一步缺了,后面的索引与展现都无从谈起。Bing 也把这一点讲得很直白:抓不到就没有索引[1]。

补上独立网址的做法

要让后段内容可被抓取,就给每一段内容一个能独立访问的地址:

  1. 每个分块给一个固定地址,例如用 ?page=12 这样的绝对页码参数[2];
  2. 地址里的内容每次都保持一致,避免 ?date=yesterday 这类相对取值;
  3. 用链接把各段地址依次串起来,让引擎顺着链接发现[3];
  4. 用户滚动到新分块时,用 History API 更新地址栏[2]。

“加载更多”按钮也能用,但按钮背后要有真实链接,指向一个独立地址,不能只有脚本点击事件[3]。

<!-- 每一段内容一个真实链接,引擎顺着链接逐段发现 -->
<a href="/list?page=2">下一页</a>

测试办法

配置好之后要验证。打开 Search Console,用网址检查工具看渲染后的 HTML,确认内容确实在里面[2]。也可以直接取回一个分页地址看源码,比如 ?page=2,检查列表项是不是在原始 HTML 里,而不只是脚本运行时才出现。

常见误用

  • 只有滚动加载,没有分页地址,后段内容永远发现不了;
  • 用锚点 #page=2 当分页地址,锚点不会触发新页面;
  • 分页地址自身也由脚本渲染,原始 HTML 为空,引擎拿到的仍是空页面;
  • 只改前端滚动逻辑,不把分页地址放进站点地图。

附录

参见

参考资料

官方(境外)

  1. 《Indexing issues? Let's examine the most common problems.》,Bing Webmaster Blog,2012-09-21。
  2. 《修正延迟加载的内容》,Google 搜索中心,2025-12-18 更新。
  3. 《分页、增量页面加载及其对 Google 搜索的影响》,Google 搜索中心,2025 更新。

官方(国内)

  1. 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。

第三方

  1. 《SEO》,The Web Almanac by HTTP Archive,2026-01-15。

外部链接

无。