在做完余斗个人博客的百度熊掌号搜索资源平台页面改造后,余斗随机抽取了博客的一个网址对页面做了一个在线校验,却发现有如下报错:
错误原因显示为:JSON 解析失败,格式不合法,可能存在多余的换行,回车,逗号!
这个偶然的错误让余斗仔细排查了一下部署好的代码,果然发现在时间pubDate处掉了一个逗号,正是这个逗号导致报错从而无法通过校验,还好余斗早点发现这个错误,不然有部署的这些代码基本都是作废的了!
其实在前一篇《百度熊掌号之搜索资源平台体验》中第二步的**后一处,余斗已经介绍了如何部署JSON_LD数据,也分别对JSON_LD数据中的几个参数做了说明。然而很多站长虽然明白参数的意义,缺忽视了一些很重要的细节,这样会造成在数据校验的时候出错。
以余斗的一个页面JSON_LD数据为例,主要的一些错误大致可以归为以下几类:
<script type="application/ld+json">
{
"@context": "https://zhanzhang.baidu.com/contexts/cambrian.jsonld",
"@id": "https://www.yudouyudou.com/SEOyouhua/1132.html",
"appid": "1583643453043451",
"title":"百度熊掌号之搜索资源平台体验",
"images": [
"https://www.yudouyudou.com/uploads/allimg/171115/1-1G115205Z70-L.jpg"
],
"description": "在《 百度熊掌号之初体验 》一文中,余斗带大家初步认识了解了百度的新产品熊掌号,而**为余斗喜欢的莫过于搜索资源平台这个功能了。搜索资源平台主要是为拥有内容和服务的网站服务,通过供给**内容,使得网站在百度获得更多内容曝光、品牌宣传和粉丝沉淀。 其实搜索",
"pubDate": "2017-11-15T20:10:24",
"isOriginal": "1"
}
</script>
JSONlD标签相关问题
1.JSONlD标签不存在:这个主要是因为没有在页面头部添加JSONlD标签,添加代码为(xxx为余斗示例代码中样式):
<script type="application/ld+json">xxxxxx</script>
2.JSONlD为空:虽然有的站长添加了JSONlD标签,但是标签的xxxx部分为空,这里一定要注意改成自己的对应参数。
@context参数相关问题
1.@context不存在:当我们提交的jsonld内容中不存在@context字段会有如此报错。
2.@context地址不正确:正确地址是**的,应该为https://zhanzhang.baidu.com/contexts/cambrian.jsonld。
@id标签相关问题
1.@id不存在,当我们提交的jsonld内容中不存在@id字段会有如此报错。
2.@id值和页面地址不一致,当我们提交参数里@id中的url和用户提交的链接不一样会报错,比如我们提交的url是A,但是jsonld的@id字段内容是B,这样会校验不通过
title标签相关问题
1.title不存在:当参数中不存在title字段时,会有如此报错,此时需要我们手动添加title字段。
2.title内容为空,当jsonld内容中的title字段为空时会报此错,此时我们需要完善title字段内容。
images标签相关问题
1.images数量不对:imgaes标签里仅允许提供1张图或3张图的数据,如果多了或者少了都会报错。
pubDate标签相关问题
1.pubDate不存在:当我们提交的jsonld内容中不存在pubDate字段会有如此报错
2.pubDate不合法,晚于当前时间:当我们提交的pubDate的时间比系统当前晚就会报错,比如当前时间是2017年11月17日,而我们提交的链接pubDate是2017年11月20日,就是不合法的。
3.pubDate格式不对:这里的pubDate参数正确格式示例应该为:'2017-11-16T20:10:21',我们按照这个格式书写即可。
isOriginal标签相关问题
1.isOrignal值不正确:isOrignal值主要是用来表示当前内容是否原创,1代表原创,0代表非原创,当我们的参数填的是非0或者1则报值不正确,做对应修改即可。
JSON 解析问题
1.JSON 解析失败:当我们提交的json-ld数据格式不规范,多空格或者少空格,少符号都会报错,如果我们多次查询仍找不出原因,可以把内容属于输入到json.cn中进行核实。
校验成功的数据反馈
以上就是熊掌号搜索资源平台中页面改造的JSON-LD标签容易出现的几种错误类型介绍,大家可以根据相关报错进行排查。