搜索引擎可以索引JavaScript吗?
JavaScript 为用户提供了直观、动态和交互式的在线体验。抓取传统的 HTML 页面时,一切都很简单,过程很快。Googlebot 下载 HTML 文件并提取源代码中的链接后,可以同时访问。下载 CSS 文件后,页面由 Google 的索引器进行索引,索引器也会接收所有下载的资源。
当抓取主要使用 JavaScript 的网站时,事情就变得具有挑战性了。Googlebot 下载 HTML 文件。
Googlebot 无法看到源代码中的链接,因为这些链接只有在 JavaScript 运行后才会插入。
接下来,下载 CSS 和 JS 文件。Googlebot 必须使用 Google 网页渲染服务来解析、构建和运行 JavaScript。
WRS 从数据库或其他 API 获取数据。
索引器可以索引内容。然后,Googlebot 可以将其找到的新链接添加到其队列中,以便进一步抓取。
这就是网页渲染。将 HTML、CSS 和 JavaScript 代码转换为点击链接时访问者期望看到的交互式网页的过程称为网页渲染。网站的每个页面都是以用户为中心创建的。
渲染SEO
对于用户和 Google 来说,解析、构建和执行 JavaScript 文件都需要大量时间。Google 通常无法索引包含大量 JavaScript 的页面的内容,除非网站已完全生成。
并非所有速度较慢的都是渲染过程。它还描述了查找新链接的方法。在页面生成之前,Google 经常难以在 JavaScript 富含的网站页面上查找链接。JavaScript 是一种必须构建才能使用的计算机语言;任何与特定 JavaScript 版本不兼容的语法都会导致构建失败。
最新的 Chrome 版本是 Googlebot 的基础。这意味着 Googlebot 使用最新版本的浏览器来渲染网站。Googlebot 浏览网站的方式与用户使用浏览器的方式相同。但是,Googlebot 不是普通的 Chrome 浏览器。Googlebot 会拒绝用户的授权请求(即,Googlebot 会拒绝视频自动播放请求)。在页面加载之间,会删除 Cookie、本地存储和会话存储。如果您的内容依赖于 Cookie 或其他本地保存的信息,Google 将不会索引您的内容。Googlebot 可能会决定不下载所有资源,但浏览器始终会下载。
Google 认为使用 JS 进行的规范标签更改不可靠。因此,请确保您的规范 URL 位于 HTML 中,而不是 JS 中。虽然 Google 可能已经解决了这个问题,但在确定之前,不应冒险进行 SEO。
索引JavaScript
Google 对 JavaScript 有相当的了解。但是,JavaScript 比普通的 HTML 需要更多工作,因为爬虫试图理解和排名全球数十亿个网站。因此,它有时可能会受到影响。
Google 声称 Googlebot 使用 JavaScript 爬取网站分两个阶段进行。爬虫会在其初始扫描期间检查 HTML,并使用它来索引网站。他们会在稍后时间返回以显示必要的 JavaScript。但是,使用服务器端渲染制作的网站上会显示带有 HTML 标记的内容。Googlebot 不需要再次访问该网站来渲染页面上的 JavaScript 以正确索引内容,因为主要内容已经可见。这可以极大地改进 JavaScript SEO 方法。
由于网站第一次和第二次运行之间的时差,JavaScript 中包含的内容不会被快速索引。因此,在确定初始排名时不会考虑该内容,并且 Google 注意到更改并更新其结果可能需要一些时间。
因此,使用 JavaScript SEO 的企业应确保在其网站的 HTML 中包含尽可能多的重要内容。如果他们希望内容计入其排名,他们应该编写爬虫可以立即理解的重要信息。
在 Googlebot 对您的网站进行第二次访问之前,不会渲染 JavaScript。因此,有些网站会犯这样的错误:在 Google 初次扫描网站期间加载的 HTML 中添加标记,例如“noindex”标签。此标签可能会阻止 Googlebot 再次访问该网站来执行 JavaScript,这随后会阻止该网站被正确索引。
结论
随着企业使用 JavaScript 来标记其页面并使其网站对访问者更具吸引力,它仍然是互联网的一个重要组成部分。但是对于许多人来说,了解 Googlebot 和其他爬虫如何解释 JavaScript 以及它如何与 JavaScript SEO 交互仍然很重要。现在,爬虫和搜索引擎可以像处理基于 HTML 的网站一样解析、渲染和索引基于 JavaScript 的网站。但是,开发人员有责任使其网站易于访问和可抓取,并了解现代 JavaScript 网站的 SEO 如何运作。