|  RSS订阅  |  加入收藏

百度熊掌号折腾手记

百度熊掌号是百度推出的一款类似于微信订阅号的数据流产品。百度熊掌号做内容集合分发的渠道,为内容作者提供了一套简便的内容、粉丝、分发平台。帮助内容作者获取流量支持和粉丝沉淀。
摘要

熊掌号出来有一段时间了,西枫里博客早早的就申请好了熊掌号。久久没有启用,放置了一段时间后,第一次启用熊掌号,发现博客程序中对缩略图定义的尺寸不符合要求,另外考虑到和百度的粘性太大会否影响其它搜索引擎的问题,所以第一次使用无图版的上线一天,思考再三,无图版的没有数据流的样子,并不妥当,就干脆下线了。经过前段时间对博客前台的panel模块进行改造后,把文章封面图处理成百度要求的300*200的尺寸后,近期重新上线了熊掌号。接下来简单说一说熊掌号的接入操作。


首先是熊掌号的内容要求

一是url规范。这个其实很简单,一是要求页面必须有对应的手机版或者是自适应页面,不能是单纯的PC页。西枫里博客是采用bootstrap的自适应页面,所以这里不是问题。

二是只能接受正常页面,这里需要注意的是状态码为200的文章页。栏目页首页这些就不要了,其它404页面这些都是没用的。


重点关注下页面改造要求

1、添加熊掌号的ID声明。一段JavaScript脚本,丢到head里面去就行了

2、关注功能代码。根据你网站的位置和风格自行选择吧,西枫里博客是选择文章段落间的。具体请看本博客的文章页面。

3、添加href的对应标签。这个就是针对PC页面和手机页面url不一致的。西枫里博客是自适应页面,所以pc页面url和手机页面url一致。

4、添加json_ld数据。这个将样本整个拷贝到你的页面中。

        {
            "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
            "@id": "https://www.anji66.net/article/id/{$articles.id}.html",
            "appid": "1585053022069870",
            "title": "{$articles.art_title}",
            "images": ["https://www.anji66.net__UPLOADS__/{$articles.art_img|str_replace=',','',###}"],
            "description": "{$articles.art_description}",
            "pubDate": "{$articles.art_date|date="Y-m-d H:i:s",###|str_replace=" ","T",###}",
            "upDate": "{$articles.art_date|date="Y-m-d H:i:s",###|str_replace=" ","T",###}",
            "lrDate": "{$articles.art_date|date="Y-m-d H:i:s",###|str_replace=" ","T",###}"
        }

这里解释下,{}是ThinkPHP5的输出标记,{}中的这些源内容实际上是TP5控制器返回给视图页面的,而并非你现在看到的变量或者字符串。image中选择不填,就是无图形式。1张图就是西枫里博客这种形式,还可以是三张图的。description建议你选择和页面description一致。下面三个时间记得处理中日期和时间的分隔使用字母T而不是默认的空格。所以这里西枫里博客使用函数进行了一个替换操作。

5、做好上述操作后,将你网站的某个文章页地址复制到校验工具url栏中,右键你网页查看源代码,ctrl+a全选后复制到校验工具的代码框中。点击校验即可。如果没有通过百度会给出提示,参照提示处理即可。


最后就是自动推送的改造

西枫里博客是采用ThinkPHP5.0的程序开发的,所以在网站后台添加文章的时候,需要做一个推送方法,将当前发布的文章链接推送给百度,百度就能即时抓取了。直接上代码:

private function toBaiduSiteMap($id)
    {
        $urls = array(
            'https://www.anji66.net/article/id/'.$id.'.html',
        );
        $api = 'http://data.zz.baidu.com/urls?appid=1585053022069870&token=1gdDlQQ1XVSlxGzg&type=realtime';
        $ch = curl_init();
        $options =  array(
            CURLOPT_URL => $api,
            CURLOPT_POST => true,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POSTFIELDS => implode("\n", $urls),
            CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
        );
        curl_setopt_array($ch, $options);
        $result = curl_exec($ch);
        return $result;
    }

在发布文章获取自增ID后将ID传入这个方法即可完成推送。这里需要留意下百度的一个大坑。当时没留意,就看下了成功返回示例,就去判断了下success参数。而推送反馈中根本没有这个参数,而是success_realtime参数。看图,从这里可以看出百度的文档是多毛糙。

未标题-1.jpg


完成这些内容后,你的百度熊掌号就正式上线了。上线后及时更新内容,关注搜索指数等,指数超过300就过了新手期了。


如文章有用,给个赞助吧
  熊掌号    
转载请注明出处,未经许可禁止商用!
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!

西枫里人
@清秋暖冬:百度的算法一直很清奇。不用理会,保持正常更新就行了。

清秋暖冬
@清秋暖冬:从二月二十四到现在每天都在缓慢下滑,也搞不懂是哪里出现的问题,真是不懂baidu的算法

清秋暖冬
这几天的我的熊掌指数一直在下掉~~~

西枫里人
@梁兴健:要不断的提交原创内容,达到300就正式了好像。我的收录了几篇,却不涨指数,悲哀~

梁兴健
熊掌号我也通过了,还差实习到正式

西枫里人
@雅兮网:没内容可更了,搞到什么更什么。笑~

雅兮网
很详细,很贴切,很给力!!!

西枫里人
@银色乐航:月航兄的站专业度太高,所以这些还是不折腾为妙。 PS.你的IP变化还真大呀。

银色乐航
是在没有尽力折腾这些,博客就是个爱好了