前后端分离SEO优化,前后端分离SEO优化方案

seo 本质是一个服务器向另一个服务器发起请求,解析请求内容。但一般来说搜索引擎是不回去执行请求到的js的。也就是说,如果一个单页应用,html在服务器端还没有渲染部分数据数据,在浏览器才渲染出数据,而搜索引擎请求到的html是没有渲染数据的。 这样就很不利于内容被搜索引擎搜索到。 所以服务端渲染就是尽量在服务器发送到浏览器前 页面上就是有数据的。

第二个问题,一般的数据逻辑操作是放在后端的。排序这个如果仅仅是几条数据,前后端排序开起来是一样的,如果是有1000条数据,前端要排序就要都请求过来。这样显然是不合理的。

前后端分离SEO优化方案

分离的痛点是分离后,接口提供不及时,文档不完善,模拟数据不方便等。说一下我们的解决办法:

1)webpack设置proxy,这个通过webpack文档或GOOGLE一下可以解决。

2)第二步就是需要在后端提供接口及数据和接口文档,而因为前后端很可能是并行开发的,所以在真实接口出来之前需要前端模拟接口及数据,及数据文档然后在真实接口出来后,切换到真实接口调试,我们之前也遇到过此问题,所以抽时间自己做了个mocksever 系统,功能包括:

支持可视化编辑JSON接口数据及接口文档

支持GET、POST、PUT、DELETE请求类型

支持指定返回状态码,默认200

支持延时返回数据

支持mockjs

支持单个接口代理到真实服务器(开发过程中某个接口使用模拟数据,当此接口已开发完成后,可将指定接口,通过此服务指向到真实接口上)

SPA前后端分离SEO优化

服务端渲染 :DOM树在服务端生成,然后返回给前端。 客户端渲染 (SSR):前端去后端取数据生成DOM树。 服务端渲染的优点 : 1、尽量不占用前端的资源,前端这块耗时少,速度快。 2、有利于SEO优化,因为在后端有完整的html页面,所以爬虫更容易爬取信息。 服务端渲染的缺点 : 1、不利于前后端分离,开发的效率降低了。 2、对html的解析,对前端来说加快了速度,但是加大了服务器的压力。 客户端渲染的优点 : 1、前后端分离,开发效率高。 2、用户体验更好,我们将网站做成SPA(单页面应用)或者部分内容做成SPA,当用户点击时,不会形成频繁的跳转。 客户端渲染的缺点 : 1、前端响应速度慢,特别是首屏,这样用户是受不了的。 2、不利于SEO优化,因为爬虫不认识SPA,所以它只是记录了一个页面。 服务端和客户端渲染的区别 : 1、二者本质的区别:是谁来完成了html的完整拼接,服务端渲染是在服务端生成DOM树,客户端渲染是在客户端生成DOM树。 2、响应速度:服务端渲染会加快页面的响应速度,客户端渲染页面的响应速度慢。 3、SEO优化:服务端渲染因为是多个页面,更有利于爬虫爬取信息,客户端渲染不利于SEO优化。 4、开发效率:服务端渲染逻辑分离的不好,不利于前后端分离,开发效率低,客户端渲染是采用前后端分离的方式开发,效率更高,也是大部分业务采取的渲染方式。 直观的区分服务端渲染和客户端渲染: 源码里如果能找到前端页面中的内容文字,那就是在服务端构建的DOM,就是服务端渲染,反之是客户端渲染。 应该使用服务端渲染还是客户端渲染: 我们要根据业务场景去选择渲染的方式。 如果是企业级网站,主要功能是页面展示,它没有复杂的交互,并且需要良好的SEO,那我们应该使用服务端渲染。 如果是后台管理页面,交互性很强,它不需要考虑到SEO,那我们应该使用客户端渲染。 具体使用哪种渲染方式也不是绝对的,现在很多网站使用 服务端渲染和客户端渲染结合 的方式:首屏使用服务端渲染,其他页面使用客户端渲染。这样可以保证首屏的加载速度,也完成了前后端分离。