瀉藥,簡單說一下自己的個人看法。
要解決題主的問題,首先要了解什么是SEO,然后在前端和后端分離的情況下如何優化SEO。
我們假設這個產品是新產品,他需要做SEO,那么什么是SEO呢?SEO的縮寫是SearchEngineOptimization,搜索引擎優化。雖然我不是專門做SEO的,但我也不是SEO工程師(別說有些網站真的有這個職位)。
但或多或少,SEO行業曾經是一個特別有趣的行業。
對這一問題進行優化分為兩點:
1.前端和后端分離的架構不能提供搜索引擎可收錄的頁面,這就要求搜索引擎蜘蛛具備執行javascript的能力,但現實是大多數搜索引擎都不支持。
2.支持SPA架構的產品,如何做SEO優化。(第一點是讓他先支持,第二點是優化)
先看第一點。我們需要做SEO支持。首先,我們需要知道我們需要優化哪些SearchEngine。
一般列舉,百度,google,微軟必應,搜狗,等等。
所以我們首先要了解SearcheEngine,才能談談如何讓頁面被收錄,這里以最常見的百度和google為例。
百度不支持收錄SPA的頁面,SPA的網站相當于百度的spider只有一個頁面,那么如何讓這個搜索引擎收錄頁面呢?首先,我們可以自己提交sitemap,讓蜘蛛主動爬行。但是遇到sitemap中的URL,到達指定頁面后頁面只有一個js怎么辦?我們可以使用它。對標簽進行最簡單的優化,例如在noscript中打印出當前頁面的一些關鍵信息點,但這種做法大家一看就很蠢,因為正常用戶不需要這些內容,占用下載量,而且很難維護。那我們怎樣判斷當前頁面是否支持javascript的運行呢?前端已經做到了,使用noscript,后端不行,那么只好對百度的spider做UA判斷,這也是大家常用的一些解決方案,使用phantomjs或nginx代理,對spider訪問的頁面進行特殊處理,達到收錄的效果。
那么這樣做其實有一些副作用。比如你收錄的頁面和用戶正常訪問的頁面差別很大,有被搜索引擎K掉的風險。所以更多的方法是選擇第一屏用ssr渲染。首先,通過后端路由,確保頁面的主要信息可以由服務器輸出,然后其他功能,包括用戶后面的路由跳轉控制,然后使用前端路由。以前的項目經驗也是新浪博客手機版做的。當然當時沒有ssr,是后端直接渲染的模板。用戶訪問后,交互將通過前后端分離和前端路由控制來完成。
接著是google的搜索引擎,它支持hashtag再rewrite訪問您的靜態版本,但畢竟只有google支持,所以正規的做法是用pushState對頁面URL進行前端的后續無刷新控制,對爬蟲和所有用戶提供任何入口的ssr或第一屏的直接渲染,這是最完美的SEO支持方案。
好吧,這里明確了第一點,那么第二點該怎么辦呢?其實我也學過一些簡單的SEO優化,只讓站點支持收錄只是第一步,關鍵詞的搭配,頁面關鍵詞的分部,一些特殊的meta頭,還有站內鏈接的鏈接,站外鏈接,甚至站群權重的影響,這些加起來就夠了,大家有興趣可以去搜索一些與SEO相關的書籍。
在這里,我給大家講一些我很早就做百度SEO的小故事。上大學的時候認識一家專門做百度SEO的公司或者小團隊。他們對關鍵詞的排名有多大?你的網站根本不需要任何你想要的關鍵詞。比如我想買一個微信小程序的關鍵詞排名。他們當時的能力是讓你在3天內上第一頁。而且你的網站不需要微信小程序這個詞。
怎么做?哈哈,其實就是站群。當時百度的收錄權重問題很大。當外部鏈接的引入量達到一定水平時,你根本不需要自己做SEO優化,你的排名會很長。當然這個成本很高。比如你需要先有1000多個域名,批量機器支持快速更新這1000個站群的內容和內部鏈接。這是一項技術和體力活動,風險相對較大。規則總是在變化,隨時都有被K的風險。給客戶做的時候,也需要測試一下,然后賣這個暴力產品。
所以,所謂的SEO,不是。。。SearchEngine中的一些規則是優化的。只有了解規則,才能優化足夠的NB。在這些規則中,前端和后端分離只是其中之一。更多的優化取決于內容和鏈接交換。
最后,再次瀉藥...
添加客服微信