
Google 的 Martin Splitt 再次提醒 SEO 和网站所有者 Googlebot 不会滚动页面。
在页面上实现无限滚动时,可能会导致内容在 Google 搜索中的索引方式出现问题。
Splitt 在虚拟会议上提出的其中一个问题是,由于无限滚动,网站的内容在 Google 搜索索引中丢失了。
这里有关于这个问题的更多信息,为什么无限滚动会阻止内容被编入索引,以及 Google 推荐的做法。
Google 的 Martin Splitt 在虚拟会议上调试 JavaScript SEO 问题
Splitt 是 4 月 14 日举行的名为“Better Together”的技术 SEO 虚拟会议的几位发言人之一。
作为虚拟活动,Splitt 可以共享他的屏幕并实时向人们展示他如何调试 SEO 问题。
他看的每一个问题都是基于他过去调试过的真实案例。
其中一个问题涉及 Google 索引中缺少的内容。
Splitt 带领人们进行了一系列测试,最终让他发现该网站正在利用无限滚动。
Splitt 发现网站正在实现无限滚动
这是为什么索引有问题。
为什么无限滚动是个问题
Splitt 提供了一个依赖无限滚动(也称为“延迟加载”)的新闻站点的示例加载新内容。
这意味着在访问者滚动到屏幕底部之前,网页(在本例中为主页)不会加载其他内容。
Splitt 解释了为什么这是一个问题:“Googlebot 没有做什么?它不会滚动。”
Googlebot 的工作是登陆页面并抓取立即可见的内容。
根据 Splitt 的说法,只有在您滚动页面后,Googlebot 才能抓取加载的内容页面。
值得注意的是,此声明与 Splitt 上个月的产品明显不同,后者没有明确说明 Googlebot 是否可以看到其他内容。
请参阅:Google 的 Martin Splitt Indexes Pages Using无限滚动
Googlebot 无法滚动会导致大量内容从 Google 的搜索索引中丢失。
这是网站所有者应该考虑做的事情。
无限滚动的替代方案
Splitt 说网站所有者应该改变他们的实现,而不是仅仅依赖滚动。
他提到图像的原生延迟加载很好,并且使用 IntersectionObserver API也是可以接受的。
如果您绝对必须延迟加载关键的 Web 内容,请确保您的 JavaScript 库支持将数据加载为它进入视口。
您可以采用的另一条路线是使用带无限滚动的分页加载。
谷歌官方文档在修复懒加载的内容时,建议支持分页加载实现无限滚动:
《如果要实现无限滚动体验,一定要支持分页加载。
分页加载对用户很重要,因为分页加载允许他们分享和重新参与您的内容。
它还允许 Google 显示指向您内容中特定点的链接而不是无限滚动页面顶部的链接。”
为确保您的网站完全支持分页加载,您必须能够提供指向用户可以共享的每个部分的链接,并且直接加载唯一链接。
测试您的实现
无论您选择哪种方法,斯普利特都强调测试您的实现的重要性。

如果网站所有者测试了无限滚动的实现,可能要由网站所有者通过 Splitt 调试来发现问题。
Splitt 实际上使用 Google 的丰富结果测试自己发现了问题。
富媒体搜索结果测试可让您准确了解 Googlebot 在访问 URL 时能够抓取的内容。
Splitt 使用丰富的结果测试来检查延迟加载实现。
获取新闻以 Splitt 访问过的网站为例,当 Googlebot 在主页上看到的文章明显多于 10 篇时,它只看到了 10 篇。
这是测试延迟加载实现的一种方法。
< p>Google 官方帮助文档中介绍的另一种方法是使用 Puppeteer 脚本:
这里有一些额外的资源:
- SEO 友好分页:完整的最佳实践指南 li>
- 诊断技术 SEO 问题的五步指南
- 如何进行深入的技术 SEO 审核
查看 Martin Splitt 在中的完整演示下面的视频:
来自 31:34 标记:
“我们看到有一个 window.onoverscroll。什么是窗口。过度滚动?
Window.onoverscroll 是一个函数,它允许我们在页面滚动时调用这段代码并运行这段 JavaScript。
Googlebot 不做什么?它不会滚动。
这就是为什么在涉及 Googlebot 时实际上不会调用此函数的原因,因为我们没有在页面上滚动任何内容。
所以这里简单的部分是他们需要修复并实际更改他们的实现,而不仅仅是使用滚动。
他们可以使用图像的本地延迟加载等功能。
或者,如果他们想将其用于无限滚动,一些库性能更好,而其他库则使用 IntersectionObserver。
这两种方法都很有价值。
这里要学习的最重要的一课是测试您的实施。
如果你实现了一个功能,他们可以做同样的事情,因为他们明白他们正在看什么,并且可以看到他们缺少的是他们正在做的事情,在我们的文档中,我们说我们不滚动,所以他们需要更改代码。 “





