纯代码实现熊掌号 H5 页面结构化改造
熊掌号 Json_LD 结构化数据改造代码
首先我们需要根据百度熊掌号后台的“页面改造”里的提示先给自己的站点做个小小的改造以便百度熊掌号可以快速的识别和运用我们站点的链接数据,比如搜索结果中以结构化样式展现等。
页面改造最重要的其实就是添加JSON_LD数据了,其实可以用下面的代码来实现:
代码:
//获取文章/页面摘要 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("rn", "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; }
百度熊掌号在Json_LD数据里面是支持单张缩略图和三张缩略图的样式,所以上述代码会优先获取文章中的三张图,否则依次获取自定义图片/特色缩略图/文章首图。
建议大家把以上两段代码添加到你需要接入熊掌号的 WordPress 站点主题的functions.php中,然后继续:
<?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-dTH:i:s').'" }</script> ';} ?>
将上述代码添加在你的WordPress主题的header.php的合适的位置,以上代码还做了一个if判断,只让该段代码在文章中输出。
关于WordPress接入百度熊掌号的Json_LD数据代码改造就给大家分享到这里了吧,最后如果大家的WordPress站点成功接入熊掌号,不妨再试试下面讲到的《WordPress百度熊掌号数据提交插件》,这个插件或许能够助力你更快的实现官方好数据提交和原创推送。
上述代码感谢【泪雪博客】的无私分享。
WordPress百度熊掌号/原创文章数据提交插件
这是一款根据百度站长平台原创保护提交接口而升级开发的WordPress插件,目前插件已经开始适配百度熊掌号(原百度官方号)的数据提交内测,可实现用户自动自主的将文章推送至官方号及原创保护文章推送,支持定时文章推送。
简单的插件设置页面,只需填写准入密钥Token即可(token填写错误是没法保存和使用插件的哦,同时token获取地址也在插件设置页面设置提示说明了),如果你的站点或者博客基本都是原创文章,那么不言而喻你可以勾选这个默认原创的功能,这样你在发布文章的时候默认就会主动推送到百度,同时也是可以在发布文章的时候设置和勾选是否是原创而选择性推送,最新版插件还支持 WordPress 的“文章类型”选择等等。
在发布模块中的状态也几乎做到了极致,提交成功,剩余的配额数量,配额上线,以及错过了发布文章一小时内提交的错过提示,总之你能想到的,作者已经想到并做到了。
提示:本插件适用于拥有百度熊掌号权限的 WordPress 站点,如果还未拥有熊掌号权限请通过熊掌号官网申请:http://ziyuan.baidu.com/xzh/home/index。
申明:目前百度熊掌号虽已经公开,但其调整可能也会毕竟频繁,所以插件可能存在没有及时升级的情况或者其它未知问题,欢迎大家及时反馈问题。
须知:为了保证插件能够持续的维护和升级更新,插件后期将可能升级为收费版本,象征性的收费,价格待定,或许9块,或许18块,还请大家提前了解。
目前的数据改造和插件明月都已经用上了,也通过了百度熊掌号“页面改造”里在线校验工具的效验(如上图,有图有真相嘛!),至于说具体的效果只能是“拭目以待”了,其实最重要的还是“原创”内容的创作,这才是王道呀。明月近期也在努力的坚持“原创”,没办法呀,没有原创对于我们草根博客来说是不行的,看来这是一个必须要改变的过程了。