SPA应用如何实现SEO功能

之前有介绍过什么SPA,针对SPA的缺点中SEO实现复杂, 这篇文章来讲述下如何给SPA做SEC.

如何给SPA做SEO

SSR服务端渲染

将组件或页面通过服务器生成html,再返回给浏览器,如nuxtJS、nextJS。本博客就是采用的nextjs来做的渲染

优点:首屏加载快(因为服务器返回的网页已经包含数据, 所以之下载完JS/CSS就可以直接渲染)。每次请求返回的都是一个独立完成的网页, 更利于SEO。

缺点: 就是服务器压力会比较大,对网络要求比较大,

静态化

目前主流的静态化主要有两种:

  • 一种是通过程序将动态页面抓取并保存为静态页面,这样的页面的实际存在于服务器的硬盘中
  • 另外一种是通过WEB服务器的 URL Rewrite的方式,它的原理是通过web服务器内部模块按一定规则将外部的URL请求转化为内部的文件地址,一句话来说就是把外部请求的静态地址转化为实际的动态页面地址,而静态页面实际是不存在的。这两种方法都达到了实现URL静态化的效果.

使用Phantomjs针对爬虫处理

原理是通过Nginx配置,判断访问来源是否为爬虫,如果是则搜索引擎的爬虫请求会转发到一个node server,再通过PhantomJS来解析完整的HTML,返回给爬虫。下面是大致流程图

image.png