Vue SEO解决方案


SEO是什么

在这里插入图片描述

seo是一种网站优化技术,也被叫做搜索引擎优化,可以利用搜索规则提高网站上有关搜索的自然排名,主要表现为微博热搜控榜等。通过seo技术,可以实现一系列的商业行为,对产品品牌进行宣传收益。

  • 简单来说:它是 搜索引擎优化

SEO目的

在这里插入图片描述

  • 达成广告点击
  • 销售产品/服务
  • 提升品牌建设

Vue中seo的解决方案

方案一:prerender-spa-plugin

这里用的是 vue-cli 4.5 + Vue2

使用 vue ui 进入图形界面,搜索并安装插件 vue-cli-plugin-prerender-spa

插件的作用

  1. 安装 prerender-spa-plugin,并记录到 package.json 的 devDependencies
  2. 修改 src/main.js 添加 mounted: () => document.dispatchEvent(new Event(“x-app-rendered”))
  3. 自动配置 vue.config.js

在这里插入图片描述

  • package.json

在这里插入图片描述

  • src/main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App),
  mounted: () => document.dispatchEvent(new Event("x-app-rendered")),
}).$mount('#app')

  • vue.config.js
module.exports = {
  lintOnSave: false,

  pluginOptions: {
    prerenderSpa: {
      registry: undefined,
      renderRoutes: [ // 需要预渲染的路由地址
        '/','/about'
      ],
      useRenderEvent: true, // 在 mounted 时,传递渲染事件通知 prerender
      headless: true, // 无界面浏览器
      onlyProduction: true // 仅在生产模式才进行spa处理
    }
  }
}
  • 至于 src/router/index.js 不用做任何改动,也不用把 mode 设置为 history
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
  }
]

const router = new VueRouter({
  routes
})

export default router

编译报错 Chromium revision is not downloaded

仅仅做了上述配置后,执行 npm run build 还是会报错 Chromium revision is not
downloaded,这是因为 prerender-spa-plugin 这个插件依赖于爬虫来抽取页面,而 puppeteer
正是这个用来实现爬虫的无界浏览器

在这里插入图片描述

Puppeteer 是一个控制 headless Chrome 的 Node.js API 。它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headless Chrome。它还可以配置为使用完整的(非 headless)Chrome。

在浏览器中手动完成的大多数事情都可以通过使用 Puppeteer 完成,下面是一些入门的例子:

  • 生成屏幕截图和 PDF 页面
  • 检索 SPA 并生成预渲染内容(即“SSR”)
  • 从网站上爬取内容
  • 自动提交表单,UI测试,键盘输入等
  • 创建一个最新的自动测试环境。使用最新的 JavaScript 和浏览器功能,在最新版本的 Chrome 中直接运行测试
  • 捕获网站的时间线跟踪,以帮助诊断性能问题

要安装该插件,一定要使用 cnpm 命令,从国内镜像地址下载 chrome 内核(npm从外国的地址是无法正常下载的,这会导致后面也无法正常 build )

解决办法有三种:

  1. 使用Chromium 国内源
npm config set puppeteer_download_host=https://npm.taobao.org/mirrors
npm i -g puppeteer
  1. 使用淘宝的cnpm 安装
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm i -g puppeteer
  1. 手动下载Chromium文件,解压后放在本地
    https://npm.taobao.org/mirrors/chromium-browser-snapshots/
    放在模块的默认读取目录下
  • node_modules\puppeteer.local-chromium\win64-848005(系统类型-版本号)\chrome-win32(下载的文件名)\
  • node_modules\puppeteer.local-chromium\linux-848005(系统类型-版本号)\chrome-linux(下载的文件名)
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

如果安装后依旧报上述错误,试试 cnpm uninstall puppeteer 命令。虽然字面意思上是卸载,但实际测试发现还是重装

在这里插入图片描述

在这里插入图片描述

  • 最后执行 npm run build,就会发现每个路由都在 dist 文件夹被编译成一个单独的 html 文件,这样就可以正常SEO了

在这里插入图片描述

在这里插入图片描述

vue-meta-info

使用该组件可以解决之前说的 —— SEO 的 TDK问题(不同页面设置不同的 title, keywords, description)或为某些页面设置允许缩放,而其他页面不允许等操作。

首先引入 vue-meta-info 依赖,npm install -D vue-meta-info,该插件的官方地址为 https://www.npmjs.com/package/vue-meta-info

在这里插入图片描述

  • 之后在 src/main.js 中全局绑定
import MetaInfo from 'vue-meta-info'
 
Vue.use(MetaInfo)
  • 最后在组件内使用即可
<template>
  ...
</template>
 
<script>
  export default {
    metaInfo: {
      title: 'My Example App', // set a title
      meta: [{                 // set meta
        name: 'keyWords',
        content: 'My Example App'
      }]
      link: [{                 // set link
        rel: 'asstes',
        href: 'https://assets-cdn.github.com/'
      }]
    }
  }
</script> 
  • npm run build 打包结果可看出
  1. 不同路由有不同的 title
  2. 不同路由也有自己的 meta-name 和 meta-content

在这里插入图片描述
在这里插入图片描述

方案二:Nuxt.js

优点

  1. 纯静态文件,访问速度更快
  2. 对比SSR,不涉及到服务器负载方面的问题
  3. 静态网页不易遭受黑客攻击,安全性更高

不足:

  1. 如果动态路由参数多的话不适用
  2. Nuxt.js 执行generate静态化打包时,动态路由会被忽略

永别京华
关注 关注
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
学会对VUESEO优化,你的网站总是排在前面
Jack, what else can you do besides holding your little darling?
10-20 1479
​在开始之前,我们先来了解一下什么是SEOSEO(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益。很大程度上是网站经营者的一种商业行为,将自己或自己公司的排名前移。 说白了就是你的SEO做的越好,当别人搜索某个关键词时,你的网站在搜索结果中就排的越靠前。这是我的网站,有时排在第一,有时第二。 普通的一个前端网站可以通过哪些地方来做优化呢? 1.合理的
Vue项目SEO优化解决方案
m0_57712926的博客
10-26 4286
目录前言一、 Vue 项目进行 SEO 优化1. SSR服务器渲染2. 静态化 (博客, 介绍性官网)3. 预渲染 prerender-spa-plugin (插件)4. 使用Phantomjs `针对爬虫` 做处理小结总结 前言 众所周知,vue项目是单页面的应用,是十分不利于SEO优化的。今天我们一起聊一聊关于SEO优化的解决方案~ 一、 Vue 项目进行 SEO 优化 Vue SPA单页面应用对SEO不太友好,当然也有相应的解决方案,下面列出几种SEO方案 1. SSR服务器渲染 服务端渲染, 在
vueseo优化
热门推荐
kang_k的博客
09-03 6万+
前言 先了解什么是seo? 再了解搜索引擎蜘蛛的工作原理? seo为啥对vue单页面不友好? vue项目怎么做seo优化? prerender-spa-plugin怎么使用,以及它的工作原理 什么是seoSEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过对网站进行站内优化和修复(网站Web结构调整、网站内容建设、网站代码...
Vue进阶(静态网页)使用
最新发布
qq_66473536的博客
08-21 482
总体结构node_moudules:项目依赖的js包router:路由器store:vuex 全局共享数据views:公共组件App.vue:项目主文件、网页首页 main.js:项目入口文件pcakage.json: 项目配置、依赖包管理vue.config.js: vue-cli配置文件。
vue SEO解决方案
Ly
02-08 1万+
vue SEO解决方案 什么是 SEO 搜索引擎优化,提高网站的搜索关键词排名以及公司产品的曝光度。 搜索引擎的原理 从 meta 标签中读取 keywords、description 的内容 从HTML标签爬取和分析内容(h1-h6、strong、em等标签) 读取a标签里的链接,通过a标签的链接再跳转到别的网站(深度优先:先跳转回头再爬取;广度优先:先爬取然后再依次跳转) SEO需要什么? 多页面 需要动态改变网页的 title、描述、关键字 网站内容 注意: 这里网站内容从哪里来是一个
Vue SEO解决方案
weixin_43834679的博客
06-17 375
前言:众所周知,Vue SPA单页面应用对SEO不友好,当然也有相应的解决方案,下面列出几种SEO方案,SSR和静态化基于Nuxt.js来说。 1.SSR服务器渲染; 2.静态化; 3.预渲染prerender-spa-plugin; 4.使用Phantomjs针对爬虫做处理。 1.SSR服务器渲染 关于服务器渲染:Vue官网介绍,对Vue版本有要求,对服务器也有一定要求,需要支持nodejs环境。 使用SSR权衡之处: 开发条件所限,浏览器特定的代码,只能在某些生命周期钩子函数 (lifecycle ho
vue seo phantomjs方案.zip
01-15
通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、...
详解处理Vue单页面应用SEO的另一种思路
10-17
需要注意的是,虽然预渲染和vue-meta-info插件为Vue单页面应用的SEO提供了有效的解决方案,但在实际应用过程中仍需根据具体需求做出适当选择。对于那些需要频繁更新内容的应用,预渲染可能会造成维护上的不便;而...
基于Vue SEO的四种方案(小结)
12-12
前言:众所周知,Vue SPA单页面应用对SEO不友好,当然也有相应的解决方案,下面列出几种最近研究和使用过的SEO方案,SRR和静态化基于Nuxt来说。 1.SSR服务器渲染; 2.静态化; 3.预渲染prerender-spa-plugin; 4....
vue seo解决方案
人与人之间最小的差别是智商,最大的差别是坚持。
02-19 448
前言:众所周知,Vue SPA单页面应用对SEO不友好,当然也有相应的解决方案,下面列出几种最近研究和使用过的SEO方案,SSR和静态化基于Nuxt.js来说。 1.SSR服务器渲染; 2.静态化; 3.预渲染prerender-spa-plugin; 4.使用Phantomjs针对爬虫做处理。 1.SSR服务器渲染 关于服务器渲染:Vue官网介绍,对Vue版本有要求,对服务器也有一定要求,需要支持nodejs环境。 使用SSR权衡之处: 开发条件所限,浏览器特定的代码,只能在某些生命周期钩子函数 (
关于vue项目的seo问题
codeLiuguisheng的博客
03-21 3万+
不可否定的是,vue现在火。但是在实际项目中,特别是像一下交互网站,我们不可避免会考虑到的是seo问题,这直接关系到我们网站的排名,很多人说用vue搭建的网站不能做优化,那我们真的要放弃vue,放弃前后端分离开发么? 首先,可以肯定的是前后端分离不利于SEO,为什么呢? 1.搜索引擎的基础爬虫的原理就是抓取你的url,然后获取你的html源代码...
Vue解决SEO的方案
szr190的博客
08-25 1480
【代码】Vue解决SEO的方案。
Vue SEO的四种方案
开源世界
12-10 4881
众所周知,Vue SPA单页面应用对SEO不友好,当然也有相应的解决方案,通过查找资料,大概有以下4种方法。(本人只用过第一,第三种方案) 1.Nuxt 服务端渲染应用部署 (SSR服务器渲染) 关于服务器渲染:Vue官网介绍 ,对Vue版本有要求,对服务器也有一定要求,需要支持nodejs环境。 使用SSR权衡之处: 开发条件所限,浏览器特定的代码,只能在某些生命周期钩子函数 (lifecycle hook) 中使用;一些外部扩展库 (external library) 可能需要特殊处理,才能在服务器渲染
vue开发网站seo优化方法,最新版
ccc6553584的博客
03-28 3273
面试一面会问很多基础问题,而这些基础问题基本上在网上搜索,面试题都会很多很多。最好把准备一下常见的面试问题,毕竟面试也相当与一次考试,所以找工作面试的准备千万别偷懒。面试就跟考试一样的,时间长了不复习,现场表现肯定不会太好。表现的不好面试官不可能说,我猜他没发挥好,我录用他吧。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】96道前端面试题:常用算法面试题:内容主要包括HTML,CSS,JavaScript,浏览器,性能优化端面试题:**
VUESEO解决方案
ma929226676的专栏
07-08 740
解决方案如下: 1.首先需要安装prerender-spa-plugin和vue-meta-info,prerender-spa-plugin解决打包多个页面,vue-meta-info解决SEO的问题 npm install --save prerender-spa-plugin npm install --save vue-meta-info 2.在项目中找到webpack.prod.conf.js,有可能这个文件名不同,这个时候你需要根据你的命令行来找到相关文件 在此文件中添加如下代码(.
Vue 项目如何进行 SEO 优化
接着奏乐接着舞的博客
10-19 7744
Vue SPA单页面应用对SEO不太友好,当然也有相应的解决方案,下面列出几种SEO方案
浅谈 Vue 项目优化
土家稀哥
06-20 2万+
好久不写博文了,本文作为我使用半年 vue 框架的经验小结,随便谈谈,且本文只适用于 vue-cli 初始化的项目或依赖于 webpack 打包的项目。 前几天看到大家说 vue 项目越大越难优化,带来很多痛苦,这是避免不了的,问题终究要解决,框架的性能是没有问题的,各大测试网站都有相关数据。下面进入正题 基础优化 所谓的基础优化是任何 web 项目都要做的,并且是问题的根源。H
Vue SEO解决方案:SSR、静态化与预渲染实战解析
本文主要介绍了在Vue单页应用(SPA)中应对SEO不友好的四种解决方案,这些方案主要针对服务器渲染(Server-Side Rendering, SSR)、静态化、预渲染(prerender-spa-plugin)以及利用PhantomJS进行爬虫优化。...
写文章

热门文章

  • flexIble.js 7143
  • 小米商城项目解析(完) 6643
  • Vue SEO解决方案 3704
  • vue项目正确打包 2130
  • element table 组件封装 552

分类专栏

  • gitlab 1篇

最新评论

  • element table 组件封装

    永别京华: 再加个参数控制呗

  • element table 组件封装

    夨落旳尐孩.: 表格如果要显示image呢 怎么处理表情包

  • vue项目正确打包

    永别京华: 注意引用的CDN.

  • vue项目正确打包

    Charon素: 打包后轮播图不动了,点击事件也失效了,使用swiper或者element框架的话也不行

  • Vue SEO解决方案

    新石器原始人: 傻瓜式旁路渲染方案 https://blog.csdn.net/w411207/article/details/111208334

大家在看

  • 【玩转Linux】不允许你还不会Linux简单的指令 1435
  • Present
  • 【漏洞复现】绿盟 NSFOCUS-下一代防火墙 bugsInfo 任意文件上传漏洞 188
  • 线性回归算法的推导过程(新手向!!包能懂!)
  • 为什么要关闭SMB V1

最新文章

  • 【gitlab连接步骤】记录
  • element table 组件封装
  • element-ui 分页索引问题
2023年1篇
2022年2篇
2021年8篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司做网站分为竞价和优化邛崃专业网站优化宿迁品质网站优化行业海淀网站建设推广优化优化网站哪家性价比高潜江外包网站优化哪里好佳木斯网站排名优化网站搜索优化只选w火17星沿河网站优化公司延边网站seo优化深圳网站优化公司哪家专业江门选择免费网站优化佛山网站关键词优化平台深圳门窗网站优化技巧阿里网站优化吐鲁番网站怎么优化网站怎么优化网络网站优化怎么做分录二七区营销网站搭建优化监控网站的优化博客网站优化教程网站建设开发网络推广网站优化网站有几个方式优化网站优化和爱采购哪个合适网站优化升级漯河营销网站优化网站优化设计感穿搭网站整站优化哪家便宜网站搜索优化需火19星木兰草原网站优化分析歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化