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