前段時間,百度站長平台微信公眾帳號全網首發攜程SEO負責人安琦老師的文章《前端代碼優化帶來搜索引擎高效地識別移動頁面》,閱讀量超高,被讀者譽為“五星好評的干貨”。該文章是安琦老師參加杭州VIP大講堂移動化培訓後,與其前端同事深入研究的結果,得到了百度內部工程師的高度認可:
開篇先摘一段新聞《中國智能手機市場6年首現負增長》,文中指出:“IDC報告顯示,2015年第一季度中國手機市場出貨量為1.1億部左右,同比下滑3.7%。其中智能手機市場出貨量為1億部左右,同比下降2.5%。這是過去6年以來,中國智能手機市場第一次出現季度同比下滑的情況。”
這意味這什麼呢?簡單說,我國智能機不但普及,且已趨飽和,移動紅利即將消耗贻盡。那對於網站優化人員又意味著什麼?結果上講,重大網站沒有完成移動化需亡羊補牢,中小網站去完成移動化迫在眉睫。
制作出用戶體驗良好的手機頁面只是萬事俱備,最為關鍵的臨門一腳是獲得搜索引擎的青睐,這樣才能得到精准的用戶,很多網站擁有PC和移動兩套頁面,從經驗上看,精准、高效地被搜索引擎識別不但促進移動頁面的排名和流量獲取,對PC頁面也有額外的效果加成。
在經歷了一輪輪移動H5項目,看過很多移動頁面識別和優化的國外文章,更重要的是多次和百度相關人對話和解決問題後,我將一些常見的HTML識別細節總結了兩部分,用於促進移動頁面被搜索引擎識別、收錄,讓更多優質流量更早、更多地分發到自己頁面。
一、head標簽中的部分
1.URL設計
URL盡量含有通用已成趨勢的移動命名,例如“m./wap./3g./mobi./mobile./mob/wml/”,可以在子域名等方面體現
2.頁面頂部的doctype標簽
作為協議的重要部分,doctype中是否移動化也很重要,檢查是否存在與移動相關的聲明,如這些關鍵詞,openmobilealliance, xhtml-mobile, xhtml-basic,wapforum,dtd compact html
例:“<!DOCTYPE html PUBLIC “-//WAPFORUM//DTD XHTML Mobile 1.0//EN””http://www.wapforum.org/DTD/xhtml-mobile10.dtd”>”
3.meta標簽中的viewport屬性和x-ua-compatible 屬性
viewport,移動前端開發中最重要的標簽,響應式設計的根基,如果你的頁面是遵守響應式設計的,那麼說明這些頁面對移動設備有友好的輸出。
典型的的viewport代碼是這樣的,,判斷移動與否的關鍵屬性值為width,如果width=device-width這是典型的移動友好的設計,增加判定為移動頁面的砝碼,如果width有具體值,且值大於典型的移動屏幕(應該小於600),那麼該頁面被判定為PC頁面的幾率大大增加。
但,META中還有一個很獨特的屬性作為SEO人員應該很少接觸到,那就是x-ua-compatible 屬性,該屬性是PC意味非常強烈的功能性代碼。示例代碼如此,,從百度工程師處得知,該代碼會有較強暗示當前頁面為PC頁面的功能,需選擇性使用。
4.title中的移動暗示
制作移動頁面時,在title標簽中寫明:“移動版”、“手機版”、“WAP版”、“觸屏版”不僅是照顧用戶體驗的方案,也利於頁面的移動識別,反之PC頁面要謹慎使用這些文案。
5.鏈接link標簽的media和href屬性中需要注意的細節(多為樣式文件)
media屬性值為screen時,表示屏幕中的顯示樣式,link的href所填寫的URL(基本為樣式文件的URL)就比較重要了,一定程度加大不同設備的偏重。此時URL中盡量出現/wap,/mobile/這樣的命名,同URL設計一樣,用於提高頁面識別為移動的效率和概率。如URL中含有pc字樣則加大識別為PC頁面的幾率。
6.一些通用的PC類識別HTML代碼
embed:經常用於嵌入多媒體
object:用於嵌入對象
marquee:老舊的滾動特效實現代碼
iframe:想必網站優化人員很熟悉了,典型的PC常用標簽
這些典型的用於PC或者老舊的、HTML5已經有更高效替代方案的舊標簽,意味著使用它們將增加頁面的PC屬性,需要有目的地取捨。
7.一些javascript中典型的PC特征
加載swfobject、含有activexobject語句:移動頁面根本不會使用如此重的多媒體引用方案(不信你問問你的前端工程師)
含有netscape(網景)、msie(IE)、firefox(火狐)、browser.msie(IE)這些典型的非移動端浏覽器兼容代碼的
設置了timer的 ,以及JS代碼含有settimeout的(此處不知道為什麼設置timer還有識別的問題),均大幅增加識別為PC頁面的可能性
以上這些中出現的內容,
二、正文body中需要注意的部分
鏈接和文本遵照的原則基本與head中一樣——多出現移動相關的字眼;頁面設置的寬度不要超過常規移動設備的大小;那些常識中(除非招錯前端工程師)絕對只用於PC的一些兼容性代碼。
此外div塊的個數也值得注意,沒有哪家移動頁面會過量使用div塊;還有典型的只用於適配PC機器的HTML代碼,例如:accesskey(如果移動頁面用,要不前端招錯人了,要不產品招錯人了,應該引起警覺)
head和正文兩大部分,基本涵蓋了一張頁面最主要的部分。
網站優化人員一定要把握這些使用細節,協助前端工程師從正反方向將公司的PC和手機頁面泾渭分明地呈現給搜索引擎。試想如果你每日被抓取頁面達到90%的識別率,而一般水平是70%,這種優化增量是非常顯著的。
最後,分享一個機器學習的思想給網站優化的新人,此文中心思想截取如下:“你從市場上的芒果裡隨機的抽取一定的樣品(訓練數據), 制作一張表格, 上面記著每個芒果的物理屬性, 比如顏色, 大小, 形狀, 產地, 賣家, 等等。(這些稱之為特征)。 還記錄下這個芒果甜不甜, 是否多汁,是否成熟(輸出變量)。你將這些數據提供給一個機器學習算法(分類算法/回歸算法),然後它就會學習出一個關於芒果的物理屬性和它的質量之間關系的模型。 下次你再去市集, 只要測測那些芒果的特性(測試數據),然後將它輸入一個機器學習算法。算法將根據之前計算出的模型來預測芒果是甜的,熟的, 並且/還是多汁的。
結合本文中的內容、再結合你已經爛熟於心的搜素引擎工作原理,設想一下,你的所有頁面都是芒果,百度是帶有識別模型(且該模型會自己訓練、糾正自己)的芒果鑒別器,怎麼讓你的芒果持續性地、每次被拿起來都進入那個又大、又甜、又多汁的籃子?那些一眼就看出來的大甜芒果當然好判斷,那些一眼看不出來的呢?我們能不能多生產些一眼就看出來好壞的芒果呢?這樣整個果園是不是好收割一點?”
文章中的html細節就是模型的冰山一角。