问题一.Vue项目进行SEO优化
答:1.ssr 服务器渲染,在服务器html页面节点,已经解析创建完了,浏览器直接拿到的是解析完成的页面结构,关于服务器渲染的优点,更好的SEO,由于搜索引擎爬虫抓取工具可以直接看到完全渲染的页面,缺点:服务器nodejs环境的要求,且对代码的改造成本高 nuxt.js
2.静态化 (博客,介绍性的官网 首页,关于我们,联系我们,工艺介绍) Nuxt.js 可以进行generate 静态化打包,优势:编译打包时,就会帮你处理纯静态文件,访问速度超快,对比ssr,不涉及到服务器负载方面问题,静态页面不宜遭到黑客攻击,安全性更高,缺点:动态路由会被忽略。/users/:id,如果动态路由参数多不适合用
3.预渲染 prerender-spa-plugin(插件) 如果你只是对少数页面需要做SEO(例如:首页,about关于等页面,预渲染时一个非常好的方式,预渲染会在构建时,简单的针对特定路由,生成静态HTML文件(打包时可以帮你解析静态化)优势,设置预渲染简单,对代码的改动小,缺点:只适合于做少数页面进行SEO的情况,如果页面有几百上千,就不推荐了(会打包很慢)
4.使用 Phantomjs(插件) 针对爬虫处理 时一个基于webkit内核的无头浏览器,没有UI界面,就是一个浏览器,其内的点击,翻页等人为相关操作需要程设计实现,这种解决方案,就是一种旁路机制,原理就时通过Nginx配置,判断访问的来源UA是否是爬虫访问,如果是则将搜索引擎爬虫请求转发到一个node.server,通过过PhantomJs来解析完整的HTML,返回给爬虫,优势:完成不用改动代码,按原本的SPA开发即可,对比开发SSR成本小太多了,对已经用SPA开发完的项目,这是不二之选,不足,部署需要node服务器支持,爬虫访问比网页访问要慢一些,因为定时要定时资源加载完才返回给爬虫(不影响用户的访问),如果是被恶意模拟百度爬虫大量循环爬取,会造成服务器负载方面问题,解决方法是判断访问的IP,是否是百度官方爬虫的IP
小结:如果构建大型网站,如商城类===》ssr服务器渲染
如果是正常公司官网等==》预渲染/静态化/Phantomjs都比较方便