针对 WordPress 和 Dede CMS 百度熊掌号搜索结果出图怎么设置?

熊掌号的推出满足了SEOer们以往的不敢奢求的一些需求,比如说搜索结果出图。这在以往是随机的,可遇不可求的,但现在只要你能通过熊掌号接入资源,并对资源页面做一点简单的改造,那么搜索结果出图就是“随心所欲”的了!

熊掌号出图
熊掌号出图

上面的案例就是百度移动搜索结果出图的案例,而且是三张图,这也是大家最期待的效果,所以接下来的改造都是基于三张图出发的。当然这个改造完成后,并不是强制要求每个内容都得有三张图,如果正文中没有三张图,最终实现的就是一张图的效果。可谓是全方位满足大家的改造需求。

一、页面代码改造

首先百度官方已经说的很清楚,要想实现搜索结果出图,需要对页面进行一定的代码改造,同时百度也给出JSON-LD示例,如下:

<script type="application/ld+json">
    {
        "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
        "@id": "https://www.example.com/******",
        "appid": "1598817866725058",
        "title": "页面标题******",
        "images": [
        "https://www.example.com/***/pic1.png",
        "https://www.example.com/***/pic2.png",
        "https://www.example.com/***/pic3.png"
        ], //请在此处添加希望在搜索结果中展示图片的url,可以添加1个或3个url
        "pubDate": "2017-06-15T08:00:01" // 需按照yyyy-mm-ddThh:mm:ss格式编写时间,字母T不能省去
    }
</script>

对于稍懂一些代码知识的朋友来说这段代码其实不复杂,但是我们也不能忽视的是,部分SEOer对于代码的掌握确实不很熟练,所以,根据自己的熊掌号改造给大家提供Wordpress和Dede CMS 的 JSON-LD示例。

二、WordPress程序页面改造JSON-LD示例

<!--start 百度熊掌号出图-->
<?php
if(is_single()||is_page()){
	echo '<script type="application/ld+json">{
	"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
	"@id": "'.get_the_permalink().'",
 	"appid": "这里请填写熊掌号 ID",
	"title": "'.get_the_title().'",
	"images": ["'.fanly_post_imgs().'"],
	"pubDate": "'.get_the_time('Y-m-d\TH:i:s').'"
}</script>
';}
function fanly_post_imgs(){
	global $post;
	$src = '';
	$content = $post->post_content;  
	preg_match_all('/<img .*?src=[\"|\'](.+?)[\"|\'].*?>/', $content, $strResult, PREG_PATTERN_ORDER);  
	$n = count($strResult[1]);  
	if($n >= 3){
		$src = $strResult[1][0].'","'.$strResult[1][1].'","'.$strResult[1][2];
	}elseif($n >= 1){
		$src = $strResult[1][0];
	}
	return $src;
}
?>
<!--end 百度熊掌号出图 1598817866725058-->

直接复制代码到你的Wordpress网站的</head>前,然后把 appid 换成你自己的即可!

熊掌号出图-结果
熊掌号出图-结果

三、织梦程序页面改造JSON-LD示例

<script type="application/ld+json">
{
"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
"@id": "{dede:field name='arcurl'/}",<!--此处可能有问题,请测试-->
"appid": "熊掌号ID",<!--熊掌号ID换成自己熊掌号的id-->
"title": "{dede:field.title/}",
"images": [
{dede:field.body runphp='yes'}
global $cfg_basehost;
@me=str_replace("src=\"/uploads/","src=\"$cfg_basehost/uploads/",@me);
$str=strip_tags("@me","<img>");
preg_match_all("/src=\"?(.*?)\"/",$str,$ereg);
$urlarr=$ereg[1];
if (count($urlarr) >=3){
@me ='"'.$urlarr[0].'","'.$urlarr[1].'","'.$urlarr[2].'"';
}else{
@me ='"'.$urlarr[0].'"';
}
{/dede:field.body}
],
"pubDate": "{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}T{dede:field.pubdate function="MyDate('H:i:s',@me)"/}"
}
</script>

将这段代码放在内容页的源码模板的头部,即<head></head>之间。具体说放在模板文件里,根据站点的模板文件不同有所不同,有些站点可能是放在头部文件里,通常命名为head.htm,也有可能是放在详情页文件,通常命名为article_article.htm 。

以下是官方给的图片要求,请参考

获得搜索结果出图权益,图片需满足以下要求:

  1. 图片必须出现在落地页中,且为落地页主图(在页面主体内容中,能反映页面主题、对用户有价值的图片);
  2. 图片清晰度高,长宽比为3:2,图片大小不得低于300*200px;
  3. 图片主体内容要居中,且要展现完全(图片可能会裁剪边缘,若裁剪后效果不佳会影响展现);
  4. 图片不能涉及低俗、色情、反动等;
  5. 同一篇内容中不能出现重复图片;
  6. 图片中不能是纯文字,不允许为广告图、色情图、纯色图、令人不适的图片;
  7. 图片中不得出现二维码、联系电话、微信号等受益方式;
  8. 图片水印只可添加熊掌号名称,且不可居于显著位置,不可大面积覆盖图片;
  9. 图片格式为JPG、GIF、PNG的静态图片,默认以JPG展示缩略图;
  10. 通过Json-ld方式提交的出图资源,有效链接量达30条以上;
  11. 通过Json-ld方式提交的搜索结果出图资源,需通过图片质量审核。
滚动至顶部