前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百度熊掌号折腾手记

百度熊掌号折腾手记

作者头像
世纪访客
发布2018-08-02 15:47:34
4050
发布2018-08-02 15:47:34
举报
文章被收录于专栏:西枫里博客西枫里博客

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

首先是熊掌号的内容要求

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

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

重点关注下页面改造要求

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

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

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

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

代码语言:javascript
复制
        {
            "@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的程序开发的,所以在网站后台添加文章的时候,需要做一个推送方法,将当前发布的文章链接推送给百度,百度就能即时抓取了。直接上代码:

代码语言:javascript
复制
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
未标题-1.jpg

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先是熊掌号的内容要求
  • 重点关注下页面改造要求
  • 最后就是自动推送的改造
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档