Javascript 如何在产品中的报价中正确标记产品?
我维护的网站的产品页面上出现了谷歌搜索控制台错误,我不知道如何解决这些错误。我得到的错误是: 应提供一个报价或审查或聚合 这很简单,可以正常修复,但是我的困惑是,我已经在json ld的不同部分提供了Javascript 如何在产品中的报价中正确标记产品?,javascript,schema.org,json-ld,google-rich-snippets,structured-data,Javascript,Schema.org,Json Ld,Google Rich Snippets,Structured Data,我维护的网站的产品页面上出现了谷歌搜索控制台错误,我不知道如何解决这些错误。我得到的错误是: 应提供一个报价或审查或聚合 这很简单,可以正常修复,但是我的困惑是,我已经在json ld的不同部分提供了提供的数据。我的产品json ld的结构是 Product{ Offers{ Product {} Product {} } } 其中嵌套产品是同一产品的不同变体。我在网站上没有可用的评论或评级,因此我只能使用提供的来解决错误。然而,谷歌搜索控制台表
提供的数据。我的产品json ld的结构是
Product{
Offers{
Product {}
Product {}
}
}
其中嵌套产品是同一产品的不同变体。我在网站上没有可用的评论或评级,因此我只能使用提供的
来解决错误。然而,谷歌搜索控制台表示,每个嵌套产品都应该有报价
数据,尽管它们已经包含在报价结构中
这似乎会深入到一个无限循环中:我向产品变体添加报价,使用itemOffered类型的产品,然后需要另一个报价,等等
我如何组织我的结构化数据,既支持我的产品->变体层次结构,又能取悦谷歌搜索控制台并删除我看到的错误
这里是完整的JSON ld,您可以直接复制/粘贴到中,以查看我所描述的确切问题
{
"@context":"http://schema.org/",
"@type":"Product",
"name":"Stripe Knit Sweater",
"url":"http://foobar.gov/product",
"image":[
"http://foobar.gov/product/image1"
],
"description":"this is a description",
"brand":{
"@type":"Thing",
"name":"My Store"
},
"offers":[
{
"@type":"Offer",
"availability":"http://schema.org/InStock",
"price":"64.0",
"priceCurrency":"USD",
"url":"http://foobar.gov/product/url",
"itemOffered":{
"@type":"Product",
/*ERROR IS HERE! : One of offers or review or aggregateRating should be provided.*/
"image":"http://foobar.gov/product/url",
"name":"Small / Blue/Black/Cream Stripe",
"weight":{
"@type":"QuantitativeValue",
"unitCode":"lb",
"value":"0.0 lb"
},
"url":"http://foobar.gov/product/url"
}
},
{
"@type":"Offer",
"availability":"http://schema.org/InStock",
"price":"64.0",
"priceCurrency":"USD",
"url":"http://foobar.gov/product/url",
"itemOffered":{
"@type":"Product",
/*ERROR IS HERE! : One of offers or review or aggregateRating should be provided.*/
"image":"http://foobar.gov/product/url",
"name":"Medium / Blue/Black/Cream Stripe",
"weight":{
"@type":"QuantitativeValue",
"unitCode":"lb",
"value":"0.0 lb"
},
"url":"http://foobar.gov/product/url"
}
}
]
}
根据您的示例,似乎每个产品都是产品的变体。如果是这样,我不确定是否需要在变体内部嵌套产品。从您的示例中,我可以看出嵌套的产品
中唯一唯一唯一的属性是重量
,您可以使用附加属性
将其应用于报价
如果以这种方式发送到工具,所有内容都将验证:
{
"@context": "http://schema.org/",
"@type": "Product",
"name":"Stripe Knit Sweater",
"url":"http://foobar.gov/product",
"image":[
"http://foobar.gov/product/image1"
],
"description":"this is a description",
"brand":{
"@type":"Thing",
"name":"My Store"
},
"offers": [
{
"@type": "Offer",
"availability":"http://schema.org/InStock",
"price":"64.0",
"image":"http://foobar.gov/product/url",
"name":"Small / Blue/Black/Cream Stripe",
"priceCurrency":"USD",
"url":"http://foobar.gov/product/url",
"additionalProperty": {
"@type": "PropertyValue",
"name": "Weight",
"unitCode": "1b",
"value": "0.0lb"
}
},
{
"@type": "Offer",
"availability":"http://schema.org/InStock",
"price":"64.0",
"image":"http://foobar.gov/product/url",
"name":"Medium / Blue/Black/Cream Stripe",
"priceCurrency":"USD",
"url":"http://foobar.gov/product/url",
"additionalProperty": {
"@type": "PropertyValue",
"name": "Weight",
"unitCode": "1b",
"value": "0.0lb"
}
}]
}
在Offer
上,说明itemOffered
是一个推荐字段,它是“典型的产品”,但不一定是。还值得注意的是,与文档相反,如果Offer
中不存在itemOffered
,该工具不会警告您
尽管提供了所提供的itemsofered
作为一个选项,但遗憾的是,嵌套的Product
s没有这样的例子
嵌套产品
或服务
在以下情况下是有意义的:
- (产品)沙龙套餐
- (优惠)指甲/按摩套餐
- (提供项目)
- (服务)指甲抛光和颈部按摩
或:
- (产品)毛衣
- (报价)蓝色毛衣
- (提供项目)
- (产品)蓝色毛衣
- (优惠)亚马逊蓝色毛衣-49美元
- (优惠)易趣上的蓝色毛衣-39美元
- (报价)红色毛衣
不管怎样,我认为期望在这里是有意义的,在任何情况下,产品
最终都会以提供
结束。在您的情况下,我认为解决方法是不要使用嵌套的产品
s来描述产品
尝试用于2级产品。该@Type
可能与属性aggregating
不是强制关系,并将传达与您声明的含义相同的含义。