JavaScript SEO是技术SEO的一部分,其重点是使用JavaScript构建的网站更容易被搜索引擎抓取、呈现和索引。
常见的任务包括:
优化通过JavaScript注入的内容
正确实现延迟加载
遵循内部链接最佳实践
防止、发现和修复JavaScript问题
谷歌的网络爬虫(被称为Googlebot)对页面进行排序,以便抓取和渲染。
它抓取队列中的每个URL。
Googlebot发出请求。然后服务器发送HTML文档。
接下来,Googlebot决定需要哪些资源来呈现页面内容。
这意味着它会抓取HTML。而不是JS或CSS文件,因为渲染JavaScript需要大量的资源。
试想一下,Googlebot需要多大的计算能力来下载、读取和运行近20亿个网站上数万亿页的JS。
因此,Google推迟了JavaScript的呈现。它将任何未执行的内容排在队列中,待资源可用时再处理。
一旦资源允许,无头Chrome(没有用户界面的Chrome浏览器)呈现页面并执行JavaScript。
Googlebot再次处理呈现的HTML中的链接。并将它找到的用于爬行的url排成队列。
在最后一步中,Google使用呈现的HTML为页面建立索引。
服务器端呈现
服务器端呈现(SSR)是指在服务器上呈现JavaScript。然后将呈现的HTML页面提供给客户端(浏览器、Googlebot等)。
例如,当你访问一个网站时,你的浏览器会向保存网站内容的服务器发出请求。
处理请求后,浏览器返回呈现的HTML并将其显示在屏幕上。
SSR倾向于帮助网页的SEO性能,因为:
它可以减少加载页面主要内容所需的时间
它可以减少影响用户体验的布局变化
然而,SSR会增加页面允许用户输入所需的时间。
这就是为什么一些处理大量JS的网站选择对某些页面使用SSR而不是其他页面。
在这样的混合模型下,SSR通常用于对SEO有影响的页面。客户端呈现(CSR)通常是为需要大量用户交互和输入的页面保留的。
但是对于开发人员来说,实现SSR通常是复杂且具有挑战性的。
尽管如此,还是有一些工具可以帮助实现SSR:
用于React框架的Gatsby和Next.JS
用于Angular框架的Angular Universal
Vue.js框架的next .js