vue项目seo方法

SOE:搜索引擎优化

最基本的条件:

1、多页面  =》 蜘蛛抓取
2、页面还有蜘蛛抓取的内容
3、title 、 描述 、 关键词

解决方案一: 预渲染

在 vue.config.js 的配置文件中配置(打包成多页面 prerender-spa-plugin-next )

const path = require("path")
const PrerenderSPAPlugin = require("prerender-spa-plugin-next")
// 可选
const renderer = require("@prerenderer/renderer-puppeteer")
module.exports = {
    lintOnSave: "warning",
    publicPath: "/",
    assetsDir: "static",
    configureWebpack (config) {
        if (process.env.NODE_ENV === "production") {
            const prerenderCfg = new PrerenderSPAPlugin({
                routes: ["/", "/about"],
                // 可选
                renderer,
                postProcess (context) {
                    context.outputPath = path.join(
                        // 不要拼__dirname,最终会转成绝对路径,拼了反而出错。
                        // PS: 为什么要加一层文件夹? 因为默认写入首页叫index.html, 不加会导致写入冲突 ——_——#
                        "rerender",
                        (context.route.replace("/", "") || "index") + ".html"
                    )
                    return context;
                },
                renderOptions: {
                    renderAfterDocumentEvent: "prerender",
                },
            })
            config.plugins.push(prerenderCfg)
        }
    },
}

要是想动态的改变title的话, 下载 vue-meta-info 插件

在main.js直接引入

import MetaInfo from 'vue-meta-info'
Vue.use(MetaInfo)

在每一个组件里面加上
export default{
	metaInfo: {
		title: '小鹿仙官网',
		meta: [{
	        name: '关键词, web前端',
	        content: '描述'
	    }]
	},

	data() {
		return{}
	}
}

预渲染的缺点:
如果有很多详情页需要seo就不适合了, 动态改变title,描述,关键词也是无效的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值