淺談vue單頁面seo問題

最近做項(xiàng)目的時(shí)候,被要求做seo,由于項(xiàng)目已經(jīng)開發(fā)完畢,且只需首頁做seo,所以考慮再三,決定用prerender-spa-plugin結(jié)合vue-meta-info來實(shí)現(xiàn)首頁的seo。
如果你的頁面是動(dòng)態(tài)的,比如通過v-for或v-if等來動(dòng)態(tài)渲染的dom,則不適合此方法,可以考慮官方的SSR。

代碼已更新到github,點(diǎn)擊查看

言歸正傳,第一步:安裝prerender-spa-plugin,vue-meta-info

npm install prerender-spa-plugin vue-meta-info --save

如果安裝失敗,使用淘寶鏡像試試

cnpm install prerender-spa-plugin vue-meta-info --save

第二部:在你的項(xiàng)目目錄下找到該文件 build/webpack.prod.conf.js,添加如下代碼
const PrerenderSpaPlugin = require('prerender-spa-plugin')

new PrerenderSpaPlugin(
  //將渲染的文件放到dist目錄下
      path.join(__dirname, '../dist'),
      //需要預(yù)渲染的路由信息
      [ '/index','/about' ],
      {
      //在一定時(shí)間后再捕獲頁面信息,使得頁面數(shù)據(jù)信息加載完成
        captureAfterTime: 50000,
        //忽略打包錯(cuò)誤
        ignoreJSErrors: true,
        phantomOptions: '--web-security=false',
        maxAttempts: 10,
      },
    )

至此,你可以打包試試,如果打包后的文件包含index和about兩個(gè)文件,表明成功。


圖片

但是運(yùn)行打包的文件,右鍵查看網(wǎng)頁源代碼,你會(huì)發(fā)現(xiàn),index和about這兩個(gè)seo的文件信息是一樣的,如果你也是這樣的情況,別急,把你的路由模式換成"history"模式。

圖片

重新打包,運(yùn)行打包文件,查看源代碼,發(fā)現(xiàn)內(nèi)容不一樣了,至此才算成功。

但是會(huì)出現(xiàn)一個(gè)隱形的問題,當(dāng)你打包后的文件部署到線上時(shí),刷新頁面就會(huì)404了。這時(shí)需要后端配置一下,后端配置

vue-meta-info的具體使用看這里 vue-meta-info

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 作者:Maxime Laboissonniere原文地址: Vue.js Tutorial: An Example...
    jeneser閱讀 17,065評論 18 55
  • 沒有反思的人生不值得過 -蘇格拉底 9月,嘉許自己的每一天的認(rèn)真與熱忱,感恩每一位生命中的你對我的幫助和關(guān)愛 ??...
    小靈仙子閱讀 247評論 2 0
  • 一月六號,西安,雪 一八年開啟了 給自己 找點(diǎn)新的好玩的事 進(jìn)軍影評寫作領(lǐng)域 小玩兩下下 雖...
    牧馬天山閱讀 301評論 0 1
  • 清晨,迎著陽光向東。不想辜負(fù)春天的一切,和兒子一起賞春。 春天返青的麥苗煥發(fā)著生機(jī),風(fēng)拂過像波浪。 想起一首歌《風(fēng)...
    zfx飛霞閱讀 579評論 0 3
  • 應(yīng)該是我大二,表妹初三那年,大家一起回老家,表妹從上車開始就一直哭,而且是大哭,問她也不說,偶爾停頓的間隙,蹦出幾...
    木棉在唱歌閱讀 301評論 2 1

友情鏈接更多精彩內(nèi)容