最近在seo群里,有很多朋友問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和網址換成你的就可以了。這段織夢代碼實現了對熊掌號出三圖的支持。當然前提是你的文章里有三張或者三張以上的圖。如果不足就只取第一張或者前兩張圖片。

三、織夢熊掌號改造過程中容易出現的問題
很多朋友都可能遇到熊掌號驗證通不過的問題,如果出現驗證不通過,首先你要詳細檢查自己的代碼調用是否有錯,一定要耐心細致的檢查。下面列舉幾個常見的錯誤。
1)熊掌號驗證不能通過的原因一
網站沒有Canonical標簽,這個是基礎的一步,很多朋友就是因為沒有這個標簽導致驗證不能通過;
2)熊掌號ID錯誤
檢查<script type="text/javascript" src="//msite.baidu.com/sdk/c.js?appid=XXXXXXX"></script>和"appid": "XXXXXXX", 中的appid是否是你自己的ID,很多粗心的朋友把代碼直接復制過來就用,根本沒有做檢查。一定要注意這個ID哦;
3)熊掌號時間格式錯誤
出現這個錯誤是由于沒有按照熊掌號官方時間調用格式。具體代碼是這一段:"pubDate": "{dede:field.pubdate function="MyDate('Y-m-d\TH:i:s',@me)"/}"。注意年月日和時分秒中間有一個T。這才是熊掌號時間的正確姿勢。很多的朋友忘記這里的“T”了。

總結,上面的代碼是我目前使用的代碼,沒有錯誤。還增加了熊掌號出三圖的樣式和目前極光算法對時間因子的支持。希望對廣大朋友在熊掌號改造過程中有所幫助。