纯代码实现WordPress文章自动提交百度熊掌号

纯代码实现WordPress文章自动提交百度熊掌号

主页 \ 新手指南 \ 纯代码实现WordPress文章自动提交百度熊掌号

熊掌号页面结构化改造

WordPress 也是能够使用插件,让网站实现百度熊掌号的结构化引入。
不过,WP 插件安装多了可能会影响网站速度,所以陈沩亮推荐添加代码方式引入。
WordPress 在 2.9 版本开始,就默认支持 Canonical 标签(网址规范化标签,能有效避免多网址造成权重流失),因此我们可以直接跳过第一步直接添加熊掌号的 “JSON_LD 数据”。

 

添加熊掌号 JSON_LD 数据

以下代码是熊掌号 JSON-LD 数据示例

<script type="application/ld+json">
 {
 "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
 "@id": "https://ziyuan.baidu.com/college/articleinfo?id=1464",
 "appid": "1554494844552021",
 "title": "百度移动搜索落地页体验白皮书——广告篇 2.0",
 "images": [
 "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png",
 "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo_top_ca79a146.png",
 "https://m.baidu.com/static/index/plus/plus_logo.png"
 ],
 "description": "优质合理的广告作为信息的补充,广受用户喜欢。2017 年初百度用户体验部针对用户进行了满意度调研,发现很多恶意低质的广告严重破坏着用户的搜索体验。",
 "pubDate": "2017-06-15T08:00:01",
 "upDate": "2017-06-16T01:02:03",
 "lrDate": "2017-06-17T09:10:11"
 }
 </script>

百度熊掌号官方,提供的代码含义,如下:

  • @context: 必选字段, 请保留 “https://ziyuan.baidu.com/contexts/cambrian.jsonld”,若需要校验数据的 schema,则可替换为 schema 地址
  • @id: 必选字段, 当前网页的 url@id: 必选字段, 当前网页的 url
  • appid: 必选字段, 熊掌号 ID
  • title: 必选字段, 标题,建议长度:20 个字符以内
  • images: 可选字段, 搜索结果结构化信息展示,仅允许提供 0 张,1 张图或 3 张图
  • description: 可选字段, 内容摘要:120 个字符以内
  • pubDate: 必选字段, 内容发布时间

WordPress 主题 footer.php 文件添加代码 </footer> 之前,添加以下代码即可:

<script type="application/ld+json">
{
"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
"@id": "<?php the_permalink(); ?>",
"appid": "获取的 APPID",
"title": "<?php the_title(); ?>",
"images": ["<?php the_post_thumbnail_url(); ?>"],
"description": "<?php echo wp_trim_words( $post->post_content, 100, '…' ); ?>",
"pubDate": "<?php echo get_the_time('Y-m-d\TH:i:s')?>"
}
</script>
<script src="//msite.baidu.com/sdk/c.js?appid=获取的 APPID"></script>

注意:请务必将“APPID”,改成你自己 APPID。代码含义:

  • @id=获取当前页面 URL
  • title=当前页面标题
  • imges=当前页面特色图
  • description=页面描述前 100 字后用…表示
  • pubDate=页面发布时间年-月-日 TH:时:分:秒

获取熊掌号 APPID 和 TOKEN

请在熊掌号的 API 提交页面,获取你的 APPID:http://ziyuan.baidu.com/xzh/commit/push

 

获取熊掌号 APPID 和 TOKEN

 

找到“推送接口”,获取接口调用地址里的 appid、token:

http://data.zz.baidu.com/urls?appid=你的 APPID&token=你的 token&type=realtime

熊掌号 API 自动提交

WordPress 做好页面改造,下一步就是将内容提交到百度熊掌号。
有 2 种提交方式:API 自动提交、手动提交(和之前百度站长平台的链接提交,非常类似)
如果每次手动推送内容到熊掌号,实在太麻烦,最好是添加熊掌号自动提交代码。

我们只需要在在主题的 function.php 文件中,添加以下代码即可:

/**
* 百度熊掌号 API 自动提交:WordPress 免插件自动推送代码
*/
if(!function_exists('Baidu_Submit')){
 function Baidu_Submit($post_ID) {
 //已成功推送的文章不再推送
 if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
 $url = get_permalink($post_ID);
 $api = 'http://data.zz.baidu.com/urls?appid=获取的 APPID&token=获取的 TOKEN&type=realtime';
 $request = new WP_Http;
 $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
 $result = json_decode($result['body'],true);
 //如果推送成功则在文章新增自定义栏目 Baidusubmit,值为 1
 if (array_key_exists('success',$result)) {
 add_post_meta($post_ID, 'Baidusubmit', 1, true);
 }
 }
 add_action('publish_post', 'Baidu_Submit', 0);
}

注意:请务必将以上代码中的 “APPID” 和 “TOKEN” ,修改成自己的。获取方法,请查看以上的 “获取熊掌号 APPID 和 TOKEN”。

如何添加更多文章类型支持?

WordPress 的 publish_post 钩子针对的是文章(文章)类型,适用于 WordPress 站点的 post 类型的文章。如果想要发布页面除非某些动作,对应钩子应该是 publish_page;如果你想发布某个自定义类型的文章,如问答类型 question,那么对应钩子应该是 publish_question。那么只要在以上代码第 18 行之后添加需要的类型即可

//发布 post 类型的文章触发
add_action( 'publish_post', 'Baidu_Submit', 10, 2 );
//发布 page 类型的文章(页面)触发
add_action( 'publish_page', 'Baidu_Submit', 10, 2 );
//发布 question 类型的文章(自定义文章类型)触发
add_action( 'publish_question', 'Baidu_Submit', 10, 2 );

 

熊掌号在线检验工具

添加完代码后,记得刷新你的缓存(前提是如果你有安装 WP 缓存插件)。然后,请使用百度熊掌号的在线校验工具,帮你检测页面代码的是否有出错?具体位置:页面改造 → 在线校验工具

 

出现错误怎办?

如果出现错误,请检查填写需要检测的 URL 是否有误?记得加上 http,如果有开启 SSL 的,网址要加上 https。请根据校验工具的提示,修改错误。
校验成功后,会出现如下提示:

站长: ThemeBest 本站承接 WordPress/DedeCMS等系统建站、仿站、开发、定制等服务!

相关文章

大神,别默默的看了,快来点评一下吧!:)