使用React或Vue做SEO優(yōu)化需要借助Nodejs實現(xiàn)服務端渲染(SSR)。
而要實現(xiàn)服務端渲染需要先搭建一個腳手架,你可以自己從零開始搭建腳手架,但這很麻煩。最簡單的就是使用開源的框架,它們一般內(nèi)置就封裝好了腳手架,比如基于React的Next.js,和基于Vue的Nuxt.js。你也可以借助開源的腳手架比如Razzle來實現(xiàn)SSR渲染。Razzle是我用過的比較好用的工具,因為它靈活。下面以React+Razzle為例,講講如何做SEO優(yōu)化(本文的示例代碼放在GitHub:github.com/liamwang/react-starter)。
首先,使用Razzle搭建腳手架,使用如下命令安裝Razzle并運行它:
其實以上這樣簡單的一步,Razzle基本上就把大部分工作已經(jīng)完成了。然后開始添加幾個測試頁面并配置Router路由。文件結(jié)構和路由配置如下圖所示:
紅色圈出來的部分是添加的幾個示例頁面,具體代碼可以參照我的GitHub源碼。這就實現(xiàn)了一個簡單的支持服務端渲染的網(wǎng)站,運行效果如下:
接著,編輯server.js實現(xiàn)自定義服務端渲染邏輯。打開server.js文件,你會發(fā)現(xiàn)工具已經(jīng)幫你寫好了基本的服務端渲染代碼,但是你可能要根據(jù)需求進行自定義,比如自定義titile、meta標簽。下面是一個示例:
為了利于SEO,你可以在這里任意自定義HTML頭標簽,比如標題和和關鍵字等。
最后,剩下的工作基本上就和你平時寫React代碼一樣,比如Redux、Mobx、Sass等。
有不清楚的歡迎留言交流,希望我的回答對你有幫助!