看到文章标题你也许会懵逼,其实就是说把网站的数据也就是URL提交到百度熊掌号这么一个系统里面,其实熊掌号是一个算比较复杂的系统,通过它的描述:
百度熊掌号是内容和服务提供者入驻百度生态的认证账号,致力于帮助内容和服务提供者便捷、高效地连接全网用户,并充分利用百度生态开放的优势,获取流量、沉淀用户、塑造品牌,实现自身价值的快速增长。
可以看出来它的复杂性,这里我们只是使用了他的搜索资源平台的入口,提供我们网站资源。具体还要数据开放平台以及类似公众号的百家号平台等其他平台,可以前往熊掌号官网(http://xiongzhang.baidu.com/official/home/main)进一步了解。这里只说如何改造网站接入熊掌号。
首先是开通工作,这个不做详细说明,依据平台的要求提示操作即可,这里我们默认已经通过审核
直接进入页面改造步骤
由于本网站是H5的相适式网站,所以按照H5的改造步骤完成:
在所有页面的头部<head>里面添加代码:
<script src="//msite.baidu.com/sdk/c.js?appid=这里是你的熊掌ID"></script>
然后是给H5页面添加关注功能(强烈推荐,但是似乎不是强制的) ,至多选择两种方式
前面的这个几个代码改造属于粉丝关注改造不是核心的部分,后面这里则是核心的部分之一,改造页面使之符合熊掌号的规范:
4. 添加canonical标签
在H5页面<head>部分添加:
<link rel="canonical" href="这里是H5对应的PC页面地址"/>
要求href的内容为MIP页或H5页对应的PC页地址;如果没有PC页,则填写当前页面地址。
然后是添加JSON_LD数据,示例:
{<script type="application/ld+json">
说明:
@context: 必选字段, 请保留 “https://ziyuan.baidu.com/contexts/cambrian.jsonld”,若需要校验数据的schema,则可替换为schema地址
@id: 必选字段, 当前网页的url
appid: 必选字段, 熊掌号ID
title: 必选字段, 标题,建议长度:20个字符以内
images: 可选字段, 搜索结果结构化信息展示,仅允许提供0张,1张图或3张图
description: 可选字段, 内容摘要:120个字符以内
pubDate: 必选字段, 内容发布时间,格式是(2017-06-15T08:00:01)
显然上面这些内容是要放置在内容页也就是详情页内,对于DEDECMS可以将上面的实例改造如下:
这里说明一下,
1
|
https://chaihongjun.me{dede:field.arcurl/}
|
获取的是当前文章页的URL,而
1
|
{dede:global.cfg_xzh_id/}
|
这里则是百度熊掌号的ID,这里配置为一个全局变量方便后续的数据提交部分的修改。images字段,则是使用的了dedecms文章缩略图,默认每篇文章带有一张缩略图,这里只引用一张也是符合代码要求的。摘要和发布时间不做说明。
以上的工作完成之后,即可通过在线校验工具
检验一下页面是否符合规范:
最后,我们要完成我们核心的工作部分,数据的提交。这里数据的提交分为API提交手动提交,手动提交,顾名思义就是将新页面URL在这里提交,比较的费事。咱们做的是每当发布完一篇文章之后,自动提交这篇页面的URL。这里参考之前的文章《dedecms后台控制内容是否需要主动提交到百度》
5. 进入数据库选择数据表#@_archives,在表结构最后添加一个新的字段xzh,这个字段类型为tinyint,设默认值为1,表示推送数据,当值为0的时候不推送数据,这么做的目的是为了方便后台控制是否推送。接着模仿前面提及文章的部分修改article_add.php,article_edit.php,archives_add.php和archives_edit.php这4个文件,在相应的地方添加xzh和$xzh。以及整合URL提交部分,将之前的URL提交和新的熊掌号URL提交整合在一起,部分代码:
/* 熊掌号数据提交 */$ch_xzh = curl_init();$options_xzh = array( CURLOPT_URL => $api_xzh, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode(" ", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),);curl_setopt_array($ch_xzh, $options_xzh);$result_xzh = curl_exec($ch_xzh);
} ClearMyAddon($arcID, $title); //返回成功信息 $msg = " 请选择你的后续操作: <a href='article_add.php?cid=$typeid'><u>继续发布文章</u></a> <a href='$artUrl' target='_blank'><u>查看文章</u></a> <a href='archives_do.php?aid=".$arcID."&dopost=editArchives'><u>更改文章</u></a> <a href='catalog_do.php?cid=$typeid&dopost=listArchives'><u>已发布文章管理</u></a> <a href=''><u>百度提交返回:".$result."熊掌号提交返回:".$result_xzh."</u></a> $backurl";}else { ClearMyAddon($arcID, $title); //返回成功信息 $msg = " 请选择你的后续操作: <a href='article_add.php?cid=$typeid'><u>继续发布文章</u></a> <a href='$artUrl' target='_blank'><u>查看文章</u></a> <a href='archives_do.php?aid=".$arcID."&dopost=editArchives'><u>更改文章</u></a> <a href='catalog_do.php?cid=$typeid&dopost=listArchives'><u>已发布文章管理</u></a> $backurl";} $msg = "<div style="line-height:36px;height:36px">{$msg}</div>".GetUpdateTest(); $wintitle = "成功发布文章!"; $wecome_info = "文章管理::发布文章"; $win = new OxWindow(); $win->AddTitle("成功发布文章:"); $win->AddMsgItem($msg); $winform = $win->GetWindow("hand"," ",false); $win->Display();}
?>
具体修改,请参考上传的附件文件
6. 前面提到的全局变量别忘记添加 cfg_xzh_id 表示熊掌号ID,cfg_xzh_token表示熊掌号的token
7.修改后台管理模板文件,在article_add.htm和artchives_add.htm添加如下:
<!--主动推送数据 --><td width="100">主动推送到百度:</td><td><input type='radio' name='push' value="0" /> 不推送 <input type='radio' name='push' value="1" checked='1'/> 推送</td><!--主动推送数据 --><!-- 上面是以前添加数据主动提交的控件开关 --><!-- 下面是新增加的针对熊掌号数据提交的控件开关 --><!--熊掌号推送数据 --><td width="100">主动推送到熊掌号:</td><td><input type='radio' name='xzh' value="0" /> 不推送 <input type='radio' name='xzh' value="1" checked='1'/> 推送</td>
<!--熊掌号推送数据 -->
在article_edit.htm和archives_edit.htm添加如下:
<!--熊掌号推送数据 -->
当前这文章发布出去之后后台显示如下:
PS:后台目前只能设置为同时推送和同时不推送,不然会出现问题