首页 » 以较小的负载提供

以较小的负载提供

Javascript SEO 提高页面速度
JavaScript 还会影响页面加载时间,这是 Google 移动优先索引中的官方排名因素。这意味着缓慢的页面可能会损害搜索排名。我们如何帮助开发人员缓解这种情况?

缩小 JavaScript
将非关键 JS 推迟到主要内容在 DOM 中渲染之后
内联关键 JS

潜在的搜索引擎优化问题:

缓慢的网站会给每个人(甚至搜索引擎)带来糟糕的用户体验。 Google 本身会推迟加载 JavaScript 以节省资源, 以较小的负载提供  因此确保向客户提供的任何服务都经过有效编码和交付以帮助维护排名非常重要。

用于元数据的 JavaScript SEO

另外,需要注意的是,使用react-router或vue-router等路由器包的SPA必须采取一些额外的步骤来处理诸如在路由器视图之间导航时更改元标记之类的事情。这通常使用 Node.js 包(例如 vue-meta 或 react-meta-tags)来处理。

什么是路由器视图?

以下是如何在 React 中链接到单页面应用程序中的不同“页面”,分五个步骤:

当用户访问 React 网站时,会向服务器发送 GET 请求以获取 ./index.html 文件。
然后,服务器将 index.html 页面发 购买电话营销数据 送到客户端,其中包含启动 React 和 React Router 的脚本。
然后将 Web 应用程序加载到客户端。
如果用户单击链接进入新页面 (/example),则会向服务器发送新 URL 的请求。
React Router 在请求到达服务器之前拦截请求并处理页面本身的更改。这是通过本地更新渲染的 React 组件并更改客户端 URL 来完成的。

换句话说当用户或机器人

点击 React 网站上的 URL 链接时,他们不 选择外包供应商时要考虑的五个因素 会获得多个静态 HTML 文件。相反,根 ./index.html 文件上托管的 React 组件(如页眉、页脚和正文内容)只是被重新组织以显示不同的内容。这就是为什么它们被称为单页应用程序!

潜在的 SEO 问题:

因此,使用像 React Helmet 这样的包来 购买电子邮件列表 确保用户在浏览 SPA 时获得每个页面或“视图”的唯一元数据非常重要。否则,搜索引擎可能会为每个页面抓取相同的元数据,或者更糟糕的是,根本不会!

从更大的角度来看,这一切对 SEO 有何影响?接下来,我们需要了解 Google 是如何处理 JavaScript 的。

Google 如何处理 JavaScript?
为了了解 JavaScript 如何影响 SEO,我们需要了解 GoogleBot 抓取网页时到底发生了什么:

爬行
使成为

首先Googlebot 逐页抓

取其队列中的网址。爬网程序通常使用移动用户代理向服务器发出 GET 请求,然后服务器发送 HTML 文档。

然后,Google 决定渲染页面主要内容所需的资源。通常,这意味着仅抓取静态 HTML,而不抓取任何链接的 CSS 或 JS 文件。为什么?

据 Google Webmasters 称,Googlebot 已发现大约 130 万亿个网页。大规模渲染 JavaScript 的成本可能很高。批量下载、解析和执行 JavaScript 所需的计算能力是巨大的。

这就是为什么 Google 可能会推迟渲染 JavaScript 的原因。当计算资源可用时,任何未执行的资源都会排队等待 Google Web 渲染服务 (WRS) 处理。

最后,Google 会在执行 JavaScript 后对所有呈现的 HTML 进行索引。

Google 抓取、渲染和索引过程。
换句话说,Google 分两波抓取和索引内容:

第一波索引,或者即时抓取网络服务器发送的静态HTML
第二波索引,或延迟抓取通过 JavaScript 呈现的任何附加内容

谷歌波浪索资料来源:Google I/O’18

最重要的是,依赖 JS 渲染的内容可能会在 Google 抓取和索引过程中遇到延迟。过去这需要几天甚至几周的时间。例如,Googlebot 历史上运行在过时的 Chrome 41 渲染引擎上。然而,近年来他们显着改进了网络爬虫。

Googlebot 最近于 2019 年 5 月升级到了 Chromium 无头浏览器的最新稳定版本。这意味着他们的网络爬虫现在是“常青树”,并且与 ECMAScript 6 (ES6) 及更高版本或最新版本的 JavaScript 完全兼容。

那么,如果 Googlebot 现在在技术上可以运行 JavaScript,为什么我们仍然担心索引问题呢?

简短的答案是抓取预算。这个概念是,由于计算资源有限,谷歌对抓取给定网站的频率有速率限制。我们已经知道,Google 推迟 JavaScript 稍后执行以节省抓取预算。

虽然抓取和渲染之间的延

迟已经减少,但不能保证 Google 会实际执行在其 Web 渲染服务队列中排队等待的 JavaScript 代码。

以下是 Google 可能实际上从未运行您的 JavaScript 代码的一些原因:

滚动至顶部