《H5-前端後端分離SEO優化》

前端後端分離,怎麼解決SEO優化的問題呢?
  對於90%以上的互聯網公司來說,前後端分離是必須要做的。目前接手的公司的一個工程,後端是PHP,用的smarty模板,開發效率和之前公司的完全分離相比,確實低不少,一方面需要前端會PHP,另一方面溝通成本也不少,改個PHP的路由還要經過後端的同意,還有系統臃腫,維護成本高等等。但做成前後端完全分離,做成SPA,怎麼做SEO呢,公司的這款產品需要大量的SEO和SEM,國內搜索引擎現在對SPA的SEO並不好。看了看其它公司的方案,知乎目前做的前後端分離是前端渲染,那怎麼做的SEO呢,暫時沒有太多時間研究,找了篇關於前後端分離的文章。

前端後端分離,怎麼解決SEO優化的問題呢?

   這篇文章的討論裏,比較好的方式,有了nodejs後主流做法是前後端同構方案,即一套代碼在瀏覽器端和node端都可以運行,從而可以先在node端請求數據渲染模板,然後將渲染結果返回給瀏覽器最終呈現,java或PHP做底層,是目前最完美的前後端分離+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裏打印出當前頁面一些關鍵的信息點,但是這個做法大家一看就非常的蠢,因爲正常用戶並不需要這些內容,佔用下載量,而且不好維護。那麼我們如何判斷當前頁面是否支持運行javascript呢?前端已做到,用noscript,後端不行,那麼只好針對百度的spider做UA判斷了,這也就是大家常見的一些解決方案,使用phantomjs或者nginx代理,來對spider訪問的頁面進行特殊的處理,達到被收錄的效果。

那麼這麼做其實是有一些副作用的,比如你收錄的頁面和用戶正常訪問的頁面差別較大是有被搜索引擎K掉的風險的,所以更多的做法還是選擇首屏使用ssr的方式渲染,先通過後端路由保證頁面的主要信息可以被服務器端輸出,然後其他的功能,包括用戶之後的路由跳轉控制,再使用前端路由來做,曾經的項目經驗在新浪博客手機版中也是這麼做的,當然當時沒有ssr,是後端直接渲染的模板,用戶訪問後,再進行交互則再採用前後端分離和前端路由控制來完成。

然後就是google的搜索引擎,是支持hashtag再rewrite訪問你的靜態版的,但是畢竟只有google支持,所以正規的做法都是使用pushState來對頁面URL做前端的後續無刷新控制,對爬蟲和所有用戶提供任何入口的ssr或者首屏的直接渲染,纔是最完美的SEO支持方案。

ok,到這裏說清楚了第一個點,那麼第二個點怎麼做呢?SEO優化其實我也學過一些簡單的,僅僅讓站點支持收錄只是第一步,關鍵詞的搭配,頁面關鍵詞的分部,一些特殊的meta頭,還有站內鏈接的鏈路,站外的鏈路,甚至站羣權重的影響,這些加一起出一本都足夠了,大家有興趣可以去搜索SEO相關的一些書籍。

這裏給大家講一些很早年我做百度SEO的一些小故事,我上大學的時候認識一個專門做企業站百度SEO的公司,或者說小團隊吧。他們做關鍵詞的排名做到了什麼程度呢?根本不需要你的網站有任何你想要的關鍵字,比如我想買一個『微信小程序』的關鍵字排名,他們當時的能力就是3天能讓你上第一頁。而且你的網站都不需要有微信小程序這個詞。

怎麼做到的呢?哈哈,其實就是站羣,當時百度的收錄權重是有很大的問題的,外鏈的引入量達到一定的時候,根本不需要你自己本身來做SEO優化,你的排名就會蹭蹭長,當然這個代價是非常大的,比如你需要先有1000個以上的域名,還要有批量的機器支持快速的更新這1000個站羣的內容,和內部的鏈接等,這是一個技術和體力活,而且風險比較大,規則總是在變,隨時有被K的風險,給客戶做的時候也是需要自己測試無誤再賣這種暴力產品。

所以,所謂的SEO,不還是。。。人家Search Engine裏面幾條規則的事,做優化,還是要先了解規則,才能優化的足夠NB,這些規則裏,前後端分離這玩意只是其中一條。更多的優化靠的還是內容和鏈接交換。

最後,再次瀉藥…

搜索引擎蜘蛛爬蟲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章