JavaScript SEO终极指南-问题与解决方案

Publicados: 2022-07-27

SEO技术人员可能对HTML和CSS都非常熟悉了——这是我们在构建网站中最常用到的2种编程语言。但近些年来,JavaScript逐渐变得流行。大多数网站都会使用某些JavaScript来增加 交互 功能 和 用户 体验 体验 有的 网站 JavaScript 来 菜单 功能 , 有的 使用 它 来 抓取 产品 价格 信息 , 有的 使用 它 从 多 个 渠道 获取 , , 某些 情况 下 下 从 多 多 个 获取 , , 某些 情况 下 下 , 多 多 多 个 个 渠道 , , 某些 情况 下 , 网站 多 全 全 全 全 全 全站使用JavaScript。

据我的研究,美国多达80%的知名电子商务商店使用JavaScript来生成主要内容或类似产品的链接(内链)。然而,许多JavaScript网站——尽管它很受欢迎——在谷歌中表现不佳,因为它们没有正确地进行JavaScript SEO。

作为一名SEO爱好者,我想根据行业最佳实践及我自身的经验分享我对JavaScript SEO的看法。希望帮助SEO从业人员理解Google是如何处理JavaScript的,以及遇到相关问题时如何解决。最重要的是,如何在使用JavaScript的同时确保您的网站排名不受影响。

SEO JavaScript

navegação rápida

  • 一、什么是JavaScript?
  • 二、如何检查网站是否使用JavaScript构建
  • 三、什么是JavaScript SEO?
  • 四、谷歌可以索引JavaScript吗?
      • 1.Google如何抓取HTML网站?
      • 2.Google如何抓取JavaScript网站?
      • 3.向Google展示JavaScript内容的不同方式
  • 五、JavaScript如何影响SEO?
  • 六、JavaScript SEO成功的最佳实践
    • 1.检查Google是否可以在技术上呈现您的网站。
      • 如果Google无法正确呈现您的JavaScript页面怎么办?
    • 2.检查您的内容是否已被Google编入索引
      • 如果Google不索引我的JavaScript内容怎么办?
    • 3. 避免使用 JavaScript 设置重要的元数据
    • 4. 确保 Google 可以发现您的内部链接
    • 5. Como usar JavaScript e CSS
    • 6. 慎用延迟加载或瀑布流
    • 7. 慎用JavaScript重定向
    • 8. 社交媒体不能渲染/处理JavaScript
    • 9. 编写兼容的代码
    • 10. 保持使用常规SEO的最佳策略
  • 结语

一、什么是JavaScript?

JavaScript 是 一 脚本 , 一 门 语言 , 它 在 网页 上 实现 复杂 的 , , 网页 展现 您 的 不 再 是 简单 简单 静态 信息 , , 而 实时 的 的 内容 更新 , 交互式 信息 , , 而 而 实时 实时 的 内容 更新 , 的 静态 信息 , , 而 而 实时,滚动播放的视频等等。

当我们谈论基于JavaScript构建的网站时,我们并不是指简单地向HTML文档添加一层JS交互性(例如,将JS动画添加到静态网页)。在这种情况下,基于JavaScript的网站指的是核心或主要内容是通过JavaScript实现的。

二、如何检查网站是否使用JavaScript构建

那么,您可以通过哪些方式检查网站是否使用JavaScript构建呢?在此,我们介绍三种方法以供参考。

  1. 使用诸如WWJD、BuiltWith或Wappalyzer之类的工具快速检查网站是否构建在JavaScript框架上。
  2. 在浏览器中通过“检查元素”或“查看源代码”来检查JS代码。您可能会发现流行JavaScript桼架,例如React.j.
  3. 在浏览器中使用插件,例如Chrome上的Quick JavaScript Switcher或Firefox上的Java Script Switch。当您使用这些插件时,您当前所在的页面将在禁用JavaScript的情况下重新加载。如果页面上的某些元素消失了,则表示它们是由JavaScript生成的。

三、什么是JavaScript SEO?

JavaScript SEO是Technical SEO的一个分支。它主要关注:

  • 优化由JavaScript构建的内容,以供搜索引擎抓取、呈现和索引。
  • 预防、诊断和解决基于JavaScript框架(如React、Angular和jQuery)构建的网站和SPA(单页应用程序)的排名问题。
  • 通过采用最佳实践确保网页可被搜索引擎发现及解读。
  • 改进页面解析和执行JS代码的页面加载时间,以优化用户体验(UX)。

四、谷歌可以索引JavaScript吗?

Google是否可以正确处理JavaScript内容是SEO人员最关心的问题。我们首先来看看Google对这个问题的回答: “目前,处理JavaScript内容比较困难,并非所有搜索引擎抓取工具都能够成功处理或直接处理此类内容。”

SEO行业内也普遍认同比起HTML,Google处理JavaScript显得有些困难。那么为什么谷歌(和其他搜索引擎)可能在处理JavaScript时遇到困难?为了解答这个问题,我们可能需要对Google处理网页的流程有一个清晰的认知。

1.Google如何抓取HTML网站?

在传统HTML网站,Google爬取网页的过程简单明了:

  1. Googlebot下载HTML文件。
  2. Googlebot从源代码中提取链接,并可以同时访问它们。
  3. Googlebot下载CSS文件。
  4. Googlebot将所有下载的资源发送到Google的Indexer(Caffeine)。
  5. 索引器(Caffeine)索引页面。

2.Google如何抓取JavaScript网站?

  1. Googlebot会下载HTML文件。
  2. Googlebot在源代码中找不到链接,因为它们仅在执行JavaScript后才被注入。
  3. Googlebot会下载CSS和JS文件。
  4. Googlebot必须使用Google Web Rendering Service(Caffeine Indexer的一部分)来解析、编译和执行JavaScript。
  5. WRS从外部API、数据库等获取数据。
  6. 索引器可以索引内容。
  7. Google可以发现新链接并将它们添加到Googlebot的抓取队列中。对于HTML网站,这是第二步。

困难的地方在于渲染和索引JavaScript可能会出现很多问题:

  • 解析、编译和运行JavaScript文件非常耗时——对于用户和Google来说都是如此。
  • 对于JavaScript内容为主的网站,在网站完全呈现之前,Google通常无法索引内容。
  • 渲染 过程 是 唯一 较 慢 的。 它 也 指 发现 链接 的 的。 对于 JavaScript 构建 的 , , Google 通常 在 在 页面 呈现 之前 发现 页面 上 任何 链接 链接。 在 在 页面 之前 发现 页面 上 的 任何 链接
  • Googlebot有时不会从服务器加载所有资源的,因此Google可能不会选择您的某些JavaScript文件。原因可能是它的算法从渲染的角度认为没有必要,或者仅仅是由于性能问题(即执行脚本花费了太长时间)。
Google处理JavaScript内容

3.向Google展示JavaScript内容的不同方式

当我们讨论Google是否可以抓取、渲染和索引JavaScript时,我们需要解决两个非常重要的概念:服务器端渲染(SSR)和客户端渲染(CSR) 每个处理JavaScript的SEOer都必须了解它们。

在 传统 (服务器 端 呈现) 中 , 浏览器 或 Googlebot 会 一 个 个 描述 页面 的 html 文件。 副本 已经 存在 存在。 , 搜索 搜索 对 服务器 呈现 的 javascript 内容, , 搜索 搜索 引擎 对 呈现 的 的javascript内容 没有 任何搜索 搜索 搜索 引擎 对 端 呈现 的

客户端渲染方法有点不同,搜索引擎有时会为此苦苦挣扎。使用这种方法,浏览器或 Googlebot 在初始加载时获得空白 HTML 页面(几乎没有内容副本)是很常见的。随后JavaScript 从服务器异步下载内容副本并更新您的屏幕显示的内容。

当由于某种原因,Google无法抓取或索引您的 JavaScript内容时,其中一种解决方案是实现服务器端呈现。 Netflix、Marvel、Staples、Nike、Hulu、Expedia、Argos 和 Booking.com 等网站都利用了服务器端渲染。

如果 您 发现 Google 设置 正确 处理 您 的 客户 端渲染 , 您 可以 为 Googlebot 提供 预渲染 版本。 这 爬虫 的 一 种 解决 方法 , 被 和 和 和 和 正式 接受 和 支持 支持 它 通常 , 称为 动态 和 和 和 和 正式 正式 和 和 支持。 它 通常 , 称为 和 和 和 和 和 和 和 和 和 正式 正式 接受 和 支持 支持 它 通常 被称为渲染 和

总结: Google是可以索引JavaScript内容的,只是比起HTML可能要困难一些。

五、JavaScript如何影响SEO?

至此,您应该对 Google 和其他搜索引擎如何处理 JavaScript 有一个不错的了解。那么,我们继续来了解JavaScript将妀

综合看,JavaScript会影响以下对SEO重要的页面元素和排名因素:

1 )渲染内容

如果 Google 不 能 地 渲染 您 JavaScript 内容 , 那么 的 内容 很 可能 不 能 被 抓取 、 呈现 索引 , , 您 的 内容 也 就 就 了 搜索 搜索 引擎 中 您 排名 机会 机会 也 就 失去 在 搜索 引擎 中 进行 排名 的 机会。。 就 失去 了 搜索 引擎 中 进行 您 的 机会。

2 )链接

如果某些链接是内部链接,或者当用户单击某个 URL 时 JavaScript 会生成链接,Google 将无法发现此类链接。

3 )延迟加载图像

图像会对页面性能产生巨大影响。为了提高网页加载速度,很多开发人员也会使用JavaScript对图像延迟加载。但是,JavaScript 也会影响延迟加载图像的可抓取性。Googlebot 支持延迟加载,但它不像人类用户那样滚动。因此,“滚动”事件永远不会被触发,延迟加载的内容也不会被爬虫渲染。实际上,任何需要点击、滚动或从菜单中选择选项等页面交互内容都不会被Google编入索引。

4 )页面加载时间

如果 很多 动态 ((例如 加载 加载 图片 、 产品 评论 实时 聊天 聊天 等) ——这会损害 UX 和Core Web Vitals。

5 )元数据

除非 该 站点 像 vue-meta 这样 node.js 包 , 搜索 引擎 引擎 可能 抓取 抓取 相同 内容 , 或者 更 糟糕 的 是 , 每 个 视图 或 页面 都 元 数据 数据 , , 每 个 视图 或 页面 没有 元 数据 数据 , , , 个 视图 或 都 没有 元 数据。

6 )内容重复

JavaScript 在 提供 内容 时 可能 会 导致 和 规范化 问题 这 是 是 因为 脚本 脚本 处理 过 长 , 那么 生成 生成 的 内容 将 不 会 被 看到。 可能 导致 谷歌 只 能 看到 样板 会 会 被 看到 这 可能 导致 谷歌 只 能 看到 样板 会 会 被 被 看到。 可能 导致 谷歌 只 能 样板 样板 会 会 意味 被 被着 它 找到 任何 独特 的 内容 来 页面 进行 排名。 这 对于 内容 动态 更改 而 无需 重新 加载 页面 的 单页 程序 (spa) 是 问题。。。

六、JavaScript SEO成功的最佳实践

1.检查Google是否可以在技术上呈现您的网站。

作为 开发 、 网站 所有者 或 SEO ,您 始终 确保Google可以 技术 技术 上 您 的 JavaScript内容。 仅仅 打开 Chrome 看看 是否 正常 是 够 够 的。。。。。。。。。。。。。。。

相反 , 请 使用 Google 网址 工具 工具 中 实时 测试 , 该 工具 通过 通过 SearchConsole

在检查屏幕截图时,你可以问自己以下问题:

  • 主要内容是否可见?
  • Google可以访问类似文章和产品之类的区域吗?
  • Google可以看到页面的其他关键元素吗?

如果 您 深入 , , 还 可以 查看 的 报告 中 的 html 选项 卡。 这里 , 您 可以 看到 dom- 渲染代码 , 它 渲染 渲染 页面 页面 的 状态。

Inspecionar URL

如果Google无法正确呈现您的JavaScript页面怎么办?

Google可能会以意想不到的方式呈现您的页面。如果您的页面呈现不如预期,可能的原因有:

  • Google在呈现时遇到超时。
  • 渲染时出现一些错误。
  • 您在robots.txt 文件中阻止Googlebot访问.js文件。

通过单击更多信息选项卡,您可以轻松检查在Google尝试呈现您的内容时是否发生任何JavaScript错误。

2.检查您的内容是否已被Google编入索引

确保Google能够正确呈现您的网站是必要的,但是它不能保证您的内容会被编入索引。因此您仍需要检查您的网页是否被Google索引/收录以确保您的网页在用户搜索时可见。

有两种方法可以检查您的JavaScript内容是否真的在Google中被编入索引。

  • 使用“site”命令——最快的方法。
  • 检查谷歌GoogleSearchConsole——最准确的方法。

1).检查页面本身是否在谷歌的索引中

首先,您必须确保URL本身在Google的索引中。为此,你可以在Google中输入"site:URL"

2).检查谷歌是否真的索引了你的JavaScript内容

这 很 容易。 您 只 需 从 的 页面 复制 一 个 JavaScript 的 文本 片段 在 Google 中键入 命令 命令 Site: {yourwebsite} {fragment} ”。 出现 的 的 内容 带有 您 您 {{fragment}”。 出现 的 的 内容 带有 您 您 {{{{则表示您的内容已在Google中编入索引。

检查谷歌是否真的索引了你的JavaScript内容

如果 使用 使用 GooglesearchConsole, 您 只 需 在 url 检查 中 输入 要 检查 url, 然后 点击 查看 抓取 , , 能 看到 看到 在 Google 中编入 索引 的 代码。 , 您 可以 ctrl+f 确定 javScript 生成 内容 内容的关键片段是否在此处。

如果Google不索引我的JavaScript内容怎么办?

Google未收录您的JavaScript内容的原因有很多,在此仅几例常见的:

  • Google遇到超时。您确定没有“强迫”Googlebot和用户等待几秒钟才能看到内容吗?
  • Google有渲染问题。您是否检查过URL检查工具以查看Google是否可以呈现它?
  • Google决定跳过一些资源(即JavaScript文件)。
  • Google认为内容质量低下。
  • Google也可能会延迟索引JavaScript内容。
  • 谷歌根本无法发现这个页面。您确定可以通过站点地图和内部结构访问它吗?

在确保您网站的 JavaScript 对 SEO 友好时,您可以遵循几个步骤来确保您的内容被呈现和索引。

  • 确保 Google 可以抓取您网站的内容
  • 确保 Google 可以呈现您网站的内容
  • 确保 Google 可以索引您网站的内容

3. 避免使用 JavaScript 设置重要的元数据

出于页面排名目的,用户需要为每个页面提供唯一的元数据(标题、元描述等)。

你需要把您的社交标签、元信息和标题放入您的 HTML 代码中,以便所有搜索引擎(不仅仅是 Google)都可以访问您的页面。我们建议不要使用 JavaScript 添加重要的元标记,因为Google可能因为延迟渲染而不能立即看到这些内容,或者由于渲染过程出现错误,完全不能看到这゛分完全不能看到这゛分这゛分

4. 确保 Google 可以发现您的内部链接

内链可帮助 Googlebot 更有效地抓取您的网站。糟糕的内链结构和格式总是对SEO不利的,尤其是对亀 JavaScript

具体 , , google 建议 带有 href 属性 的 html 锚标记 不 是 使用 js 来 构建 内部 链接。您 的 链接 仅 在 有 人 单击 按钮 时 才 到 dom 将 看 不不 到 按钮 按钮 时 才 到 dom , Google看 看 不 不 到 它 它 它 它 按钮

5. Como usar JavaScript e CSS

如前所述,JavaScript 会影响您网站的性能和页面加载时间——这是谷歌的一个关键排名因素。因此,对于大量使用 JavaScript 的网站,您还需要压缩 JavaScript(和 CSS)代码以及将非关键JS 推迟到主要内容在 DOM 中呈现后。

为了 快速 , 你 需要 优先 考虑 用户 需要 内容 , 只 加载 当前 页面 所 的 JavaScript , 并 代码 拆分 延迟 加载 其余 内容。。

6. 慎用延迟加载或瀑布流

网站 速度 Seo 至关。 延迟 加载 是 种 有效 提高 用户 的 的 方法 它 它 可以 加载 非 关键 或 不 可见 的 内容 , 从而 减少 初始 页面 加载。 但 但 使 页面 , 从而 初始 初始 页面 页面 时间。。 但 使 页面 页面 加载 减少 初始 初始 页面 页面 加载。。 但 使 使 页面 加载 减少 初始 初始 初始 页面 页面 加载。。 但 使 使 页面 加载 减少 初始 初始 初始 页面 页面 页面 时间。。 但 使 页面 页面 加载 初始 初始 初始 初始还需要确保搜索引擎爬虫可以访问您的内容。

Googlebot 不 会 点击 、 滚动 、 下拉 等 方式 来 发现 延迟 加载 内容 内容 内容 内容 内容 这 意味 着 Google 可能 不 会 发现 内容 , , 对 seo 产生 负面 影响。

此外,图片搜索也是一种额外的自然流量来源。如果您使用JavaScript延迟加载图像,Google将会忽略它们,而你也会失去一些流量机会。若要确保以方便用户搜索的方式实现延迟加载,请遵循Google的延迟加载指南。

7. 慎用JavaScript重定向

虽然 JavaScript 重定向在特定情况下是一种方便的解决方案,但它们可能会以多种方式影响您的网站可见方式影响您的网站可见方式㽱响您的网站可见

如果 您 是 希望 将 用户 永久 重定 到 页面 的 新 , , 最好 使用 端 端 301 重定 向。 用 JavaScript 方法会 您 您 面临 多 种 风险。

  • 在 索引 中 , 如果 页面 没有 显著 变化 , Google 的 可能 会 决定 不 呈现 JavaScript , 这 意味 着 的 JavaScript 重定 向 不 不 会 被。。
  • 使用JavaScript 重定向可能会减慢Google 对您网站的抓取和索引 -呈现 JavaScript是索引过程中的一个额外步骤。

8. 社交媒体不能渲染/处理JavaScript

一 个 容易 被 的 问题 是: Twitter 、 Facebook和 社交 媒体 并不 能 JavaScript 。 这 意味 着 您 必须 初始 Html 中 包含 Twitter 以及 Facebook Abrir gráfico时,将无法正确显示。

因此,当您拥有一个 JavaScript 网站并关心来自社交媒体的流量时,请检查您的社交分享的样子(是否有图片和自定义描述)。如果出现异常,请尽快将Twitter Cards 以及 Facebook Open Graph 标记添加到HTML中。

9. 编写兼容的代码

浏览器 提供 很多 API , JavaScript 是 种 快速 演变 语言 。GOOGLE 对 所 的 API 和 JavaScript 功能 有 一些 限制。 若 要 确保 您 的 与 与 Google 兼容 , 请 Google 的 的 要 问题 问题 排查 排查 与 兼容 兼容 , , 请 Google 的 的。 问题 问题 问题 指南 指南 指南 指南 兼容 , , 请 遵循 Google 的 的。 问题 问题 问题 指南 指南 指南 , 兼容 , , 请 Google 的 的。 问题 问题 问题 指南 指南 指南 指南 , , , , 请 Google 的 的。 问题 问题 问题 指南 指南 指南 指南 , , , , 请 Google 的 的。 问题 问题 '

10. 保持使用常规SEO的最佳策略

前面9个最佳实践均是针对JavaScript SEO而写,但JavaScript SEO仅是Technical SEO中的一个分支。为最大程度地取得SEO的成功,你仍需在你的JavaScript网站中使用On-Page SEO, Off-Page SEO及Technical SEO中的最佳策略。

结语

JavaScript 使诊断 SEO 问题变得更加困难——您无法保证 Google 会在您网站的每个页面上执行您的 JavaScript 代码。但这并不意味着JavaScript对SEO是不利的。在取得自然流量方面,许多使用 JavaScript 的网站都做得非常好。更重要的是,JavaScript 是现代 Web 的基本元素,就像 HTML 和 CSS 一样。它不会消失,所以你应该面对挑战而不是逃避它。

以下是我给您的关于JavaScript SEO的最终建议:

  • 当开发人员和 SEO 高效地合作时,即使是依赖 JavaScript 的网站也可以在搜索中表现出色.
  • Google 正 在 迅速 其 大 规模 处理 和 JavaScript 的 , 但 仍 有 许多 许多 事项 需要 注意 你 可以 参考 本 指南 的 最 佳 实践 进行 确认。。。。。 参考 指南 的 最 实践 进行 确认。。
  • 在 JavaScript 的 和 和 方面 , 其他 搜索 (和 社交 媒体) 可能 远远 落后于 谷歌 , 因此 如果 您 的 主要 使用 yandex, bing, Naver, Baidu 等 , 应 使用 JavaScript 构建 网站 的 的 的 网站 网站 构建 构建 构建 构建 构建 构建 构建 构建 构建 构建 构建 等
  • 本指南提供了一些关于JavaScript SEO的一般最佳实践和见解。然而,JavaScript SEO是一个复杂而微妙的研究领域。我建议您继续阅读Google的官方文档和故障排除指南,了解更多JavaScript SEO基础知识。