无限滚动对SEO是灾难还是机会?谷歌官方建议与实测
无限滚动(infinite scroll)就是用户往下滚,内容自动一批批加载出来。体验顺滑,但对搜索引擎爬虫是雷区。结论先说:裸无限滚动默认有风险,做好工程化就可用;对大多数以 SEO 为主流量的站点,分页或"加载更多"反而更稳。下面拆开讲。
一、为什么裸无限滚动会坑 SEO
- 谷歌不模拟滚动,也不点按钮。Googlebot 会渲染 JavaScript,但渲染是延后、资源受限的;它主要从
<a href>里抓取网址,不会"点击"按钮、也不会触发需要用户滚动/点击才更新的 JS。裸无限滚动首屏只加载第一批内容,后面靠滚动才出现的那几千条,对爬虫等于"不存在"。 - 实测教训:一个电商分类页首屏显示 12 个商品,无限滚动加载更多——结果谷歌只收录了那 12 个,剩下几千个商品长期"隐身",没有独立 URL 可被发现和排名。
二、谷歌官方怎么做才不会被坑(增量分页加载)
谷歌《Fix lazy-loaded content》与《分页最佳做法》两份官方文档给出的方案,核心是给无限滚动的每个内容块配一套分页回退 URL:
| 该做 | 说明 |
|---|---|
| 1. 每块有持久、唯一的 URL | 用绝对页码(如 ?page=12);别用 ?date=yesterday 这类相对参数,否则同一个 URL 每次内容都不一样 |
| 2. 直接打开 URL 时内容一致 | 服务端渲染(SSR),地址栏输入 ?page=3 就返回含第 3 页商品的 HTML,不是等 JS 才填充的空壳 |
3. 块之间用真实 <a href> 顺序链接 | 让 Googlebot 沿链接发现下一页;可视觉隐藏但必须留在 DOM 中 |
| 4. 滚动时用 History API 更新地址栏 | 用户滚到新块时 pushState 更新 URL,方便刷新、分享、搜索引擎定位内容分块 |
这样用户拿到滚动体验,爬虫拿到可抓、可索引的独立 URL——这是几乎所有生产环境"SEO 友好无限滚动"的底层机制。
三、什么时候该用、什么时候别用
| 场景 | 建议 |
|---|---|
| 内容本身就是 feed(社媒、直播、短帖),SEO 不是主流量来源 | 无限滚动合适,用户预期本就如此,没什么值得分页给谷歌的 |
| 电商分类、文章归档等 SEO 重要、每条内容可独立成页 | 用分页,或"加载更多"混合;纯无限滚动风险高 |
| 必须用"加载更多"按钮 | 同样有风险(点击才加载),也得配分页回退 URL;或把按钮做成指向 /page/2/ 的普通链接(渐进增强:JS 开则 AJAX 加载,JS 关则是正常翻页) |
四、核心网页指标(它也会反噬)
- 无限滚动持续往 DOM 里塞节点、新内容插入会顶动下方布局 → CLS(累积布局偏移)变差;滚动 handler 加庞大 DOM 产生长任务 → INP(交互延迟)变差。
- 缓解:为即将出现的内容预留垂直空间(reserve space)、回收滚出视口的节点、首屏以下图片给显式尺寸、小批量加载。
- 分页每页大小固定,LCP / CLS 更可预测——这也是"无聊"的分页在真实字段数据(field data)里常常跑赢无限滚动的原因。谷歌打分的正是字段数据,不是实验室测试。
五、2026 顺手提醒
- rel=prev/next 别再投入:谷歌自 2019 年起已确认不再把它用作索引信号。把精力放在真实锚点链接 + 唯一 URL + 正确 canonical 上。
- 分页页不要 noindex、不要 robots 屏蔽、不要全部 canonical 到 page1——否则第 2 页之后的内容失去被发现和排名的能力。
- 超界
?page=9999返回 404 或干净的"无更多结果"页,别返回和 page1 一样的内容(否则大规模重复内容)。
验收方法:用 GSC 的"网址检查"看渲染 HTML 是否含全部内容。技术审计里"渲染与 JavaScript"一段怎么查,见2026 技术 SEO 审计清单:从爬虫抓取到渲染的 42 个检查项。
来源:https://developers.google.cn/search/docs/advanced/ecommerce/pagination-and-incremental-page-loading
来源:https://developers.google.cn/search/docs/fundamentals/seo-starter-guide
