91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VUE單頁面應用SEO的方法是什么

發布時間:2022-01-24 10:26:55 來源:億速云 閱讀:179 作者:iii 欄目:開發技術

這篇文章主要介紹了VUE單頁面應用SEO的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇VUE單頁面應用SEO的方法是什么文章都會有所收獲,下面我們一起來看看吧。

  • vue-meta-info 

(設置 vue 單頁面 meta info 信息,如果需要單頁面 SEO,可以和 prerender-spa-plugin 形成更優的配合) 單頁面應用在前端正大放光彩。三大框架 Angular 、Vue 、React ,可謂婦孺皆知。隨著單頁面應用的普及,人們在感受其帶來的完美的用戶體驗,極強的開發效率的同時,也似乎不可避免的要去處理 SEO 的需求。 本文主要針對 vue 2.0  單頁面 Meta SEO 優化展開介紹: 其實解決 SEO 問題不一定非得用服務端渲染來處理,服務端渲染對于剛接觸  vue 的新手來說,并不是那么友好,雖然已有官方 SSR 中文文檔  。但是對于一個已經開發完畢的  vue 項目去接 SSR 無論是從工作量還是技術角度來說,都是一種挑戰。不過這些怎么能難得到偉大的前端程序員!

如果您調研服務器端渲染(SSR)只是用來改善少數營銷頁面(例如 /, /about, /contact 等)的 SEO,那么您可能需要預渲染。無需使用 web 服務器實時動態編譯 HTML,而是使用預渲染方式,在構建時 (build time) 簡單地生成針對特定路由的靜態 HTML 文件。優點是設置預渲染更簡單,并可以將您的前端作為一個完全靜態的站點。 如果您使用 webpack,您可以使用 prerender-spa-plugin  輕松地添加預渲染。它已經被  Vue 應用程序廣泛測試。 預渲染為 SEO 提供了另一種可能,簡單的來說,預渲染就是當 vue-cli 構建的項目進行 npm run build 的時候,會按照路由的層級進行動態渲染出對應的 html 文件。

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


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

最終會生成類似于這樣的目錄結構

VUE單頁面應用SEO的方法是什么

而里面的內容都會被渲染成了靜態的 html 文件

VUE單頁面應用SEO的方法是什么

相對于之前的可能只有

<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>

可以直觀的發現,預渲染的作用。 有了預渲染,我們可以解決很多方面的 SEO 的問題,但是有時候我們也會需要 Meta 信息的變化,比如title 比如 Meta keyWords 或者是link… 這里安利一下 vue-meta-info  一個可以動態設置 meta 信息的 vue 插件如果需要單頁面 SEO,可以和 prerender-spa-plugin形成更優的配合。 vue-meta-info 是一個基于  vue 2.0 的插件,它會讓你更好的管理你的 app 里面的 meta 信息。你可以直接 在組件內設置 metaInfo 便可以自動掛載到你的頁面中。如果你需要隨著數據的變化,自動更新你的 titlemeta 等信息,那么用此 插件也是再合適不過了。 當然,有時候我們也可能會遇到讓人頭疼的 SEO 問題,那么使用此插件配合 prerender-spa-plugin 也是再合適不過了

1.安裝

yarn:

    yarn add vue-meta-info

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.組件內靜態使用 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>

preRender + metaInfo 可以才一定層次上去解決 SEO 問題,這種方式優點就是代碼侵入性最低,開發成本最少。但是也是有弊端的:

  • 不能很好地處理用戶獨特性路由: 比如有個路由是/my-profile, 預渲染可能不會很好用, 因為這個內容頁是根據用戶信息變化的,所以頁面內容也不是唯一確定的. 你可能會使用類似于這樣的路由路徑 /users/:username/profile,但是這樣也是不合適的.

  • 經常變動的文件

  • 需要預渲染成千上萬的路由文件: 這個可能會導致你編譯時間…..額,可能你會編譯很長時間

關于“VUE單頁面應用SEO的方法是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“VUE單頁面應用SEO的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

静海县| 泊头市| 韶山市| 莱州市| 阜南县| 库伦旗| 乌什县| 陆丰市| 安新县| 淳化县| 江山市| 临江市| 昭觉县| 亳州市| 南漳县| 嘉义市| 涞源县| 额济纳旗| 百色市| 前郭尔| 武城县| 石渠县| 于田县| 措勤县| 冷水江市| 咸阳市| 衡山县| 竹溪县| 德格县| 资兴市| 长丰县| 涿鹿县| 长阳| 桂阳县| 固阳县| 顺平县| 灵台县| 淅川县| 迁安市| 万宁市| 东光县|