百度熊掌号折腾手记

熊掌号出来有一段时间了,西枫里博客早早的就申请好了熊掌号。久久没有启用,放置了一段时间后,第一次启用熊掌号,发现博客程序中对缩略图定义的尺寸不符合要求,另外考虑到和百度的粘性太大会否影响其它搜索引擎的问题,所以第一次使用无图版的上线一天,思考再三,无图版的没有数据流的样子,并不妥当,就干脆下线了。经过前段时间对博客前台的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参数。看图,从这里可以看出百度的文档是多毛糙。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Swf Decrypt详解

攻击在持续,攻击的技术在演进。防御者需要持续的跟进研究和投入。最近Flash 0day频繁出现,将我们更多的目光集中到flash上。 Flash作为脚本语言,可...

36470
来自专栏沃趣科技

Oracle 12c数据库优化器统计信息收集的最佳实践(三)|何时不需要收集统计信息

原文链接 http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-bp-for-st...

33250
来自专栏CSDN技术头条

五个解决方案让MongoDB拥有RDBMS的鲁棒性事务

【编者按】在分布式存储解决方案中谈事务一直是件很痛苦的事情,而事务也成了大部分NoSQL解决方案短板所在。近日,MongoDB公司的Antoine Girbal...

21450
来自专栏ThoughtWorks

Kubernetes救援 - 教你如何从新技术的坑里爬出来(下) | TW洞见

今日洞见 文章作者/配图来自ThoughtWorks:佟达。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站...

38780
来自专栏北京马哥教育

Linux 新手必会的21条命令合集

21770
来自专栏安恒信息

安全漏洞公告

多个IBM产品存在未明SQL注入漏洞 多个IBM产品存在未明SQL注入漏洞发布时间:2014-01-13漏洞编号:BUGTRAQ ID:64749 CVE ID...

309100
来自专栏携程技术中心

微分享回放 | 携程小程序开发的那些事儿

作者简介 朱天超,携程技术中心基础业务研发部iOS开发工程师,从事一线iOS开发,偶尔也写写脚本做些工具。 *视频时长约38分钟,请在WiFi环境下观看* 小...

41660
来自专栏软件

测试人员的“偷懒大法”

(文 松心耐雪作品) 偷懒大法 测试一项重复而又累的工作,我想作为一个测试人员应该都是深有体会的,那么如何给自己减负呢?那就要学会“偷懒”。对测试来说繁杂的事情...

22250
来自专栏刺客博客

博客主机搬迁遇到的问题记录

20540
来自专栏工科狗和生物喵

计算机操作系统概念初解

一、存储系统 在计算机系统中存储层次可分为,处理器上的寄存器、高速缓冲存储器、主存储器(内存)、辅助存储器(外存)四级。高速缓冲存储器用来改善主存储器与中央处理...

35880

扫码关注云+社区

领取腾讯云代金券