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