前面懿古今分享了安装 WordPress 官方 AMP 插件实现站点文章和页面 AMP 页面并解决了具体的错误,详见《修复 AMP 页面无结构化数据元素 logo 和 image 错误》。今天我们继续跟大家分享懿古今使用的(自动)主动推送(实时)AMP 页面给百度的实现代码。
1、明确文章和页面的 AMP 页面地址。因为懿古今是安装 AMP 插件实现的 AMP 页面,那么文章的 AMP 地址是在文章原地址后面加后缀 /amp,页面的 AMP 地址是在页面原地址后面加后缀 ?amp。
2、登录百度搜索资源平台 - 网站支持 - 数据引入 - MIP& - AMP,在下方的数据提交中就能看到 AMP 推送接口调用地址,这个 API 调用地址留待第 3 步使用。
3、添加发布文章/页面时(自动)主动推送(实时)AMP 页面给百度功能。实现方法很简单,只需要将以下代码添加到当前主题的 functions.php 文件最后一个 ?> 的前面即可。
- /**
- * WordPress 发布文章主动推送到 amp
- */
- if(!function_exists('Baidu_amp')){
- function Baidu_amp($post_ID) {
- //已成功推送的文章不再推送
- if(get_post_meta($post_ID,'Baiduamp',true) == 1) return;
- $url = get_permalink($post_ID);
- if(get_post_type($post_ID)=='page'){
- $url=$url.'?amp';
- }
- if(get_post_type($post_ID)=='post'){
- $url=$url.'/amp/';
- }
- $api = 'http://data.zz.baidu.com/urls?site=网站首页地址&token=属于你自己的密钥&type=amp';
- $request = new WP_Http;
- $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
- $result = json_decode($result['body'],true);
- //如果推送成功则在文章新增自定义栏目 Baiduamp,值为 1
- if (array_key_exists('success_amp',$result)) {
- add_post_meta($post_ID, 'Baiduamp', 1, true);
- }
- }
- add_action('publish_post', 'Baidu_amp', 0);
- }
其中代码中的 http://data.zz.baidu.com/urls?site=网站首页地址&token=属于你自己的密钥&type=amp 直接替换为第 2 步获取的 AMP 页面推送接口调用地址即可。
至此,我们即可成功实现发布文章或页面时(自动)主动推送(实时)AMP 页面给百度功能。同样道理,想要推送 MIP 页面给百度的做法也一样,只需要将上述第 3 步代码中的 amp 统一替换成 mip,然后添加到当前主题的 functions.php 文件中即可,详见《如何实现 WordPress 文章页自动推送提交 MIP/AMP 页面?》。
发表于2018-03-05 14:35 沙发
推送作用其实并不大,百度索引还是按照它自己那一套。推送给它,得看它心情决定收不收录
@西枫里博客[呲牙] 只是给自己一个安慰而已,推送成功之后至于是否收录和放出来就管不了那么多了
发表于2018-03-06 11:23 板凳
楼上正解,所以我到现在也没做mip,重点是不会做
@玩游戏赚钱我也是瞎折腾,是否有用就不知道了
发表于2018-03-06 11:54 地板
一直没有搞mip这些。。没时间啊
@银色月航现在AMP或MIP都是有插件的,直接安装插件搞定
发表于2018-03-06 23:27 4楼
我感觉个人博客,也用不着这个。= =
@姜辰具体是否需要无法判断,所以只能说喜欢的不放折腾
发表于2019-01-10 16:18 5楼
哈哈,你也在用谷歌自带的AMP插件啊!
@缙哥哥[呲牙] 是的,感觉这个AMP插件比较简单明了,个人比较喜欢
@懿古今但是发现一个问题,表格什么的自动给你简化了……不好看,还有部分收录直接收录amp的了,而我们的常规H5响应式页面却要从最下面留言进入了。再一个是否amp要过时了?pwa才是前景?
@缙哥哥不管是AMP还是MIP,都是简化的,所以要求太高的话不建议使用。其实我们的主题现在大多数都是自适应了