vue的SEO問題

俗的太不一樣發表於2019-02-23

首先,可以肯定的是前後端分離不利於SEO,為什麼呢?

  1. 搜尋引擎的基礎爬蟲的原理就是抓取你的url,然後獲取你的html原始碼並解析。 而你的頁面通常用了vue等js的資料繫結機制來展示頁面資料,爬蟲獲取到的html是你的模型頁面而不是最終資料的渲染頁面,所以說用js來渲染資料對seo並不友好。
  2. seo 本質是一個伺服器向另一個伺服器發起請求,解析請求內容。但一般來說搜尋引擎是不回去執行請求到的js的。也就是說,如果一個單頁應用,html在伺服器端還沒有渲染部分資料資料,在瀏覽器才渲染出資料,而搜尋引擎請求到的html是沒有渲染資料的。 這樣就很不利於內容被搜尋引擎搜尋到。 所以服務端渲染就是儘量在伺服器傳送到瀏覽器前 頁面上就是有資料的。
  3. 一般的資料邏輯操作是放在後端的。排序這個如果僅僅是幾條資料,前後端排序開起來是一樣的,如果是有1000條資料,前端要排序就要都請求過來。這樣顯然是不合理的。

無意間看見vue作者在知乎是這麼說的

image

但是,對於像vue這種前後端分離的開發,我們還是能夠通過其他技術優化的。常用的解決方案有三種:

  1. 頁面預渲染
  2. 服務端渲染
  3. 路由採用h5 history模式

第一,ssr,這是一套完整的構建vue服務端渲染應用的指南,具體參考https://cn.vuejs.org/v2/guide/ssr.html 第二,vue-meta-info,這個是針對單頁面的meta SEO的另一種思路,參考網站 zhuanlan.zhihu.com/p/29148760 第三,nuxt 簡單易用 zh.nuxtjs.org/guide/insta… 第四,phantomjs 預渲染 phantomjs.org

關於收錄問題: 網站收錄,搜尋引擎在爬取你的網頁以後,通過對網頁內容進行檢測,將符合收錄規則的網頁存庫。因此該網頁將會出現在與網頁內容相關的查詢的搜尋結果中。 搜尋引擎判斷一個網站權重高低的尺度無非兩個:收錄和外鏈。因此百度收錄的高低很大程度上影響著網站在百度的排名。(這個我也不是很清楚,但是看掘金真的是一個很好的案例,值得我們思考)

用vue做出來的成功案例還有很多 1) www.bilibili.com (bilibili)
2) m.sohu.com (手機搜狐網)
3) juejin.im/timeline (掘金)
4) element.eleme.io/#/en-US (2)
5) classics.autotrader.com (New&Used Classic Car for sale)
6) qiqu.uc.cn (奇趣百科)
7) m.uhouzz.com/apartments (異鄉好居) 2. Vue網站SEO分析
1) bilibili做了基本的seo優化,比如
(1)TDK描敘詳細。
(2)提升網頁載入速度:對外聯css,以及js使用了延遲載入以及dns-prefetch,preload。
(3)外聯較多,關鍵詞排名高。
2) 掘金網站使用了vue-meta-info 管理網站的meta,應該配合使用了prerender-spa-plugin 對SEO進行了優化。
3) Element在logo上加了首頁的地址,並且只有logo是放在h1標籤中。
4) 有一些流量不太高的網站比如http://www.marshall.edu (Marshall University)做了seo社會化分享優化,在meta資訊中出現了property=”og:title”這種新東西;we.dji.com/zh-CN/campu… (大疆招聘)使用了Nuxt 3. 網站中出現率最高的公共元件或公共方法
1) 麵包屑導航
2) Icon
3) 搜尋框
4) Button元件

這只是我片面的分析,具體情況我們還要根據網站定位,開發成本,後期的維護成本等綜合考慮,但是我覺得掘金真的是一個非常成功的案例,既然有人給我們邁出了這一步,我們也要緊跟潮流,畢竟網際網路是一個與時俱進的行業。如果我們永遠停留在傳統的混合開發,也會給我們的公司,給我們個人帶來一些影響。

相關文章