代碼適配移動(dòng)站點(diǎn)怎樣對百度友好?
在百度公開(kāi)的三種移動(dòng)化技術(shù)選型中,代碼適配可在網(wǎng)上尋找到的內容并不多,那么具體代碼適配站點(diǎn)在開(kāi)發(fā)時(shí)要注意哪些內容呢?
文/TripAdvisor 貓途鷹SEO負責人張洺乾
百度的移動(dòng)適配目前分為三種情況:跳轉適配,代碼適配和自適應。跳轉適配目前百度的站長(cháng)平臺里有完整的適配工具,可以在平臺里提交適配規則即可。但是代碼適配則需要我們在網(wǎng)站里做一些配置,才能讓百度準確識別我們的網(wǎng)頁(yè)適配關(guān)系。下面就詳細介紹下我們做代碼適配的過(guò)程。
流量潛力
如果不做移動(dòng)適配的話(huà),可能我們本來(lái)有的移動(dòng)網(wǎng)頁(yè)和移動(dòng)端排名因百度無(wú)法確認是移動(dòng)頁(yè)面,因此這部分流量都給指向了百度的轉碼頁(yè)??梢钥醋约壕W(wǎng)站在站長(cháng)工具里面,移動(dòng)端有多少流量是指向了轉碼頁(yè)。這部分流量在做完適配后,即可指向我們的移動(dòng)頁(yè)面,避免了自己的流量被百度截流。
開(kāi)發(fā)
代碼適配的開(kāi)發(fā),百度官方也有詳細的說(shuō)明(詳情見(jiàn)關(guān)于代碼適配部分內容),可分為兩部分: Vary HTTP標頭 和 Meta applicable-device 標簽。
【Vary HTTP 標頭】
其作用在百度的文檔里解釋得很清楚:
1、它會(huì )向百度傳遞一個(gè)信號,表示說(shuō)這是個(gè)代碼適配的站點(diǎn),百度就會(huì )盡快把網(wǎng)站抓取一遍進(jìn)行適配;
2、它可以防止用戶(hù)接收到錯誤的網(wǎng)頁(yè)緩存。這部分是在網(wǎng)站的服務(wù)器上進(jìn)行的,有可能是Nginx,Apache, IIS 等,需要在服務(wù)器的配置里,設置Varyheader 為Vary:Accept-Encoding, User-Agent
比如Nginx 下,可以在配置文件中加上:more_set_headers-s 200 "Vary: " "Accept-Encoding, User-Agent"
注意:打開(kāi)這個(gè)設置需要nginx同時(shí)安裝有ngx_headers_more模塊
在A(yíng)pache下,可以在配置文件里寫(xiě)上:Headerappend Vary User-Agent
【Meta applicable-device 標簽】
Vary header 加上之后,為了讓百度更好地識別我們的頁(yè)面是 PC 還是 Mobile,就需要使用百度自定義的這個(gè) Meta applicable-device 標簽了。注意以下來(lái)自百度的消息: Meta applicable-device 標簽,并非是站點(diǎn)必須標注的,現在很多站點(diǎn)沒(méi)有標記這個(gè)標簽情況也很好。但這個(gè)標簽可以幫助百度校驗自己的判斷,并及時(shí)進(jìn)行修正。做這個(gè)事情又不麻煩,所以我們建議代碼適配站點(diǎn)為了保證效果,還是加這個(gè)標簽。
因此可能有些網(wǎng)站之前的移動(dòng)流量已經(jīng)很好了, 不會(huì )出現被百度轉碼的情況. 這說(shuō)明百度已經(jīng)能很好地識別你的移動(dòng)頁(yè)面了. 但是依然建議加上這個(gè)標簽, 一來(lái)加這個(gè)標簽很容易, 二來(lái)可以確保百度能更準確地識別頁(yè)面類(lèi)型. 如果沒(méi)有加這個(gè)標簽的話(huà), 萬(wàn)一突然技術(shù)做改版, 一些代碼的修改導致百度無(wú)法繼續準確識別頁(yè)面類(lèi)型了呢?
這部分是在網(wǎng)站的模板里添加的。自適應的網(wǎng)站肯定已經(jīng)有了判斷用戶(hù)設備是 PC還是 Mobile的邏輯。利用這個(gè)邏輯,在整站的<head></head> 部分添加一行代碼即可:
如果用戶(hù)是PC設備(注意需要包括Baiduspider PC UA),則添加<metaname="applicable-device" content="pc">
如果用戶(hù)是移動(dòng)設備(包括Baiduspider Mobile UA),則添加<metaname="applicable-device" content="mobile">
注:關(guān)于BAIDUSPIDER,移動(dòng)和PC其實(shí)都是Baiduspider,并沒(méi)有區分,只是UA進(jìn)行了區分。最新移動(dòng)UA請見(jiàn)百度官方文檔。
驗收上線(xiàn)
開(kāi)發(fā)完成后,需要先在測試機上驗收??梢杂?Google 瀏覽器來(lái)模擬 Baiduspider 來(lái)檢查是否添加正確, 如圖所示, 是檢查 Baiduspider Mobile UA 的效果的
在測試機上驗收完成后就可以上線(xiàn)了。上線(xiàn)后,盡量再用站長(cháng)平臺的抓取診斷工具測試幾個(gè)頁(yè)面,以免到線(xiàn)上后出現與測試機不一致的情況。比如下面是抓取 PC 頁(yè)面來(lái)檢查的線(xiàn)上結果。
跟蹤
上線(xiàn)后就可以持續跟蹤百度移動(dòng)的SEO流量數據了。要追蹤的主要是網(wǎng)站自己的統計工具統計的流量數據和百度站長(cháng)平臺的移動(dòng)端轉碼頁(yè)流量數據。上線(xiàn)后一到兩周,移動(dòng)端的流量應該就會(huì )有明顯的增長(cháng),而百度轉碼頁(yè)的流量則會(huì )下降。這個(gè)此消彼長(cháng)的過(guò)程會(huì )持續一段時(shí)間。直到轉碼頁(yè)的流量基本為0,都轉為移動(dòng)頁(yè)的流量。
關(guān)于代碼適配
為了使百度能夠知道當您的頁(yè)面發(fā)生變化時(shí),同時(shí)需要用其他的ua重新抓取一遍,請您添加Vary HTTP標頭。Vary HTTP 標頭具有以下兩個(gè)非常重要且實(shí)用的作用:
a)它會(huì )向 ISP 和其他位置使用的緩存服務(wù)器表明:在決定是否通過(guò)緩存來(lái)提供網(wǎng)頁(yè)時(shí)它們應考慮用戶(hù)代理。如果您沒(méi)有使用 Vary HTTP 標頭,緩存可能會(huì )錯誤地向移動(dòng)設備用戶(hù)提供pc版 HTML 網(wǎng)頁(yè)的緩存(反之亦然)。
b)它有助于 百度spdier 更快速地發(fā)現針對移動(dòng)設備進(jìn)行優(yōu)化的內容,這是因為我們在抓取針對移動(dòng)內容進(jìn)行過(guò)優(yōu)化的網(wǎng)址時(shí),會(huì )將有效的 Vary HTTP 標頭作為抓取信號之一,我們會(huì )提高用其他ua抓取此網(wǎng)頁(yè)的優(yōu)先級。
示例:
并且在pc的響應的head中添加
- <meta name="applicable-device" content="pc">
在移動(dòng)的響應的包頭中添加
- <meta name="applicable-device" content="mobile">