移动网站和PC站点自主适配跳转代码

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

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

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

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

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

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

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

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

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

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

<scripttype ="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而别快照删除,或者排名下降。为了防止这个万一,我做了302.

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

转载于:https://my.oschina.net/bigtree/blog/374649

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值