Vue用prerender-spa-plugin做SEO優(yōu)化
每天進(jìn)步一點(diǎn)點(diǎn)...
自己弄了個(gè)博客網(wǎng)站,運(yùn)行了很久,一直沒被收錄,才發(fā)現(xiàn)SEO對單頁面不太友好。上網(wǎng)學(xué)習(xí)并實(shí)踐了一下,我們可以使用prerender-spa-plugin+vue-meta-info做一個(gè)預(yù)渲染。
一、安裝插件
使用下面命令安裝對應(yīng)插件
- npm install prerender-spa-plugin --save
- npm install vue-meta-info --save
二、修改配置
1、創(chuàng)建vue.config.js文件,并添加下面內(nèi)容
- const PrerenderSPAPlugin = require('prerender-spa-plugin')
- const Renderer = PrerenderSPAPlugin.PuppeteerRenderer
- const path = require('path')
- module.exports = {
- configureWebpack: () => {
- if (process.env.NODE_ENV !== 'production') return
- return {
- plugins: [
- new PrerenderSPAPlugin({
- staticDir: path.join(__dirname, 'dist'),
- routes: ['/', '/message', '/link', '/about', '/detail/id', "/search"],
- renderer: new Renderer({
- inject: {
- foo: 'bar'
- },
- headless: false,
- renderAfterDocumentEvent: 'render-event'
- })
- })
- ]
- }
- },
- }
2、修改main.js里面的內(nèi)容
- //引入metainfo
- import MetaInfo from 'vue-meta-info'
- Vue.use(MetaInfo)
- new Vue({
- router,
- store,
- render: h => h(App),
- //添加下面這行
- mounted() {
- document.dispatchEvent(new Event('render-event'))
- }
- }).$mount('#app')
3、在對應(yīng)頁面添加下面內(nèi)容
- export default {
- name: "About",
- metaInfo: {
- title: "網(wǎng)頁設(shè)計(jì),模板分享,源碼下載 - 糊涂博客",
- meta: [
- {
- name: "keyWords",
- content: "網(wǎng)頁,簡介,個(gè)人,小程序,博客",
- },
- {
- name: "description",
- content:
- "糊涂個(gè)人博客,一位編程愛好者的成長地。專注于前后端的學(xué)習(xí),不定期更新分享踩坑過程,學(xué)習(xí)記錄、網(wǎng)頁模板、demo源碼等,也希望借此能夠認(rèn)識更多的朋友。",
- },
- ],
- },
- }
4、使用npm run build命令打包后,會生成對應(yīng)的目錄
三、收錄效果
這只能做一個(gè)簡單處理,還有其它方法,不過自己沒有去實(shí)踐是否可行,就不發(fā)出來了(重點(diǎn)是不會)