熊掌号第二篇,之前已经讨论了如何申请,如何绑定,接下来就该如何将自己的文章推送到熊掌号。推送到熊掌号对页面是有要求的,要想推送,第一步就要进行页面改造,下面是博主的wordpress适应熊掌号的改造过程,源代码感谢泪雪博客提供。
页面改造流程
-
添加熊掌号ID声明,须在页面</head>标签前添加代码
<script src="//msite.baidu.com/sdk/c.js?appid=你的appid"></script>
- 添加关注代码,关注代码共分上页头,页中,页尾三种,最多允许同时增加两个,博主认为加一个就足够了,我是放到了文章底部。
//页头代码 <script>cambrian.render('head')</script> //页中代码 <script>cambrian.render('body')</script> //页尾代码 <script>cambrian.render('tail')</script>
代码是没有左右缩进的,可以放入任何容器中限制大小。
-
添加canonical标签,该标签表示了当前页面对应的PC版页面,如果是自适应页面传本页面值即可
<link rel="canonical" href="http(s)://xxx"/>
- 添加JSON_LD数据,以下代码仅适用于wordpress
进入wordpress目录wp-content/themes/你的主题
文件夹
function.php追加两个方法,分别是获取文章描述和1-3行缩略图//获取文章/页面摘要 function fanly_excerpt($len=220){ if ( is_single() || is_page() ){ global $post; if ($post->post_excerpt) { $excerpt = $post->post_excerpt; } else { if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){ $post_content = $result['1']; } else { $post_content_r = explode("\n",trim(strip_tags($post->post_content))); $post_content = $post_content_r['0']; } $excerpt = preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$post_content); } return str_replace(array("\r\n", "\r", "\n"), "", $excerpt); } } //优先获取文章中的三张图,否则依次获取自定义图片/特色缩略图/文章首图 last update 2017/11/23 function fanly_post_imgs(){ global $post; $content = $post->post_content; preg_match_all('/<img .*?src=[\"|\'](.+?)[\"|\'].*?>/', $content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); if($n >= 3){ $src = $strResult[1][0].'","'.$strResult[1][1].'","'.$strResult[1][2]; }else{ if( $values = get_post_custom_values("thumb") ) { //输出自定义域图片地址 $values = get_post_custom_values("thumb"); $src = $values [0]; } elseif( has_post_thumbnail() ){ //如果有特色缩略图,则输出缩略图地址 $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full'); $src = $thumbnail_src [0]; } else { //文章中获取 if($n > 0){ // 提取首图 $src = $strResult[1][0]; } } } return $src; }
header.php追加百度要求的代码,代码已经增加了只在文章页显示的判断,所以加到header页。
<?php if(is_single()){ echo '<script type="application/ld+json">{ "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld", "@id": "'.get_the_permalink().'", "appid": "这里请填写熊掌号ID", "title": "'.get_the_title().'", "images": ["'.fanly_post_imgs().'"], "description": "'.fanly_excerpt().'", "pubDate": "'.get_the_time('Y-m-d\TH:i:s').'" }</script> ';} ?>
代码可以全放到主题的源代码中,也可以放到模板提供的自定义代码中,只要添加成功就可以。那么如何检测代码是否安装正确呢
检查代码
百度有提供检查代码的功能,只要复制页面地址和页面源代码,进行校验即可
提交数据
提交数据也提供了手动提交和自动提交两种。
其中提交形式也有历史内容和最新内容两种,提交历史内容没什么限制,但是提交新内容则限制是发表1小时内,且原创的内容。每天限额目前是100条。
本篇主要讨论自动形式提交,而强大的wordpress也有开发者提供了自动提交熊掌号的插件BaiduXZH Submit(百度熊掌号)
安装后需要填入自己的token和appid即可启用
正确开户后,会在文章编辑页有如下提示
同时,未提交过的旧文章也可以文章列表页进行手动提交
查询收录情况
最直观的方式是通过页面中嵌入的熊掌号关注链接,进入自己的熊掌号查看是否收录,通常收录需求几分钟至几小时。
同时百度后台也有提交和收录的记录,熊掌号后台的统计只统计前一天的记录,也就是说最新提交的并不会当时就显示出来。