Page 1 of 1

但服务器端渲染是一个经常被误解的概念

Posted: Sat Jan 25, 2025 8:07 am
by rakibhasanbd4723
正如我在介绍中提到的,过度依赖客户端 JavaScript 对 SEO 来说是一个问题。从历史上看,这些问题大多集中在这样一个事实上:虽然搜索爬虫需要唯一的URL 来发现和索引内容,但单页应用程序不需要为应用程序或网站的每个状态更改 URL(因此有“单页”一词)。依赖片段标识符(不作为 HTTP 请求的一部分发送)来动态操作内容而无需重新加载页面是 SEO 的一个主要难题。传统的解决方案包括用所谓的 hashbang(#!)和 _escaped_fragment_ 参数替换哈希,这是一种早已被弃用的黑客技术,我们今天不会探讨它。

得益于HTML5 history API和 pushState 方法 VP 设施经理电子邮件列表 我们现在有了更好的解决方案。可以使用 JavaScript 更改浏览器的 URL 栏,而无需重新加载页面,从而使其与应用程序或网站的状态保持同步,并允许用户有效使用浏览器的“后退”按钮。虽然此解决方案不是灵丹妙药(必须配置您的服务器以通过在正确的初始状态下加载应用程序来响应这些深层 URL 的请求),但它确实为我们提供了解决 SPA 中 URL 问题的工具。

呈现内容
请注意,当我在这里提到渲染时,我指的是构建 HTML的过程。我们关注的是实际内容如何到达浏览器,而不是将像素绘制到屏幕上的过程。

在网络发展的早期,这方面的事情比较简单。服务器通常会返回呈现页面所需的所有 HTML。然而,如今许多使用单页应用框架的网站只从服务器提供最少的 HTML,并将繁重的工作委托给客户端(无论是用户还是机器人)。考虑到网络的规模,这需要大量的时间和计算资源,正如谷歌在 2018 年 I/O 大会上明确表示的那样,这给搜索引擎带来了一个重大问题:

“Google 搜索中基于 JavaScript 的网站的呈现将被推迟,直到 Googlebot 有可用资源来处理该内容。”

在较大的网站上,第二波索引有时会延迟几天。除此之外,您可能会遇到大量问题,例如关键信息(如规范标签和元数据)完全丢失。我强烈建议您观看Google 关于此主题的精彩演讲视频,以了解现代搜索爬虫面临的一些挑战。

Google 是极少数完全渲染 JavaScript 的搜索引擎之一。更重要的是,它使用一种直到最近才基于 Chrome 41 (2015 年发布)的Web 渲染服务来实现这一点。显然,这不仅仅影响单页应用程序,而且JavaScript SEO 这一更广泛的主题目前是一个令人着迷的领域。Rachel Costello最近发表的关于 JavaScript SEO 的白皮书是我读过的关于该主题的最佳资源,它还包括其他专家的贡献,例如 Bartosz Góralewicz、Alexis Sanders、Addy Osmani 等。