不久前在HubSpot One的《為什麼SEO和CRO必須是好基友? 》一文中,我們提到只要技術處理得當,SEO和CRO完全可以共存。我們略微深入來看,SEO這邊的擔心可能更多。 CRO們進行的A/B測試會不會把自己的明星頁面搞砸,造成索引丟失、替換,排名下降呢?本篇我們將討論這個問題。如果對技術部分不感興趣可以直接跳至結論。
A/B測試的技術選擇
既然是A/B測試,就意味著流量分發到A和B頁面上。我們可以把這個分流分為兩種模式:跳轉分流和初始分流。
- 跳轉分流由Control頁面,也就是A頁面,來分發流量到B頁面,它可以通過HTTP跳轉或者JavaScript跳轉、Meta Refresh跳轉(不推薦)等形式把流量送到B頁面。
- 直接分流是廣告上常用的,分流直接通過創意中設置的不同落地頁來進行。
直接分流對SEO影響不大,因為這兩個著陸頁面本身沒有太多關係,用途僅僅是作為推廣計劃的一部分。你甚至可以使用robots.txt中的disallow指引讓這兩個頁面對搜索引擎皆不可見。我們在這裡要討論的是跳轉分流。
跳轉分流的技術選擇
既然說到跳轉就會把跳轉分為後端跳轉和前端跳轉。
下圖演示了後端跳轉的流程簡圖。
這裡我們所說的跳轉即HTTP跳轉或3XX跳轉,此處特指302跳轉,這是一種臨時跳轉。它發生在服務器端。客戶端全程只獲得最後B頁面的HTML。
前端跳轉稍微複雜些。
我們可以看到,前端跳轉的過程中客戶端前後接收到A頁面和B頁面的HTML文檔。其中第一次會在客戶端執行擲色子的過程。
前面我們提到不推薦使用Meta Refresh跳轉,而我們這裡講的前端跳轉也僅指JavaScript跳轉,而不包括Meta Refresh跳轉。為什麼呢?
- 首先Meta Refresh跳轉一般僅在JavaScript被禁用或瀏覽器不支持的情況下才使用。如果不能跑JS,那就無法擲色子。跳轉也就沒有意義。如果由服務器來擲色子,那就沒有必要讓客戶端再來下載一次文檔並parse一下了。
- 其次Meta Refresh會將過程記錄在瀏覽歷史中,污染了我們的數據。還有丟失refer的風險。
比較前後端跳轉過程,我們可以發現由於客戶端只需要下載一次HTML文檔,後端的跳轉對用戶的體驗會更好。但是從測試的部署上講,前端跳轉不需要後端工程師的介入便可以自由完成,因此前端的通過JavaScript跳轉進行分流的方法成了現今主流的A/B測試方法。 Google Analytics和Google Optimize也採用前端跳轉方案。
如何跳轉才對SEO更好?
既然談到SEO,我們需要區別是什麼引擎。比如Google和谷歌就很不一樣。
- 對後端跳轉來講,對Google使用302容易產生重複內容頁面;而谷歌卻鼓勵使用302跳轉進行分流測試。
- 對前端跳轉來講,Google可以識別簡單的JS跳轉,同樣會產生重複頁面索引,而谷歌鼓勵使用JS跳轉進行實驗。
因此我們必須區別對待。
後端跳轉對Google和谷歌的推薦配置
如果我們要使用302跳轉進行分流,那麼我們在服務器端就應該對Google和谷歌區別對待。
首先,我們在後端需要監測HTTP請求的User Agent。對於Google爬蟲(那些包含baiduspider的user agents),我們將不返回302跳轉狀態碼。而對谷歌爬蟲,我們將返回與普通訪客相同的狀態碼。同時我們將在robots.txt中禁封Google爬蟲爬取B頁面。
如此一來,B頁面將對Google不可見。即便Google從第三方獲得B頁面的鏈接也不會對其爬行將其索引。不過這樣做的一個小問題是你將無法獲得來自B頁面的權重傳遞。
接下來,我們需要在B頁面上可添加rel=”canonical”標籤並指向A頁面,這樣谷歌可以理解A頁面才是權威頁面。
在A/B測試結束後,原B頁面將301跳轉至A頁面。如果B頁面勝利,我們可以將A頁面內容更新為B頁面內容。
為什麼不能對谷歌禁封B頁面呢?
因為如果A頁面跳轉至B頁面,而B頁面禁封,谷歌可能理解為A頁面需要改為禁封狀態,從而有很大風險會丟失A頁面的索引。
前端端跳轉對Google和谷歌的推薦配置
如果我們要使用JavaScript跳轉進行分流,對Google和谷歌的處置區別就小得多。我們不再需要對User Agent進行識別,並且不能對其進行不同處置。因為那樣會成為Cloaking,違反谷歌的搜索引擎站長準則。這種雕蟲小技在前端瞞不過谷歌,即便要做也在後端做啊,這樣代碼對爬蟲不可見。所以,我們利用的是Google對JavaScript的弱支持。
換句話說,只要我們的JavaScript跳轉條件寫得夠複雜Google就無法執行並發現B頁面。而谷歌還是會通過WRS發現B頁面。
我們還是要在B頁面上可添加rel=”canonical”標籤並指向A頁面,這樣谷歌可以理解A頁面才是權威頁面,並且在robots.txt中禁封Google爬蟲爬取B頁面。
在A/B測試結束後,原B頁面將301跳轉至A頁面。如果B頁面勝利,我們可以將A頁面內容更新為B頁面內容。
其他會影響SEO的並且A/B測試中需要注意的方面
以上我們深入剖析了A/B測試對SEO的影響,還提供了一些推薦。那麼還有哪些我們CRO中需要注意的呢?
- 測試時間宜短不宜長。長時間的302和JavaScript跳轉會被一些搜索引擎,如穀歌,看作永久跳轉。具體多久?很遺憾,沒有一個定論。
- 對跳轉分流測試測小不測大。 canonical指引是在具有細微差別的各版本之間使用的。比如按鈕顏色文字、價格、Hero Image等等。如果你的兩個測試實例差別很大,HubSpot One推薦使用直接分流來測試。
- A/B測試中當出現前端跳轉分流時,由於需要先後讀取兩個頁面可能導致B頁面到達率低的情況。因此B頁面實際分流比率會下降。此時如果用戶直接退出會影響搜索體驗對你的頁面排名有負面影響。因此穩定快速的伺服是CRO的先決條件。
以上就是HubSpot One歸納的CRO部署A/B測試時與SEO相關的要點。感謝閱讀,感謝關注HubSpot One。