SEO 是什么?
SEO 的官方翻译是“搜索引擎优化”。也就是通过某些特定规则来优化网站代码,从而使网站能更加容易的被搜索引擎抓取到,提高搜索结果的排名。
SPA 是什么?
SPA 简单来说就是一种网络应用程序模型,SPA的存在使网站加载的时候,避免了重复数据的请求和交换,只是重写了与用户交互的页面部分,提高了响应速度和网站使用的体验感,提升了网站性能,一定程度上减少了后端服务器的压力。SPA 的框架类似 Vue、AngularJs、react。SPA是前后端分离中前端的一种解决方案。
SSR 是什么?
SSR 的官方翻译是“服务器端渲染”。在普通的SPA中,一般是将框架及网站页面代码发送到浏览器,然后在浏览器中生成和操作DOM(这里也是第一次访问SPA网站在同等带宽及网络延迟下比传统的在后端生成HTML发送到浏览器要更慢的主要原因),但其实也可以将SPA应用打包到服务器上,在服务器上渲染出HTML,发送到浏览器,这样的HTML页面还不具备交互能力,所以还需要与SPA框架配合,在浏览器上“混合”成可交互的应用程序。所以,只要能合理地运用SSR技术,不仅能一定程度上解决首屏慢的问题,还能获得更好的SEO。
SPA与SEO的冲突:
简单来说,SPA 的使用是不利于 SEO 的,因为就目前而言,部分搜索引擎如Google、bing等,它们的爬虫虽然已经支持执行JS甚至是通过AJAX获取数据了,但是对于异步数据的支持也还不足。所以,SSR 就是解决这个冲突的最好办法。