最近在做公司的移動站點(diǎn)SEO優(yōu)化時(shí)關(guān)于適配工作,遇到了很多問題。原因很多,首先自己之前對移動站點(diǎn)方面的SEO工作做的比較少,而移動適配卻包含了很多知識點(diǎn),并非一個(gè)簡單的SEO人員能全部掌控的;其次整個(gè)移動seo行業(yè)正處于摸索和探索階段,不夠成熟,很難找到與自己類似的車成功案例可以效仿。綜合這兩大因素,讓一個(gè)適配工作持續(xù)了整整一周。主要問題停留在程序員在寫跳轉(zhuǎn)代碼的時(shí)候不知道該怎么寫!
其實(shí)之前在做網(wǎng)站的移動適配的時(shí)候,就遇到了不少問題,但是由于當(dāng)時(shí)不需要這么負(fù)責(zé),因此直接選擇了百度的siteapp自主適配。
百度站長平臺對移動適配方面的東西是這么定義的:為了提升用戶的移動搜索結(jié)果瀏覽體驗(yàn),百度移動搜索對具有對應(yīng)手機(jī)站的PC站提供“開放適配”服務(wù)。如果您同時(shí)擁有PC站和手機(jī)站,且二者能夠在內(nèi)容上對 應(yīng),您可向百度“提交”PC頁—手機(jī)頁的對應(yīng)關(guān)系,若對應(yīng)關(guān)系準(zhǔn)確,將有助于百度在移動搜索中將原PC頁結(jié)果替換為對應(yīng)的手機(jī)頁結(jié)果。積極的參與“開放適 配”,將有助于您的手機(jī)站在百度移動搜索獲得更好的展現(xiàn),同時(shí)以更佳的瀏覽效果贏取用戶口碑。
百度開放適配服務(wù)共提供三種方案——自主適配、標(biāo)注Meta聲明、提交對應(yīng)關(guān)系Sitemap,同時(shí)向站點(diǎn)提供開放適配進(jìn)度查詢。
可能大家對標(biāo)注meta聲明和提交對應(yīng)關(guān)系的sitemap這一項(xiàng)比較熟悉。另外對自主適配這個(gè)的理解僅限于使用百度的siteapp這個(gè)東西的層面上。當(dāng)然如果這么做,很簡潔,對百度也很友好,必定是通過百度自己的東西做的自主適配。而我的問題是,我們不需要他們的siteapp來做適配站。因?yàn)楫?dāng)時(shí)我們的網(wǎng)站是在原有的PC站點(diǎn)上,做了一一對應(yīng)的手機(jī)站。這個(gè)手機(jī)站是單獨(dú)存在的。而在移動設(shè)備上搜素到的我們的網(wǎng)站都是PC端的形式。在不想用百度的自動轉(zhuǎn)碼的情況下,做自主適配就是一個(gè)探索性的東西。
當(dāng)時(shí)我陷入僵局,因?yàn)橐粫r(shí)間找不到我需要的適配方式,對程序員來說適配很好做,很簡單。但是我作為SEO人員,我要的適配不光是簡單的進(jìn)行跳轉(zhuǎn),而且是搜索引擎能識別且承認(rèn)的一種適配和跳轉(zhuǎn)。這個(gè)需求當(dāng)時(shí)給程序員很大的壓力,因?yàn)槌绦騿T不肯跟知道百度能識別什么。而作為我,提出了問題,卻給不了解決需求的文檔,這是個(gè)難題。
我的需求是標(biāo)注meta進(jìn)行判斷,判斷成功后進(jìn)行跳轉(zhuǎn)。而我當(dāng)時(shí)的需求就是要這個(gè)跳轉(zhuǎn)代碼。而這個(gè)跳轉(zhuǎn)代碼必須是百度可以識別并承認(rèn)這事適配之后的一個(gè)跳轉(zhuǎn)。
可能大家知道的跳轉(zhuǎn)代碼有很多,但是我當(dāng)時(shí) 想要的是符合百度,做SEO的都懂得。
在網(wǎng)上找了好久,最后還是沒找到。不過找到一個(gè)js跳轉(zhuǎn)代碼,和我們的技術(shù)溝通之后,覺得也能用。這個(gè)代碼先給大家:
一個(gè)可以根據(jù)不同的終端類型適當(dāng)?shù)母淖冋齽t表達(dá)式:
<script type=”text/javascript”>
if(/AppleWebKit.*mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
if(window.location.href.indexOf(“?mobile”)<0){
try{
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
window.location.href=”手機(jī)頁面”;
}else if(/iPad/i.test(navigator.userAgent)){
window.location.href=”平板頁面”;
}else{
window.location.href=”其他移動端頁面”
}
}catch(e){}
}
}
</script>
后來看了一下是js寫的,又覺得對搜索引擎不是很好。最后找了我們網(wǎng)站另一個(gè)頻道以前做的適配跳轉(zhuǎn)代碼,雖然不知道這個(gè)跳轉(zhuǎn)代碼是否是我想要的,但作為跳轉(zhuǎn)代碼還是完全正確的,寫給大家:
String userAgent = request.getHeader(“User-Agent”).toUpperCase();
if(userAgent.indexOf(“UC”)!=-1 || userAgent.indexOf(“BAIDU TRANSCODER”)!=-1){
String enCity=request.getParameter(“city”);
String pid=request.getParameter(“pid”);
response.sendRedirect(“detail_mobile.jsp?city=”+enCity+”&pid=”+pid);
return;
}
if(userAgent.indexOf(“ANDROID”)!=-1 || userAgent.indexOf(“IOS”)!=-1 || userAgent.indexOf(“IPHONE”)!=-1){
request.getRequestDispatcher(“detail_mobile.jsp”).forward(request, response);
return;
}
最后經(jīng)過修改后我使用了這個(gè)跳轉(zhuǎn)代碼,并設(shè)置了302。沒有用內(nèi)部跳轉(zhuǎn),是因?yàn)樵谔D(zhuǎn)的過程中我希望URL也進(jìn)行跳轉(zhuǎn)。百度在適配文檔中寫的是301,而我為什么設(shè)置了302而不是301呢?這里我要說明的是,目前移動適配領(lǐng)域的技術(shù),百度自己也在探索中,對移動站點(diǎn)的抓去和識別,百度自己也并非非常完善。因此誤判或者錯(cuò)判是非常容易發(fā)生的事,而301是永久定向,就意外著之前的URL將不復(fù)存在。如果說被錯(cuò)判了,做了301的URL也已經(jīng)起效。對站長來說,新的適配沒有被識別出來,舊的PCURL也因301而別快照刪除,或者排名下降。
之所以選擇這種沒有成功案例的適配方式,是因?yàn)槲覀兊木W(wǎng)站有上千萬的頁面,移動端和PC端都可以一一對應(yīng),而我們又有自己的獨(dú)立移動站點(diǎn),我們有這個(gè)能力,不需要百度的自主適配。大家都知道自己做的移動站點(diǎn),從各個(gè)角度來講肯定好于百度siteapp自主適配的移動站。因此我們選擇了這種適配方式,說實(shí)話,還處于試探狀態(tài)。如果看到這篇文章的朋友有這方面的經(jīng)驗(yàn),或者想和我探討關(guān)于更多移動站點(diǎn)適配的知識。
本文原創(chuàng):柴瀟,微信公眾賬號chaixiao2020,來自柴瀟自媒體 http://www.chaixiao.com/archives/1418 轉(zhuǎn)載請注明出處
注:相關(guān)網(wǎng)站建設(shè)技巧閱讀請移步到建站教程頻道。