SEO 百科
无限滚动
本页目录
无限滚动
无限滚动是一种加载方式:用户向下滚动到页面底部时,程序自动追加下一段内容,页面地址不变[2]。页面先能被抓取和索引,才谈得上排名[5]。做 SEO 的人要关心它,因为搜索引擎不会滚动页面,只有滚动之后才出现的内容,引擎看不到。用分页地址把后段内容补上,才能让它们被发现和收录。
内容漏抓的原因
引擎渲染页面时不模拟用户操作。它不会滚动,也不会点击“加载更多”按钮[2]。页面首屏之外、由滚动触发的那部分内容,渲染结果里就不存在。
Google 说明,由用户滚动才会加载内容的方式,会让这部分内容对 Google 不可见[2]。百度把抓取概括为从互联网抓取网页、建立索引数据库、把索引数据展现给用户[4]。抓取这一步缺了,后面的索引与展现都无从谈起。Bing 也把这一点讲得很直白:抓不到就没有索引[1]。
补上独立网址的做法
要让后段内容可被抓取,就给每一段内容一个能独立访问的地址:
- 每个分块给一个固定地址,例如用
?page=12这样的绝对页码参数[2]; - 地址里的内容每次都保持一致,避免
?date=yesterday这类相对取值; - 用链接把各段地址依次串起来,让引擎顺着链接发现[3];
- 用户滚动到新分块时,用 History API 更新地址栏[2]。
“加载更多”按钮也能用,但按钮背后要有真实链接,指向一个独立地址,不能只有脚本点击事件[3]。
<!-- 每一段内容一个真实链接,引擎顺着链接逐段发现 -->
<a href="/list?page=2">下一页</a>
测试办法
配置好之后要验证。打开 Search Console,用网址检查工具看渲染后的 HTML,确认内容确实在里面[2]。也可以直接取回一个分页地址看源码,比如 ?page=2,检查列表项是不是在原始 HTML 里,而不只是脚本运行时才出现。
常见误用
- 只有滚动加载,没有分页地址,后段内容永远发现不了;
- 用锚点
#page=2当分页地址,锚点不会触发新页面; - 分页地址自身也由脚本渲染,原始 HTML 为空,引擎拿到的仍是空页面;
- 只改前端滚动逻辑,不把分页地址放进站点地图。
附录
参见
参考资料
官方(境外)
- 《Indexing issues? Let's examine the most common problems.》,Bing Webmaster Blog,2012-09-21。
- 《修正延迟加载的内容》,Google 搜索中心,2025-12-18 更新。
- 《分页、增量页面加载及其对 Google 搜索的影响》,Google 搜索中心,2025 更新。
官方(国内)
- 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。
第三方
- 《SEO》,The Web Almanac by HTTP Archive,2026-01-15。
外部链接
无。