近期Google的搜索倡导者John Mueller表示,不急于放弃动态渲染,虽然在谷歌的搜索指南中指出动态渲染不是长期解决方案。目前,从动态渲染切换到服务器端渲染没有 SEO 排名奖励。
之所以出现这个问题,是因为最近 Google 帮助文档的更新说:“动态渲染是一种变通方法,而不是长期解决方案。”文档建议改为使用服务器端渲染或静态渲染。
什么是动态渲染?
在某些网站上,在浏览器中执行 JavaScript 时,JavaScript 会在网页上生成其他内容。这称为动态渲染或客户端呈现。
虽然 Google 搜索执行 JavaScript,但 Google 搜索中的 JavaScript 功能存在限制,因此某些网页的内容可能无法在所呈现的 HTML 中显示。
部分搜索引擎可能会选择忽略 JavaScript 而看不到 JavaScript 生成的内容。
对于 JavaScript 生成内容不可供搜索引擎访问的网站,动态呈现是一种临时解决方法。
动态渲染(呈现)服务器会检测 JavaScript 生成内容时可能存在问题的搜索引擎爬虫,并向这些爬虫提供未启用 JavaScript 的服务器呈现版本,同时向用户显示客户端呈现的内容版本。
动态渲染是一种临时解决方法,而非建议的解决方案,因为它会带来额外的复杂性和资源要求。
John Mueller:动态渲染不会导致谷歌出现问题
谷歌帮助文档建议进行转换,但这对于 Web 开发团队来说将是一项重大任务。
就 SEO 而言,值得花时间和精力吗?
这是John Mueller所说的:
“以一种或另一种方式实现它并没有 SEO 排名奖励——它们只是使内容可索引的不同方式(客户端渲染也是如此)。从我的 POV 来看,动态渲染和服务器端渲染之间的区别更多地在于实际的基础设施设置和维护(它也会影响速度,具体取决于您的设置方式)。
不必急于放弃动态渲染,它不会不受支持或导致 Google 出现问题。随着时间的推移,现在的变化是,如果你有一个基于 JS 的网站,有更好的选择(好的 CSR 或 SSR)可用,所以基于用户代理动态地做事通常不是最有效的方法。”
Mueller 说,如果您现在正在实施动态渲染,建议在下次重建网站时使用其它的解决方案。
“如果你现在正在进行动态渲染,当然可以查看选项并为你写下优缺点。我想大多数人都无法说服一个捉襟见肘的工程团队。但是,如果您计划重建站点,请让他们知道他们不需要花费太多时间来动态呈现内容。同时,也知道要注意什么:-)。
这就是知道一些 JS 作为 SEO 的真正意义所在——您不必编写代码,但 JS 是所有现代网站的一部分,您可以自行判断是否存在问题它已实施。如果您现在正在进行动态渲染,那么当然可以查看选项并为您写下优缺点。我想大多数人都无法说服一个捉襟见肘的工程团队。但是,如果您计划重建网站,请让他们知道他们不需要花费太多时间来动态呈现内容。“
John Mueller
虽然 JavaScript 很强大,但考虑到SEO的情况,正如Google宣称的那样很多搜索引擎爬虫无法识别其渲染的内容,所以不建议网页中大量使用。
百度搜索的新版 Baiduspider-render/2.0
可以执行JS程序(仅优质网站才会有该爬虫到访),但百度并未公开更多的信息,是否和Google一样部分功能存在限制等,这些都不得而知。