最近有很多朋友问如何让dedecms织梦熊掌号支持。在这里就不唠叨熊掌号的各种好处了,大家可以自行百度脑补。可是很多朋友把织梦熊掌号改造出来的最后总是验证的时候不能通过。
下面通过两个步骤来介绍通过织梦(dedecms)改造,支持百度最新的熊掌号。改造完成以后,如果你的内容中有多图,在搜索结果中可以支持出三个图。
其实,织梦熊掌号改造说简单也简单说难也难,简单在于只要添加两段代码就可以了,难点是改造的时候很多朋友不细心,代码容易出问题,总是加不对。因为织梦标签很多地方调用方式的不同,所以很多朋友在操作过程中,标签总是不能获取到正确的格式,所以熊掌号验证一直过不了。
今天特地把我用到的最适用熊掌号的代码分享出来,可以说是目前比较齐全的方法。
一、给dedecms(织梦)添加Canonical标签
熊掌号必须要使用Canonical标签,来保证URL的唯一性和正确性。
dedecms调用代码如下:
<link rel="canonical" href="{dede:global.cfg_basehost/}{dede:field name='arcurl'/}" />
把以上这段代码加入在你内容页</head>部分以前。这就完成了熊掌号改造的第一步。接下来就是熊掌号的调用代码了。
二、织梦熊掌号正确的改造代码
先上我使用的代码,然后再逐步说明需要根据你网站更改的内容。
<!-- 替换成你自己的熊掌号ID -->
<script type="text/javascript" src="//msite.baidu.com/sdk/c.js?appid=xxxxxxxxxxxxxxxx"></script>
<script type="application/ld+json">
{
"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
"@id": "{dede:global.cfg_basehost/}{dede:field name='arcurl'/}",
"appid": "xxxxxxxxxxxxx", //替换成你自己的熊掌号ID
"title": "{dede:field.title/}",
"images": [{dede:field.body runphp='yes'}
$str=strip_tags("@me","<img>");
preg_match_all("/src=\"\/?(.*?)\"/",$str,$ereg);
@me="";
if($ereg[1][0]){
@me.='"http://www.xxx.cn/'.$ereg[1][0].'"';//第一张图 网址替换成你自己的网址
}
if($ereg[1][1]){
@me.=',"http://www.xxx.cn/'.$ereg[1][1].'"';//第二张图 网址替换成你自己的网址
}
if($ereg[1][2]){
@me.=',"http://www.xxx.cn/'.$ereg[1][2].'"';//第三张图 网址替换成你自己的网址
}{/dede:field.body}
],
"pubDate": "{dede:field.pubdate function="MyDate('Y-m-d\TH:i:s',@me)"/}",
"upDate": "{dede:field.pubdate function="MyDate('Y-m-d\TH:i:s',@me)"/}"
}
</script>
织梦对熊掌号支持的改造,就是这么简单,只需要把ID和网址换成你的就可以了。这段织梦代码实现了对熊掌号出三图的支持。当然前提是你的文章里有三张或者三张以上的图。如果不足就只取第一张或者前两张图片。