最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解處理Vue單頁面應(yīng)用SEO的另一種思路

 更新時間:2018年11月09日 11:32:17   作者:muwoo  
這篇文章主要介紹了詳解處理Vue單頁面應(yīng)用SEO的另一種思路,本文主要針對 vue 2.0 單頁面 Meta SEO 優(yōu)化展開介紹,非常具有實(shí)用價值,需要的朋友可以參考下

vue-meta-info 官方地址: monkeyWangs/vue-meta-info

(設(shè)置vue 單頁面meta info信息,如果需要單頁面SEO,可以和 prerender-spa-plugin形成更優(yōu)的配合)

單頁面應(yīng)用在前端正大放光彩。三大框架 Angular、Vue、React,可謂婦孺皆知。隨著單頁面應(yīng)用的普及,人們在感受其帶來的完美的用戶體驗(yàn),極強(qiáng)的開發(fā)效率的同時,也似乎不可避免的要去處理 SEO 的需求。

本文主要針對 vue 2.0 單頁面 Meta SEO 優(yōu)化展開介紹:

其實(shí)解決SEO問題不一定非得用服務(wù)端渲染來處理,服務(wù)端渲染對于剛接觸 vue 的新手來說,并不是那么友好,雖然已有官方 SSR 中文文檔。但是對于一個已經(jīng)開發(fā)完畢的 vue 項(xiàng)目去接 SSR 無論是從工作量還是技術(shù)角度來說,都是一種挑戰(zhàn)。不過這些怎么能難得到偉大的前端程序員!

如果您調(diào)研服務(wù)器端渲染(SSR)只是用來改善少數(shù)營銷頁面(例如 /, /about, /contact 等)的 SEO,那么您可能需要預(yù)渲染。無需使用 web 服務(wù)器實(shí)時動態(tài)編譯 HTML,而是使用預(yù)渲染方式,在構(gòu)建時 (build time) 簡單地生成針對特定路由的靜態(tài) HTML 文件。優(yōu)點(diǎn)是設(shè)置預(yù)渲染更簡單,并可以將您的前端作為一個完全靜態(tài)的站點(diǎn)。

如果您使用 webpack,您可以使用 prerender-spa-plugin 輕松地添加預(yù)渲染。它已經(jīng)被 Vue 應(yīng)用程序廣泛測試。

預(yù)渲染為SEO提供了另一種可能,簡單的來說,預(yù)渲染就是當(dāng)vue-cli構(gòu)建的項(xiàng)目進(jìn)行npm run build 的時候,會按照路由的層級進(jìn)行動態(tài)渲染出對應(yīng)的html文件。

// webpack.conf.js
var path = require('path')
var PrerenderSpaPlugin = require('prerender-spa-plugin')

module.exports = {
 // ...
 plugins: [
  new PrerenderSpaPlugin(
   // 編譯后的html需要存放的路徑
   path.join(__dirname, '../dist'),
   // 列出哪些路由需要預(yù)渲染
   [ '/', '/about', '/contact' ]
  )
 ]
}

最終會生成類似于這樣的目錄結(jié)構(gòu)

而里面的內(nèi)容都會被渲染成了靜態(tài)的 html 文件

相對于之前的可能只有

<html>
 <head>
  <meta charset="utf-8">
  <title>tangeche-pc</title>
 </head>
 <body>
  <div id="app"></div>
  <!-- built files will be auto injected -->
 <script type="text/javascript" src="/app.js"></script></body>
</html>

可以直觀的發(fā)現(xiàn),預(yù)渲染的作用。

有了預(yù)渲染,我們可以解決很多方面的SEO的問題,但是有時候我們也會需要Meta信息的變化,比如 title 比如 Meta keyWords 或者是 link...

這里安利一下vue-meta-info 一個可以動態(tài)設(shè)置meta 信息的vue插件如果需要單頁面SEO,可以和 prerender-spa-plugin形成更優(yōu)的配合。

vue-meta-info 是一個基于 vue 2.0 的插件,它會讓你更好的管理你的 app 里面的 meta 信息。你可以直接 在組件內(nèi)設(shè)置 metaInfo 便可以自動掛載到你的頁面中。如果你需要隨著數(shù)據(jù)的變化,自動更新你的 title、meta 等信息,那么用此 插件也是再合適不過了。 當(dāng)然,有時候我們也可能會遇到讓人頭疼的 SEO 問題,那么使用此插件配合 prerender-spa-plugin 也是再合適不過了

1.安裝

yarn:

yarn add vue-meta-info

2. npm:

npm install vue-meta-info --save

2.全局引入 vue-meta-info

import Vue from 'vue'
import MetaInfo from 'vue-meta-info'

Vue.use(MetaInfo)

3.組件內(nèi)靜態(tài)使用 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>

4.如果你的 title 或者 meta 是異步加載的,那么你可能需要這樣使用

<template>
 ...
</template>

<script>
 export default {
  name: 'async',
  metaInfo () {
   return {
    title: this.pageName
   }
  },
  data () {
   return {
    pageName: 'loading'
   }
  },
  mounted () {
   setTimeout(() => {
    this.pageName = 'async'
   }, 2000)
  }
 }
</script>

寫到這里,大家應(yīng)該都明白了我所說的 SEO 的另一種思路是什么了,preRender + metaInfo

可以才一定層次上去解決 SEO 問題,這種方式優(yōu)點(diǎn)就是代碼侵入性最低,開發(fā)成本最少。但是也是有弊端的:

  • 不能很好地處理用戶獨(dú)特性路由: 比如有個路由是 /my-profile, 預(yù)渲染可能不會很好用, 因?yàn)檫@個內(nèi)容頁是根據(jù)用戶信息變化的,所以頁面內(nèi)容也不是唯一確定的. 你可能會使用類似于這樣的路由路徑 /users/:username/profile,但是這樣也是不合適的.
  • 經(jīng)常變動的文件
  • 需要預(yù)渲染成千上萬的路由文件: 這個可能會導(dǎo)致你編譯時間.....額,可能你會編譯很長時間

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 實(shí)現(xiàn)一個Vue版Upload組件

    實(shí)現(xiàn)一個Vue版Upload組件

    這篇文章主要介紹了實(shí)現(xiàn)一個Vue版Upload組件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件

    使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件

    這篇文章主要介紹了使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • vue3中標(biāo)簽form插件的使用教程詳解

    vue3中標(biāo)簽form插件的使用教程詳解

    這篇文章主要為大家詳細(xì)介紹了vue3中標(biāo)簽form插件的使用的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2024-01-01
  • 在vue中實(shí)現(xiàn)給每個頁面頂部設(shè)置title

    在vue中實(shí)現(xiàn)給每個頁面頂部設(shè)置title

    這篇文章主要介紹了在vue中實(shí)現(xiàn)給每個頁面頂部設(shè)置title,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue項(xiàng)目配置在局域網(wǎng)下訪問方式

    Vue項(xiàng)目配置在局域網(wǎng)下訪問方式

    這篇文章主要介紹了Vue項(xiàng)目配置在局域網(wǎng)下訪問方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue3如何使用element-plus的dialog

    vue3如何使用element-plus的dialog

    這篇文章主要介紹了vue3優(yōu)雅的使用element-plus的dialog,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Vue2.0腳手架搭建

    Vue2.0腳手架搭建

    這篇文章介紹了使用vue-cli搭建腳手架的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • 如何解決.vue文件url引用文件的問題

    如何解決.vue文件url引用文件的問題

    這篇文章主要介紹了解決.vue文件url引用文件的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Vue3 實(shí)現(xiàn)雙盒子定位Overlay的示例

    Vue3 實(shí)現(xiàn)雙盒子定位Overlay的示例

    這篇文章主要介紹了Vue3 實(shí)現(xiàn)雙盒子定位Overlay的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-12-12
  • vue 過濾器和自定義指令的使用

    vue 過濾器和自定義指令的使用

    本文主要介紹Vue.js中過濾器和自定義指令相關(guān)的知識點(diǎn),包括過濾器的定義方式,和使用方法,以及自定義指令的概念和注冊方式。
    2021-05-05

最新評論

静安区| 隆林| 临海市| 德安县| 新和县| 班戈县| 乡城县| 武安市| 仙居县| 德格县| 鄯善县| 泰州市| 高淳县| 长寿区| 田东县| 天津市| 霍林郭勒市| 嘉义市| 南木林县| 民勤县| 涿鹿县| 财经| 临漳县| 阿拉尔市| 抚顺市| 嘉定区| 随州市| 页游| 治多县| 海城市| 恭城| 筠连县| 应城市| 福鼎市| 临汾市| 万全县| 忻城县| 宜兴市| 仙桃市| 石河子市| 东丰县|