开发者社区> 问答> 正文

免插件实现 WP 的百度熊掌号结构化改造



前言


十月底的时候百度站长平台突然就改版了,毕竟没有参与过内测的小网站主看到这个有点懵逼,然后看了一下原创保护引入到了熊掌号,也就是之前的官方号。
简单看了一下,熊掌号同 MIP 相比门槛更低只要是 HTML5 + HTTPS 就可以兼容,那么大的好事怎么能不凑凑热闹呢!

介绍


熊掌号为百度搜索新产品,其前身是百度官方号,百度熊掌号是站长、自媒体、开发者、商家等各种内容和服务提供者入驻百度的身份账号,该账号可实现包括百度搜索资源平台、百度数据开放平台、百家号自媒体平台、用户运营平台等各类平台的能力互通。
目前阿里云大鱼号、头条号、公众号这样的自媒体(新媒体)持续发展势头不小,可以说已经是掌握了移动内容类流量的入口,百度在移动领域越发被动,要知道 UC 浏览器的默认搜索引擎都是他们家的神马搜索,百度的移动流量越来越少。
因此百度重整旗鼓后,推出的新的移动战略将百家号、站长平台等合并肯定会放出非常多的利好来进行宣传,这样非常有利于站长的优质内容被收录和浏览。

WP引入


那么 WordPress 如何快速改造支持 熊掌号 的结构化引入呢?这里米饭就教大家一个不用插件的好方法虽然麻烦了点,但是插件用多了网站真的会很慢!其实 熊掌号 的结构化引入和之前的星火计划差不多,所以有了相关改造基础就很容易了。
因为在 WordPress 2.9 发布之后,WordPress 就已经默认支持 Canonical 标签了,所以我我们不需要修改 header.php 文件。

结构化改造


结构化数据和其他重点就是例如米饭的这一段:


<script type="application/ld+json">

{

"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",

"@id": "https://www.mf8.biz/mariadb-and-dms/",

"appid": "1582840612260910",

"title": "安装 MariaDB 并通过 DMS 管理",

"images": ["https://static.mf8.biz/wp-content/uploads/2017/06/databases.jpg"],

"description": "# 前言 之前有提到过阿里云的数据管理,也就是阿里云的RDS管理工具,[详情](https://www.mf8.biz/aliyun-dms-console/)。由于自己比较喜欢带 GUI 的管理工具…",

"pubDate": "2017-10-29T22:26:08"

}
</script>
<script src="//msite.baidu.com/sdk/c.js?appid=1582840612260910"></script>
<script>cambrian.render('tail')</script>


其实也简单,修改所用主题的 footer.php 文件:
<?php if ( c7v5_get_option('stats_noadmin') ? !current_user_can('edit_dashboard') : true ) echo c7v5_get_option('stats_code'); ?>
    <script type='text/javascript' src='//static.mf8.biz/prism.js'></script>
    <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>
<script>cambrian.render('tail')</script>



只要将 你的 APPID 修改为你的 APPID 就 ok 了!然后我们图片引用的是 WP 中的特色图片。






然后我们在检验一下就行!


API提交内容




改造好 WP 后还是不够的,百度的要求是还需要将内容推送过去,支持 API 和 手动提交两种姿势,这个站长平台的链接提交的方法一致。
手段推送是不可能的,这辈子都被不会手动推送。那么我们就来一段 function 自动推送就行!
在主题的 function.php 中加入:


/**
*  WordPress API 方式自动推送到百度熊掌号
* 文章地址:https://www.mf8.biz/wp-xiongzhang-baidu/
*/
if(!function_exists('Baidu_XZH_Submit')){
    function Baidu_XZH_Submit($post_ID) {
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'BaiduXZHsubmit',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);
        //如果推送成功则在文章新增自定义栏目BaiduXZHsubmit,值为1
        if (array_key_exists('success',$result)) {
            add_post_meta($post_ID, 'BaiduXZHsubmit', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_XZH_Submit', 0);
}



这样我们就完成了 WordPress 的熊掌号结构性改造了,基本上支持所有 WP 主题不存在兼容性问题,如果有问题请及时反馈给米饭!

展开
收起
妙正灰 2017-11-29 22:36:48 4767 0
2 条回答
写回答
取消 提交回答
  • 阿里云ping https://ping.gaomeluo.com/aliyun/
    这个比较6啊
    2018-01-25 10:35:51
    赞同 展开评论 打赏
  • 2018-01-24 11:21:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
AIOps-百度的思考与实践 立即下载
百度外卖从IDC到云端服务迁移历程 立即下载
百度研发工具集的应用实践——打造持续交付路上的“三堵墙” 立即下载