前后端分離情況下如何做seo優化
首先得先想明白什么是seo,然后再說前后端分離情況下如何做seo優化。
我們假設這個產品是一個新產品,他需要做seo,那么到底什么是seo呢seo的縮寫是『search engine optimization』,搜索引擎優化,雖然我不是專業做seo的,我也不是seo工程師(你別說某些網站還真有這個崗位)。
不過或多或少,seo這個行業曾經也是個特別有意思的行業。
優化針對這個問題分2個點:
1,前后端分離的架構,無法提供搜索引擎可收錄的頁面,需要搜索引擎蜘蛛擁有執行javascript能力才行,可現實是大部分的搜索引擎都不支持。
2,支持了spa架構的產品,如何做seo優化。(第一個點是先讓他支持,第二條才落到優化)
我們先看第一個點,我們要做seo支持首先要知道我們要優化哪些search engine。
常見的列舉,百度,google,微軟必應,搜狗,等等。
那么我們首先得了解search engine才能談如何做到讓頁面被收錄,這里就拿最常見的百度和google來舉例吧。
百度是不支持收錄spa的頁面的,而且spa的網站對于百度的spider來說等于是只有1個頁面,那么如何做到讓這種搜索引擎收錄頁面呢首先我們可以自行提交sitemap,讓蜘蛛主動去爬,但是遇到sitemap中的url,到達指定頁面后頁面只有一段js怎么辦,我們可以利用比如<noscript></noscript>標簽來進行最簡單的優化,比如在noscript里打印出當前頁面一些關鍵的信息點,但是這個做法大家一看就非常的蠢,因為正常用戶并不需要這些內容,占用下載量,而且不好維護。那么我們如何判斷當前頁面是否支持運行javascript呢前端已做到,用noscript,后端不行,那么只好針對百度的spider做ua判斷了,這也就是大家常見的一些解決方案,使用phantomjs或者nginx代理,來對spider訪問的頁面進行特殊的處理,達到被收錄的效果。
那么這么做其實是有一些副作用的,比如你收錄的頁面和用戶正常訪問的頁面差別較大是有被搜索引擎k掉的風險的,所以更多的做法還是選擇首屏使用ssr的方式渲染,先通過后端路由保證頁面的主要信息可以被服務器端輸出,然后其他的功能,包括用戶之后的路由跳轉控制,再使用前端路由來做,曾經的項目經驗在新浪博客手機版中也是這么做的,當然當時沒有ssr,是后端直接渲染的模板,用戶訪問后,再進行交互則再采用前后端分離和前端路由控制來完成。
深圳網站建設費用怎么計算點擊廣告平臺快照不更新的因素有哪些?長沙做網站四個月的經驗和體會網站建設中必須定制的要素百度搜索應該關注的5個問題是什么?公司網站建設制作時這價格方面的問題不得不注意企業中需要重視的地方網站建設重中之重