移動(dòng)網(wǎng)站大體上有三種方式可以選擇:
響應(yīng)式設(shè)計(jì)(responsive design):
PC站和移動(dòng)站的URL是完全一樣的(不管用什么設(shè)備訪問(wèn)都一樣),返回給瀏覽器的HTML代碼也是一樣的,不同寬度的屏幕排版不同是通過(guò)CSS控制的。以前也經(jīng)常稱為自適應(yīng)設(shè)計(jì),就是因?yàn)榕虐媸歉鶕?jù)屏幕寬度自動(dòng)適應(yīng)的。
動(dòng)態(tài)服務(wù)(dynamic serving):
PC站和移動(dòng)站的URL是完全一樣的,這點(diǎn)和響應(yīng)式設(shè)計(jì)相同,但動(dòng)態(tài)服務(wù)方式返回給瀏覽器的HTML代碼(以及CSS)是不一樣的,PC設(shè)備得到的HTML代碼是PC版,移動(dòng)設(shè)備得到的HTML代碼是專門(mén)做了移動(dòng)優(yōu)化的移動(dòng)版本。
獨(dú)立移動(dòng)站(separate m. site)
移動(dòng)站的URL和PC站是不一樣的,通常用單獨(dú)的子域名,比如PC站是sangeethamanjari.com,移動(dòng)站是m.fzyxwl.com,當(dāng)然移動(dòng)站的HTML代碼(以及CSS)與PC站也是不一樣的,是專門(mén)做了移動(dòng)優(yōu)化的。換句話說(shuō),這種方式下,移動(dòng)站就是個(gè)獨(dú)立的網(wǎng)站。
這三種方式各有各的特點(diǎn)。
既然URL一樣,所有設(shè)備得到的 HTML代碼也一樣,好處顯而易見(jiàn):簡(jiǎn)單明了,搜索引擎不會(huì)被弄糊涂。搜索引擎抓取、索引一套頁(yè)面就行了,提高索引效率,尤其對(duì)大網(wǎng)站,抓取份額浪費(fèi)在多個(gè)URL上,就意味著降低深層頁(yè)面被抓取的機(jī)會(huì)。自適應(yīng)設(shè)計(jì)只有一個(gè)URL,鏈接、權(quán)重計(jì)算都集中在一個(gè)URL上,不會(huì)出問(wèn)題。
用戶也不會(huì)被弄糊涂,收藏書(shū)簽、分享頁(yè)面也不會(huì)因?yàn)閁RL的不同而出問(wèn)題。
站長(zhǎng)方面開(kāi)發(fā)維護(hù)一套代碼就可以了,后端開(kāi)發(fā)成本相對(duì)低一些。建設(shè)的外鏈也集中在一個(gè)URL上。不需要判斷設(shè)備、瀏覽器類型,也不需要轉(zhuǎn)向,也就不會(huì)出錯(cuò)。
當(dāng)然也有壞處。比如,移動(dòng)設(shè)備由于屏幕大小的關(guān)系,經(jīng)常要隱藏一些內(nèi)容和功能,但還是需要下載完整的HTML代碼,經(jīng)常還包括圖片,所以會(huì)浪費(fèi)帶寬。手機(jī)網(wǎng)速慢的話,多下載文件就意味著速度變慢。而且,同一套代碼要在所有設(shè)備顯示正常,還要盡快開(kāi)始渲染,前端設(shè)計(jì)需要比較高的水平。
響應(yīng)式設(shè)計(jì)的頁(yè)面必須設(shè)置viewport,告訴瀏覽器按照屏幕寬度自動(dòng)調(diào)整頁(yè)面排版:
meta name="”viewport”" content="”width=device-width," initial-scale="1.0″"/
雖然有缺點(diǎn),但隨著移動(dòng)網(wǎng)速、手機(jī)性能的提高,響應(yīng)式的缺點(diǎn)逐漸顯得沒(méi)那么致命,而它的簡(jiǎn)捷性就更顯優(yōu)勢(shì)了。所以,響應(yīng)式設(shè)計(jì)是今后的方向,是大勢(shì)所趨。這也就是為什么我建議新網(wǎng)站,或者剛剛要做移動(dòng)SEO的網(wǎng)站,肯定直接就做響應(yīng)式了,不用考慮其它選項(xiàng)。(除非貴公司不差錢(qián),可以考慮動(dòng)態(tài)服務(wù)。)
和響應(yīng)式設(shè)計(jì)相比,獨(dú)立移動(dòng)站顯然開(kāi)發(fā)成本要提高,要開(kāi)發(fā)維護(hù)兩套代碼。隨著國(guó)內(nèi)人力成本提高,需要重復(fù)做的事情會(huì)越來(lái)越不劃算。
獨(dú)立移動(dòng)站的更大潛在麻煩是URL的不同可能造成混亂和各種出錯(cuò)。比如,既然移動(dòng)和PC版本URL不同,搜索引擎就需要建立對(duì)應(yīng)關(guān)系,必須判斷PC頁(yè)面對(duì)應(yīng)的移動(dòng)版本URL是什么,移動(dòng)頁(yè)面對(duì)應(yīng)的PC版本URL是什么。網(wǎng)站需要在頁(yè)面添加代碼幫助搜索引擎判斷:
PC頁(yè)面需要加下面代碼指明移動(dòng)版本位置:
link rel="alternate" media="only" screen="" and="" max-width:="" /
對(duì)應(yīng)的移動(dòng)頁(yè)面需要加下面代碼指明PC版本位置:
link rel="canonical”" href="http://sangeethamanjari.com/"/
在搜索引擎兩個(gè)版本都抓取了、并且正確判斷的情況下,PC和移動(dòng)版本就建立了一一對(duì)應(yīng)關(guān)系。但是,如果站長(zhǎng)把標(biāo)簽加錯(cuò)了怎么辦?搜索引擎只抓取了一個(gè)版本怎么辦?搜索引擎沒(méi)有準(zhǔn)確解析 標(biāo)簽怎么辦?
而且,要建立一一對(duì)應(yīng)關(guān)系,需要PC版本和移動(dòng)版本主體內(nèi)容是一樣的。很多時(shí)候m.移動(dòng)版本頁(yè)面內(nèi)容精減或修改過(guò)多,搜索引擎認(rèn)為內(nèi)容不相符怎么辦?甚至有的時(shí)候獨(dú)立移動(dòng)站只建了部分頁(yè)面,很多PC頁(yè)面沒(méi)有對(duì)應(yīng)移動(dòng)頁(yè)面又怎么辦?
網(wǎng)站有兩個(gè)版本,用戶在添加書(shū)簽、分享鏈接時(shí),不可避免地會(huì)有一部分指向PC頁(yè)面URL,一部分指向移動(dòng)URL,鏈接權(quán)重將分散。
通常,為了用戶體驗(yàn)和幫助搜索引擎判斷對(duì)應(yīng)關(guān)系,網(wǎng)站需要做符合規(guī)則的轉(zhuǎn)向:
PC用戶由于某種原因訪問(wèn)了移動(dòng)URL的話,需要被自動(dòng)301轉(zhuǎn)向到PC版本URL
移動(dòng)用戶由于某種原因訪問(wèn)了PC頁(yè)面URL的話,需要被自動(dòng)301轉(zhuǎn)向到移動(dòng)URL
301轉(zhuǎn)向一般是服務(wù)器端做的,首先就需要根據(jù)瀏覽器用戶代理匹配特征字符串判斷用戶設(shè)備和瀏覽器類型,上網(wǎng)設(shè)備和瀏覽器五花八門(mén),程序100%檢測(cè)正確不是件容易的事。判斷出錯(cuò),用戶可能就只能看到一個(gè)排版錯(cuò)誤的頁(yè)面,甚至某些功能都無(wú)法使用。搜索引擎蜘蛛也可能被判斷錯(cuò),導(dǎo)致不能建立兩個(gè)版本的對(duì)應(yīng)關(guān)系。
大公司需要用子域名做多語(yǔ)言網(wǎng)站SEO的話,加上m.獨(dú)立移動(dòng)站,就會(huì)使管理子域名更加復(fù)雜,因?yàn)榫W(wǎng)站又要增加:
sg.fzyxwl.com
m.sg.fzyxwl.com
cn.fzyxwl.com
m.cn.fzyxwl.com
等等。多語(yǔ)言hreflang標(biāo)簽和獨(dú)立移動(dòng)站的 標(biāo)簽排列組合起來(lái),哪個(gè)對(duì)應(yīng)哪個(gè)不能弄錯(cuò)了。如果再加上Google AMP和百度MIP頁(yè)面版本,所有版本之間的對(duì)應(yīng)關(guān)系和標(biāo)簽寫(xiě)法,可能會(huì)把人繞暈倒。
動(dòng)態(tài)服務(wù)和獨(dú)立移動(dòng)站一樣,首先在服務(wù)器端判斷設(shè)備和瀏覽器類型,然后在同樣的URL上、根據(jù)瀏覽器屏幕寬度返回不同的HTML和CSS代碼。
所以動(dòng)態(tài)服務(wù)方法相當(dāng)于把響應(yīng)式設(shè)計(jì)和獨(dú)立移動(dòng)站的優(yōu)點(diǎn)結(jié)合起來(lái)了,即有URL統(tǒng)一的簡(jiǎn)潔明了,又有獨(dú)立移動(dòng)站的代碼優(yōu)化,SEO效果是最好的。當(dāng)然,代價(jià)是前后端成本都要提高。
對(duì)不差錢(qián)的公司來(lái)說(shuō),動(dòng)態(tài)內(nèi)容是最佳選擇,比如amazon現(xiàn)在就是用動(dòng)態(tài)服務(wù)做移動(dòng)優(yōu)化的,URL統(tǒng)一簡(jiǎn)單,不會(huì)出錯(cuò),兩個(gè)版本的代碼還可以分別優(yōu)化,據(jù)說(shuō),亞馬遜移動(dòng)版本節(jié)省了40%的文件下載量,對(duì)手機(jī)用戶來(lái)說(shuō),頁(yè)面打開(kāi)速度的提升是至關(guān)重要的 。
是否使用動(dòng)態(tài)服務(wù)要看公司情況。對(duì)大部分網(wǎng)站來(lái)說(shuō),頁(yè)面內(nèi)容、排版、功能沒(méi)那么復(fù)雜,響應(yīng)式設(shè)計(jì)已經(jīng)滿足需要,用高成本實(shí)現(xiàn)動(dòng)態(tài)服務(wù),節(jié)省的下載量沒(méi)那么明顯,比如SEO每天一貼這種博客,還有大量?jī)?nèi)容型網(wǎng)站,頁(yè)面連個(gè)圖片都沒(méi)有,除了留言也沒(méi)有別的交互,那是一點(diǎn)下載都節(jié)省不了,動(dòng)態(tài)服務(wù)就沒(méi)意義了。
搜索引擎蜘蛛訪問(wèn)動(dòng)態(tài)服務(wù)的頁(yè)面時(shí),從HTML代碼是無(wú)法自動(dòng)知道不同瀏覽器得到的代碼將會(huì)是不同的。比如PC蜘蛛訪問(wèn)時(shí),得到的是PC版代碼,但蜘蛛并不必然知道移動(dòng)蜘蛛來(lái)訪問(wèn)的話會(huì)得到不同的代碼,所以服務(wù)器端需要通過(guò)Vary HTTP頭信息告訴搜索引擎蜘蛛,PC蜘蛛和移動(dòng)蜘蛛得到的代碼是不一樣的,兩個(gè)蜘蛛都要來(lái)訪問(wèn)一下。比如amazon.com頁(yè)面的服務(wù)器頭信息:
< Content-Type: text/html
< Content-Length: 6400
< Connection: keep-alive
< Server: Server
< Date: Sat, 27 Jul 2019 16:42:45 GMT
< Vary: Content-Type,Host,Cookie,Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent
< Edge-Control: no-store
< x-amz-rid: KH589YRZC8QEW3QEWGKD
< X-Cache: Error from cloudfront
< Via: 1.1 1b52a5dd431f9e3c81753e61dfdf467a.cloudfront.net (CloudFront)
< X-Amz-Cf-Pop: SFO9
< X-Amz-Cf-Id: 0qtVw99a2_AustEZ-dxC_cs9hfVzyll-DmHnmWFDtBSWKtinpxhB2Q==
其中Vary那行就是通知瀏覽器/蜘蛛,根據(jù)后面列的情況不同,HTML代碼是不同的,Vary: User-Agent指的就是根據(jù)瀏覽器用戶代理的不同,HTML代碼是不同的。
很多公司和站長(zhǎng)對(duì)獨(dú)立移動(dòng)站情有獨(dú)鐘,認(rèn)為m.移動(dòng)站SEO效果是最好的,做新網(wǎng)站還要做獨(dú)立m.站。這個(gè)執(zhí)念可能來(lái)自兩方面。
一是以前百度更建議獨(dú)立移動(dòng)站,我在2015年廈門(mén)百度之夜的帖子中說(shuō)明過(guò)這一點(diǎn)。但現(xiàn)在4年過(guò)去了,百度現(xiàn)在的正式官方態(tài)度我沒(méi)有看到,但兩年前百度搜索主任架構(gòu)師譚待明確跟我說(shuō)過(guò),百度也認(rèn)為響應(yīng)式設(shè)計(jì)是未來(lái)趨勢(shì),百度也推薦轉(zhuǎn)向響應(yīng)式設(shè)計(jì)。我的觀察是,百度現(xiàn)在對(duì)響應(yīng)式設(shè)計(jì)的支持沒(méi)有問(wèn)題。
Google一直以來(lái)就是推薦響應(yīng)式設(shè)計(jì)的。
當(dāng)然,這里說(shuō)的推薦,并不是說(shuō)響應(yīng)式比獨(dú)立移動(dòng)站的SEO效果更好,而只是表明,百度和Google對(duì)三種方法是一視同仁的,排名上并不偏向哪一個(gè),SEO效果是一樣的。既然效果一樣,當(dāng)然推薦那個(gè)簡(jiǎn)單便宜的了。
第二個(gè)原因,就如開(kāi)頭讀者說(shuō)的,目前在百度移動(dòng)搜索排名靠前的m站較多。這是個(gè)準(zhǔn)確的觀察,確實(shí)百度移動(dòng)搜索結(jié)果中排名好的m站很多,在不少行業(yè),m.站排在前面的占大部分。不過(guò),這并不必然說(shuō)明m.獨(dú)立移動(dòng)站有SEO優(yōu)勢(shì),我覺(jué)得這更多是采樣偏差造成的。
舉個(gè)例子,數(shù)據(jù)表明,車(chē)禍發(fā)生大部分是男性司機(jī)造成的,不過(guò)這是否說(shuō)明男司機(jī)開(kāi)車(chē)有劣勢(shì)呢?恐怕不能這么認(rèn)為,因?yàn)楸仨毧紤]路上司機(jī)的男女比例,很可能開(kāi)車(chē)的80%是男的,造成了70%的車(chē)禍,所以70%車(chē)禍?zhǔn)悄兴緳C(jī)造成,不能說(shuō)明男司機(jī)開(kāi)車(chē)水平比女司機(jī)差。
移動(dòng)搜索排名也是同樣道理。現(xiàn)在排名靠前的m.站居多,很可能這些站絕大部分是老站(所以才排名能力高嘛),而幾乎所有老站當(dāng)初開(kāi)始做移動(dòng)SEO時(shí)都是從m站入手的,不到萬(wàn)不得已,這些使用m站的老站不會(huì)去改為響應(yīng)式設(shè)計(jì),因?yàn)楦膭?dòng)太大了,冒險(xiǎn),又沒(méi)有明顯好處(如前所說(shuō),三種方式SEO效果一樣的),沒(méi)有動(dòng)力改。
所以,老站、大站排名好,而老站、大站又以m站為主,所以我們就看見(jiàn)m站排名好了。但這不說(shuō)明一個(gè)新站就要學(xué)著做m站啊。