如何实现WordPress文章页自动推送提交AMP页面?

2018年03月05日 10:27:36  阅读 239 次 评论 8 条

前面懿古今分享了安装 WordPress 官方 AMP 插件实现站点文章和页面 AMP 页面并解决了具体的错误,详见《修复 AMP 页面无结构化数据元素 logo 和 image 错误》。今天我们继续跟大家分享懿古今使用的(自动)主动推送(实时)AMP 页面给百度的实现代码。

如何实现WordPress文章页自动推送提交AMP页面? 技术文档 第1张

1、明确文章和页面的 AMP 页面地址。因为懿古今是安装 AMP 插件实现的 AMP 页面,那么文章的 AMP 地址是在文章原地址后面加后缀 /amp,页面的 AMP 地址是在页面原地址后面加后缀 ?amp。

2、登录百度搜索资源平台 >> 网站支持 >> 数据引入 >> MIP&AMP >> AMP,在下方的数据提交中就能看到 AMP 推送接口调用地址,这个 API 调用地址留待第 3 步使用。

3、添加发布文章/页面时(自动)主动推送(实时)AMP 页面给百度功能。实现方法很简单,只需要将以下代码添加到当前主题的 functions.php 文件最后一个 ?> 的前面即可。

  1. /**
  2. * WordPress 发布文章主动推送到 amp
  3. */
  4. if(!function_exists('Baidu_amp')){
  5.     function Baidu_amp($post_ID) {
  6.         //已成功推送的文章不再推送
  7.         if(get_post_meta($post_ID,'Baiduamp',true) == 1) return;
  8.         $url = get_permalink($post_ID);
  9.         if(get_post_type($post_ID)=='page'){
  10.         $url=$url.'?amp';
  11.         }
  12.        if(get_post_type($post_ID)=='post'){
  13.         $url=$url.'/amp/';
  14.         }
  15.         $api = 'http://data.zz.baidu.com/urls?site=网站首页地址&token=属于你自己的密钥&type=amp';
  16.         $request = new WP_Http;
  17.         $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
  18.         $result = json_decode($result['body'],true);
  19.         //如果推送成功则在文章新增自定义栏目 Baiduamp,值为 1
  20.         if (array_key_exists('success_amp',$result)) {
  21.             add_post_meta($post_ID, 'Baiduamp', 1, true);
  22.         }
  23.     }
  24.     add_action('publish_post', 'Baidu_amp', 0);
  25. }

其中代码中的 http://data.zz.baidu.com/urls?site=网站首页地址&token=属于你自己的密钥&type=amp 直接替换为第 2 步获取的 AMP 页面推送接口调用地址即可。

至此,我们即可成功实现发布文章或页面时(自动)主动推送(实时)AMP 页面给百度功能。同样道理,想要推送 MIP 页面给百度的做法也一样,只需要将上述第 3 步代码中的 amp 统一替换成 mip,然后添加到当前主题的 functions.php 文件中即可,详见《如何实现 WordPress 文章页自动推送提交 MIP/AMP 页面?》。

如果文章对你有帮助,请赞赏支持懿古今发展!

历史上的今天:

文章标签: ,   ,   ,  
本文地址:https://www.yigujin.cn/1485.html
版权声明:本文为原创文章,版权归 懿古今 所有,欢迎分享本文,转载请保留出处!

相关文章 分类热门分类热评随机文章

发表评论


表情

  1. 姜辰
    姜辰 【经理】 @回复

    我感觉个人博客,也用不着这个。= =

  2. 银色月航
    银色月航 【转正】 @回复

    一直没有搞mip这些。。没时间啊

  3. 玩游戏赚钱
    玩游戏赚钱 【实习】 @回复

    楼上正解,所以我到现在也没做mip,重点是不会做

  4. 西枫里博客
    西枫里博客 【助理】 @回复

    推送作用其实并不大,百度索引还是按照它自己那一套。推送给它,得看它心情决定收不收录

    • 懿古今
      懿古今【老板】2018-03-05 17:00  回复

      @西枫里博客[嘻嘻] 只是给自己一个安慰而已,推送成功之后至于是否收录和放出来就管不了那么多了