树懒先生的博客

为文章开启MIP/AMP加快百度收录

为文章页面开启MIP或者AMP可以很明显的加快百度引擎的收录,对于Wordpress来说,只需要安装两个插件即可搞定,第一个是MIP改造,第二个是AMP,这两款插件都可直接在安装插件里面搜索到。

这两款插件几乎无需配置,开启就可以了,MIP改造最好依照要求上传一下LOGO,增加访客的友好性,对于这两款插件,使用也是非常简单的,直接在文章链接末尾加上/mip/或者/amp/即可,一些站长可以设置了rewrite规则,导致最后的“/”没有了,解决方案很简单。

将需要的规则添加到NGINX的配置文件之中

  1. rewrite ^.html/mip$ .html/mip/ last;
  2. rewrite ^.html/amp$ .html/amp/ last;

放到类似于access_log /home/wwwlogs/www.mecrr.com.log access;之前就可以了,重启一下nginx服务,可以使用lnmp restart重启

如果有https规则,那么http和https的配置都要添加。

接下来,可以将我们的AMP/MIP页面推送到百度

  1. /**
  2. * WordPress 发布文章主动推送到 MIP
  3. */
  4. if(!function_exists('Baidu_mip')){
  5.     function Baidu_mip($post_ID) {
  6.         //已成功推送的文章不再推送
  7.         if(get_post_meta($post_ID,'Baidumip',true) == 1) return;
  8.         $url = get_permalink($post_ID);
  9.         if(get_post_type($post_ID)=='page'){
  10.         $url=$url.'?mip';
  11.         }
  12.        if(get_post_type($post_ID)=='post'){
  13.         $url=$url.'/mip/';
  14.         //其中的mip可以换成amp,但是树懒先生不建议换
  15.         }
  16.         $api = 'http://data.zz.baidu.com/urls?site=换成自己的地址&token=换成自己的token&type=mip';
  17.         $request = new WP_Http;
  18.         $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
  19.         $result = json_decode($result['body'],true);
  20.         //如果推送成功则在文章新增自定义栏目 Baidumip,值为 1
  21.         if (array_key_exists('success_mip',$result)) {
  22.             add_post_meta($post_ID, 'Baidumip', 1, true);
  23.         }
  24.     }
  25.     add_action('publish_post', 'Baidu_mip', 0);
  26. }

将上述代码添加到你所使用的主题的function.php中即可,大功告成,最后,记得要在sitemap中添加mip文章地址和amp文章地址,毕竟百度引擎对于sitemap太依赖了!一段时间之后便可以看到效果了!