网站建设

移动搜索SEO分享:利用Meta声明来做百度开放适配

Jager · 5月27日 · 2014年 · 10316次已读

 前天,张戈博客终于搞定了网站静态缓存下的移动端站点切换,从而也多了一个移动二级域名。于是又开始纠结这个2二级域名是否需要屏蔽搜索引擎的收录,毕竟内容一摸一样。

听SEOer们说,搜索引擎会将二级域名视为不同的2个站点,如此一来,我的移动站点是否要做相应的处理,就值得深思了。(如有清楚的站长,请告知,多谢~)

然而,就在今天百度搜索相关资料的时候,发现百度开放适配居然有三种方法……

之前只注意到了百度开放适配的sitemap提交方法,张戈前后折腾了如下几篇文章:

1、百度开放适配专用sitemap制作说明

2、360站长平台移动适配文件制作说明

3、百度开放适配&360移动适配专用Sitemap格式转换工具

事实上,百度提供了三种移动开放适配的方法:

①、 自主适配 ②、 标注Meta声明

③、提交对应关系Sitemap

看完介绍发现,原来【标注Meta声明】才是最简单的百度开放适配办法!真是后知后觉…

如何通过标注Meta声明来进行百度开放适配

请看来自百度官方的方法:

站点如果自行适配有困难,可以在PC页面中做简单改造,百度协助实现适配效果。

即:站长在站点PC页的源代码头部嵌入一行或多行Meta信息,由Meta信息来指明该PC页对应的手机页的URL,以及该URL对应页面的格式,百度将根据用户终端类型选择最适合展示的页面。(无对应关系的PC页面无需添加Meta )

1. Meta声明格式:

<meta name="mobile-agent"content="format=[wml|xhtml|html5]; url=url">

移动搜索SEO分享:利用Meta声明来做百度开放适配

Meta声明示例:

<meta name="mobile-agent" content="format=xhtml;url=http://m.zhang.ge/">
<meta name="mobile-agent" content="format=html5;url=http://m.zhang.ge/">

2. 站长需要将Meta声明放在PC页源代码内部,如下:

<head>
<meta name="mobile-agent" content="format=xhtml;url=http://m.zhang.ge/">
  ……
</head>

生效情况:

标注Meta声明这一适配方案仅在百度移动搜索中生效,即只有当用户通过百度移动搜索访问站点时,适配才会生效;

通过其他渠道则不生效。在标注准确对应关系无误的情况下,大约需要七天左右的时间生效,老旧页面会有延迟。但百度不保证一定能在移动搜索结果中按照您标注的对应关系进行替换。

 

下面分享一下张戈的做法: 仔细看了下,百度官方方法中的那个图解说明:

“….url=url——后者是代表当前PC页所对应的手机页url,两者必须是一一对应关系….”

这样看来,如果按照百度官方提供的代码,那只能适配首页了。。。文章、分类等页面就完全没关照到。

结合了下这两天在博客文章中写的代码,张戈在header.php模板中新增如下代码,实现整站的标注Meta声明:

<!--载入UA判断js-->
<script src="<?php bloginfo('template_directory'); ?>/js/uaredirect.js" type="text/javascript"></script>
<!--首页移动端访问自动跳转及百度开放适配Meta标注-->
<?php wp_reset_query();if ( is_home()){ ?>
<script type="text/javascript">uaredirect("http://m.zhang.ge");</script>
<meta name="mobile-agent" content="format=xhtml;url=http://m.zhang.ge/">
<?php } ?>
<!--文章页移动端访问自动跳转及百度开放适配Meta标注-->
<?php wp_reset_query();if ( is_single()){ ?>
<script type="text/javascript">uaredirect("http://m.zhang.ge/<?php the_ID(); ?>.html");</script>
<meta name="mobile-agent" content="format=xhtml;url=http://m.zhang.ge/<?php the_ID(); ?>.html">
<?php } ?>
<!--单页面移动端访问自动跳转及百度开放适配Meta标注-->
<?php wp_reset_query();if ( is_page()){ ?>
<script type="text/javascript">uaredirect("http://m.zhang.ge/<?php echo the_slug(); ?>");</script>
<meta name="mobile-agent" content="format=xhtml;url=http://m.zhang.ge/<?php echo the_slug(); ?>">
<?php } ?>
<!--分类页移动端访问自动跳转及百度开放适配Meta标注(仅支持一、二级分类)-->
<?php wp_reset_query();if ( is_category()){ ?>
<script type="text/javascript">uaredirect("http://m.zhang.ge/<?php $catArray = get_the_category();
    $cat=$catArray[array_rand($catArray,1)];
    $cat_parent = get_category($catArray[0]->category_parent);
    if (!empty($cat_parent->slug)) {
        echo $cat_parent->slug."/";
    }
    echo $cat->category_nicename;?>");
</script>
<meta name="mobile-agent" content="format=xhtml;url=http://m.zhang.ge/<?php $catArray = get_the_category();
    $cat=$catArray[array_rand($catArray,1)];
    $cat_parent = get_category($catArray[0]->category_parent);
    if (!empty($cat_parent->slug)) {
        echo $cat_parent->slug."/";
    }
    echo $cat->category_nicename;?>">
<?php } ?>

以上代码会根据不同的页面打印不同的地址,完成所有页面的百度开放适配Meta标注声明,而且还结合了移动端访问自动跳转的机制,可谓一举两得!

如果对移动端跳转存在疑难,请查看张戈前两天的文章:《完美实现移动主题在360网站卫士缓存全开情况下的切换如果不需要做移动端跳转的话,请删除以上代码中所有的javascript语句即可。

另外,此代码的应用,需要新增以下function.php函数代码:

/* 获取当前文章或页面别名的函数*/
function the_slug() {
    $post_data = get_post($post->ID, ARRAY_A);
    $slug = $post_data['post_name'];
    return $slug;
}
/* 获取当前文章所属第一个分类别名的函数*/
function the_category_slug(){
 $category = get_the_category();
 return ($category ? $category[0]->slug : "");
}

添加方法:编辑主题目录的function.php模板,找个位置新增以上代码 (怕放错就直接放到最后一个 ?> 的前面)。

哦了,如何使用标注Meta声明的方法来做百度开放适配就介绍到这了,张戈也是刚实施,而百度又是出了名的傲慢和拖沓,之前用sitemap提交的开放适配,几个月都没生效: 移动搜索SEO分享:利用Meta声明来做百度开放适配

所以,一切看人品了。。。。

 

最新消息:张戈博客已推出最简单的适配方法,请移步查看=>

44 条回应
  1. Alick.Li 2014-5-27 · 19:54

    我稍微看了下 没看懂…

  2. 刘海江 2014-5-27 · 20:00

    看不懂啊

  3. cy 2014-5-27 · 21:08

    我在header中禁用了百度的自动转码了。。。

    咱完全自适应。

    • Jager 2014-5-27 · 21:25

      完全自适应就是玩的嗨~

  4. 小银窝 2014-5-27 · 21:15

    汉字看懂了

  5. leiboy 2014-5-27 · 22:35

    这样就能避免百度重复抓取了

    • Jager 2014-5-27 · 22:40

      其实是这样的,移动端百度的结果,将直接展示 m.zhang.ge 这个域名的内容。

      • leiboy 2014-5-27 · 22:41

        我这边mac通知提示进来后也是进了M站,这条评论就是在m发的

        • Jager 2014-5-27 · 22:42

          因为我是在移动端回复你的。。

          • leiboy 2014-5-28 · 20:37

            原来是这样

  6. PHP二次开发 2014-5-27 · 23:04

    不错不错,挺爱钻研呀。

  7. APP雄起 2014-5-28 · 0:01

    用不上,也支持

  8. 夏日博客 2014-5-28 · 8:25

    有些复杂的站点根本就适配不了。。。

    • Jager 2014-5-28 · 8:40

      还是简单点好~

  9. 球球 2014-5-28 · 9:42

    还没用过。。

    • Jager 2014-5-28 · 10:06

      响应式主题可以不用做适配哈~

  10. 网络营销技巧 2014-5-28 · 9:52

    那估计我的用不了

  11. 微历史 2014-5-28 · 10:47

    已将该文推荐给我同事

    • Jager 2014-5-28 · 10:52

      [握手]

  12. 撒哈拉的小猫 2014-5-28 · 10:48

    要是我PC和移动网页都一样,还需要做其他工作吗

    • Jager 2014-5-28 · 10:52

      那只要加上一句禁止百度转码声明即可。

      • 微历史 2014-5-28 · 10:57

        我的也是加了禁止转码

        • 撒哈拉的小猫 2014-5-28 · 12:06

          这里有这个代码吗

          • 微历史 2014-5-28 · 12:31

            加个meta标签,内容为:http-equiv=”Cache-Control” content=”no-transform”

  13. 漫道狂徒 2014-5-28 · 11:15

    不错哈博主

  14. 萌妹 2014-5-28 · 12:37

    [吃惊] 原来是这样 我的没做这个

    • Jager 2014-5-29 · 7:46

      你的主题不需要做这个。

  15. 圆月博客 2014-5-28 · 13:32

    很好啊,强大

  16. 王晟璟 2014-5-28 · 13:59

    仔细看了下,现在是懵懵懂懂, [挖鼻屎] 继续钻研!

  17. 微信营销博客 2014-5-28 · 14:37

    看过了,学习了,需要研究下。

  18. 刘宗阳 2014-5-28 · 21:36

    哈哈,这个更简单,老大辛苦啦。。。

  19. 龙三公子 2014-5-28 · 23:23

    你研究的很深哈

    • Jager 2014-5-29 · 7:48

      有需要就会有研究~

  20. 平凡的快乐着 2014-5-29 · 11:49

    支持博主的

  21. 热腾网 2014-6-8 · 5:20

    怎么最后还来了句 一切看人品了?

    • Jager 2014-6-8 · 19:29

      百度一直看人品。。。

  22. osblog 2015-1-12 · 17:02

    不错哈,学习了,不过比较麻烦,我还需要转成java支持的,谢谢博主分享

    • Jager 2015-1-12 · 22:30

      有空常来,多交流。

  23. 车轮 2015-3-17 · 15:29

    路过 支持一下

  24. 请问 2015-5-1 · 12:34

    自适应网页的meta需不需要添加来告诉搜索引擎

  25. 虾米 2015-5-29 · 11:48

    我的网站有移动版 百度收录PC页面 在移动搜索点击会自动跳转到WAP页面
    但是搜狗还是被转码 不跳转 加上META标注 有作用吗?

  26. 面试365网 2016-5-2 · 17:09

    学习了,最近也在学移动适配,