Vue 项目进行 SEO 优化

SSR 服务器渲染
服务端渲染, 在服务端 html 页面节点, 已经解析创建完了, 浏览器直接拿到的是解析完成的页面解构

关于服务器渲染:Vue 官网介绍 ,对 Vue 版本有要求,对服务器也有一定要求,需要支持 nodejs 环境。

优势: 更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面

缺点: 服务器 nodejs 环境的要求, 且对原代码的改造成本高! nuxt.js (坑比较多, 做好踩坑的准备)

静态化
Nuxt.js 可以进行 generate 静态化打包, 缺点: 动态路由会被忽略。 /users/:id

优势:

编译打包时, 就会帮你处理, 纯静态文件,访问速度超快;
对比 SSR,不涉及到服务器负载方面问题;
静态网页不宜遭到黑客攻击,安全性更高。
不足:

如果动态路由参数多的话不适用。

预渲染 prerender-spa-plugin (插件)
如果你只是对少数页面需要做 SEO 处理(例如 / 首页, /about 关于等页面)

预渲染是一个非常好的方式, 预渲染会在构建时, 简单的针对特定路由, 生成静态 HTML 文件 (打包时可以帮你解析静态化)

优势: 设置预渲染简单, 对代码的改动小

缺点: 只适合于做少数页面进行 SEO 的情况, 如果页面几百上千, 就不推荐了 (会打包很慢)

使用 Phantomjs(针对爬虫)做处理
Phantomjs 是一个基于 webkit 内核的无头浏览器,没有 UI 界面,就是一个浏览器,

其内的点击、翻页等人为相关操作需要程序设计实现。

这种解决方案其实是一种旁路机制,原理就是通过 Nginx 配置, 判断访问的来源 UA 是否是爬虫访问,

如果是则将搜索引擎的爬虫请求转发到一个 node server,再通过 PhantomJS 来解析完整的 HTML,返回给爬虫
在这里插入图片描述
优势:

完全不用改动项目代码,按原本的 SPA 开发即可,对比开发 SSR 成本小太多了;
对已用 SPA 开发完成的项目,这是不二之选。
不足:

部署需要 node 服务器支持;

爬虫访问比网页访问要慢一些,因为定时要定时资源加载完成才返回给爬虫;(不影响用户的访问)

如果被恶意模拟百度爬虫大量循环爬取,会造成服务器负载方面问题,

解决方法是判断访问的 IP,是否是百度官方爬虫的 IP。

小结

如果构建大型网站,如商城类 => SSR 服务器渲染

如果只是正常公司官网, 博客网站等 => 预渲染/静态化/Phantomjs 都比较方便

如果是已用 SPA 开发完成的项目进行 SEO 优化,而且部署环境支持 node 服务器,使用 Phantomjs

Vue项目可以进行以下几方面的优化: 1. 代码优化:合理使用Vue的特性和语法糖,避免冗余代码和重复计算,减少不必要的渲染,提高性能。同时,可以使用Vue提供的异步组件和路由懒加载功能,减少首屏加载时间。 2. 图片优化:对图片进行压缩和懒加载,减小页面加载大小和提高加载速度。可以使用工具如`imagemin`来压缩图片,并使用Vue插件如`vue-lazyload`实现图片的懒加载。 3. 异步请求优化:合理利用缓存和分页加载,减少网络请求次数和数据传输量。可以使用浏览器缓存技术如`localStorage`和`sessionStorage`来缓存数据,以及使用分页加载技术来分批请求数据。 4. 组件优化:对于频繁使用的组件,可以进行性能优化。比如,在组件中使用`v-show`代替`v-if`,避免频繁地销毁和创建组件;使用虚拟列表技术来优化大量数据的展示;使用`slot`插槽来减少不必要的组件嵌套等。 5. 代码分割:对于大型项目,可以将代码拆分成多个小模块,按需加载,减少首屏加载时间。可以使用Webpack提供的代码分割功能或者使用动态导入语法来实现。 6. 优化打包体积:可以通过Webpack的配置来进行优化,如使用压缩工具如`UglifyJS`来压缩JS代码,使用`MiniCssExtractPlugin`来提取CSS,使用`gzip`压缩文件等。 7. 服务端渲染(SSR):对于需要SEO和更好的首屏加载体验的项目,可以考虑使用Vue的服务端渲染技术来提高性能。 总之,Vue项目优化需要综合考虑各个方面的因素,包括代码、图片、请求、组件、打包等,根据具体项目需求来选择相应的优化策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值