Seo首页白屏优化(seo搜索引擎优化实战)

   百度SEO    

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

大家好!我是/小郑搞码事/的小郑

今天和大家一起聊一下客户端渲染和服务端渲染方式的选择问题。

页面渲染方式就分两种:客户端渲染和服务端渲染,它们各有优缺点,下面我详细讲一讲。

在讲如何实现之前,先搞清楚什么是客户端渲染和服务端渲染,及它们各自的优缺点。这样才能更好的理解选择的意义。

今天不从具体技术实现过程来讲两种方式的区别(这个在后面讲实现时就会一目了然),现只从表象层来看如何认识和区分两种渲染方式。

1. 服务端渲染

后端先调用数据库(数据接口),获得数据后,将数据和页面元素进行拼装,组合成完整的html页面,再直接返回给浏览器,给用户浏览。

也就是说,从获取数据,和使用数据拼成一个HTML完整结构页面这个过程都是在服务器端完成的。浏览器拿到的是一个完整的页面结构,浏览器收到请求返回的第一时间就可以开始渲染界面。

那么如何来区分一个页面是否是服务端渲染呢?

在页面上,点右键,查看源代码,如果代码body元素里大部分内容都是有的,那基本上就是服务端渲染,如果为空和或者很少就是客户端渲染。如下图所示:

2. 客户端渲染

服务器给客户端返回的是一个空的HTML页面,也就是说body元素里的内容很少或者为空,所以内容都需要等到JS在浏览器端加载完成之后,再通过JS去拉接口数据拼成能够供浏览器渲染的完整结构。

区分方式一样。

上面说了,页面渲染方式就两种,选择上其实没有标准答案,主要看你的具体使用场景。

从技术上来看,服务器端渲染需要消耗更多的服务器端资源,如CPU/内存等。这也很好理解,因为首屏的数据获取和结构的拼装过程都是在服务器端完成的。自然需要消耗资源。

然而,服务器端渲染给我们带来的好处是,对SEO比较友好(因为搜索引擎不能直接运行JS,只能对得到的HTML进行动态的分析)。再有就是页面的首屏速度比较快且无白屏帧的出现,用户体验比较好,在执行JS比较慢的老机型上优化更明显,当然,速度这一点如果不谈技术实现,和网速也有着直接的影响。

客户端渲染,所有页面数据请求和HTML结构拼装都是在浏览器端完成,客户端渲染方式有个好处是可以将静态资源部署到cdn上,因为数据请求分散在各自客户端,没有集中在服务器上处理,所以可以实现高并发。缺点就是可能首屏速度不是很快,当然,速度上网络好的时候也无所谓,其次对SEO不是很友好。

总结一下:

为了综合考虑页面在各种机型上的访问体验,减少白屏帧的出现,优化SEO,现在业界前端都比较流行使用服务端进行渲染页面,其方式无外呼使用node做中间层,使用框架做同构直出,如react和vue等,当然,也有一些现成支持服务端渲染的框架,如next.js,nuxt.js等。实现上还是比较简单,重点是需要考虑的技术环节更多更重要,后续详述。

 标签:

评论留言

我要留言

欢迎参与讨论,请在这里发表您的看法、交流您的观点。