智能建站如何做出更好的百度移动站点?

最近在做公司的移动站点SEO优化时关于适配工作,遇到了很多问题。原因很多,首先自己之前对移动站点方面的SEO工作做的比较少,而移动适配却包含了很多知识点,并非一个简单的SEO人员能全部掌控的;其次整个移动seo行业正处于摸索和探索阶段,不够成熟,很难找到与自己类似的车成功案例可以效仿。综合这两大因素,让一个适配工作持续了整整一周。主要问题停留在程序员在写跳转代码的时候不知道该怎么写!

其实之前在做智能建站网站的移动适配的时候,就遇到了不少问题,但是由于当时不需要这么负责,因此直接选择了百度的siteapp自主适配。

百度站长平台对移动适配方面的东西是这么定义的:为了提升用户的移动搜索结果浏览体验,百度移动搜索对具有对应手机站的PC站提供“开放适配”服务。如果您同时拥有PC站和手机站,且二者能够在内容上对 应,您可向百度“提交”PC页—手机页的对应关系,若对应关系准确,将有助于百度在移动搜索中将原PC页结果替换为对应的手机页结果。积极的参与“开放适 配”,将有助于您的手机站在百度移动搜索获得更好的展现,同时以更佳的浏览效果赢取用户口碑。

百度开放适配服务共提供三种方案——自主适配、标注meta声明、提交对应关系Sitemap,同时向站点提供开放适配进度查询。

可能大家对标注meta声明和提交对应关系的sitemap这一项比较熟悉。另外对自主适配这个的理解仅限于使用百度的siteapp这个东西的层面上。当然如果这么做,很简洁,对百度也很友好,必定是通过百度自己的东西做的自主适配。而我的问题是,我们不需要他们的siteapp来做适配站。因为当时我们的网站是在原有的PC站点上,做了一一对应的手机站。这个手机站是单独存在的。而在移动设备上搜素到的我们的网站都是PC端的形式。在不想用百度的自动转码的情况下,做自主适配就是一个探索性的东西。

当时我陷入僵局,因为一时间找不到我需要的适配方式,对程序员来说适配很好做,很简单。但是我作为SEO人员,我要的适配不光是简单的进行跳转,而且是搜索引擎能识别且承认的一种适配和跳转。这个需求当时给程序员很大的压力,因为程序员不肯跟知道百度能识别什么。而作为我,提出了问题,却给不了解决需求的文档,这是个难题。

我的需求是标注meta进行判断,判断成功后进行跳转。而我当时的需求就是要这个跳转代码。而这个跳转代码必须是百度可以识别并承认这事适配之后的一个跳转。

可能大家知道的跳转代码有很多,但是我当时 想要的是符合百度,做SEO的都懂得。

在网上找了好久,最后还是没找到。不过找到一个js跳转代码,和我们的技术沟通之后,觉得也能用。这个代码先给大家:

一个可以根据不同的终端类型适当的改变正则表达式:

<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=”手机页面”;

}else if(/iPad/i.test(navigator.userAgent)){

window.location.href=”平板页面”;

}else{

window.location.href=”其他移动端页面”

}

}catch(e){}

}

}

</script>

后来看了一下是js写的,又觉得对搜索引擎不是很好。最后找了我们网站另一个频道以前做的适配跳转代码,虽然不知道这个跳转代码是否是我想要的,但作为跳转代码还是完全正确的,写给大家:

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;

}

 

最后经过修改后我使用了这个跳转代码,并设置了302。没有用内部跳转,是因为在跳转的过程中我希望URL也进行跳转。百度在适配文档中写的是301,而我为什么设置了302而不是301呢?这里我要说明的是,目前移动适配领域的技术,百度自己也在探索中,对移动站点的抓去和识别,百度自己也并非非常完善。因此误判或者错判是非常容易发生的事,而301是永久定向,就意外着之前的URL将不复存在。如果说被错判了,做了301的URL也已经起效。对站长来说,新的适配没有被识别出来,旧的PCURL也因301而别快照删除,或者排名下降。

之所以选择这种没有成功案例的适配方式,是因为我们的自助建站网站有上千万的页http://www.3135.com面,移动端和PC端都可以一一对应,而我们又有自己的独立移动站点,我们有这个能力,不需要百度的自主适配。大家都知道自己做的移动站点,从各个角度来讲肯定好于百度siteapp自主适配的移动站。因此我们选择了这种适配方式,说实话,还处于试探状态。如果看到这篇文章的朋友有这方面的经验,或者想和我探讨关于更多移动站点适配的知识。

 

 

来自于博捷智能建站自助建站 www.3135.com