单页面服务器渲染
问题
单页面应用有很多优势,比如前后端分离开发、提高页面初始化速度、无刷新数据加载等等,但是也有些避免不了的弊端,比如SEO就是一个很严重的弊端。
SEO即搜索引擎优化,这决定了在搜索引擎进行关键字搜索时网站的排名,通常关键字和网站内容匹配度高、网站访问量高的网站排名会靠前,而排名靠前又会获得更多的点击量,这是一个良性循环。
大家都知道搜索引擎是使用爬虫来抓取网页内容和链接的,即先把网页完整的DOM加载完成,然后从DOM中提取网页的内容。这在传统的服务器渲染的网页中是没有问题的,然而在单页面应用中,网页内容都是动态加载的,甚至网页的title也是动态生成的,所以SEO抓取到的网页,通常是不包含数据的,内容抓取不到对网站的SEO是致命的。这就是单页面应用的SEO问题。
解决思路
单页面SEO问题解决,通常是通过服务器渲染的技术来实现。服务器渲染即在服务器端先进行完整页面的渲染,然后再传给爬虫(或浏览器),这样就解决了单页面抓取没有内容的问题,也就解决了SEO问题。 服务器渲染有很多实现的方案,有的团队甚至为了SEO专门开发一套代码(当然这样对产品的开发和维护成本增加太多)。
研究任务
研究当下流行的服务器渲染方案(对Angular单页面项目有效的方案)
尽量多地加入自己的思考,整理出跟产品耦合度最低的方案
展示方案的实际使用
其他
这是一项非常实用的技术,SEO问题是所有的单页面应用都会面临的问题,而且也是我们现在急需解决的问题,问题解决后我们要尽快用在部门的项目上。
由于任务难度比较大,这次的研究时间暂定为一个半月,待大家都回北京时分享下研究成果。
Last updated