我正在尝试为Accommodation
添加架构,但我似乎无法找到一种方法来引用此架构的“offer”或“price”。我使用JSON-LD来格式化这个模式。
我也尝试过room / hotelRoom作为替代方案。我还尝试使用additionalType
值来允许我使用基于产品的选项,例如offers
,但这不起作用。
JSON-LD:
{
"@context": "http://schema.org",
"@type": "Accommodation",
"additionalType": "Product",
"name": "example",
"offers": {
"@type": "Offer",
"name": "1 Night",
"priceSpecification": {
"@type": "PriceSpecification",
"price": 1,
"minPrice": 1,
"maxPrice": 2,
"priceCurrency": "GBP"
}
}
}
Google结构化数据测试工具:
Google无法识别
offers
类型的对象的属性Accommodation
。
我打算如何在我的架构中为特定住宿/房间添加价格?
答案 0 :(得分:0)
Schema.org打算¹作者在这种情况下使用MTEs²。然而,这当然不一定意味着所有消费者都完全支持(尚未)。
所以而不是:
"@type": "Accommodation",
你会用:
"@type": ["Accommodation", "Product"],
(不再需要additionalType": "Product",
,因此可以删除)
虽然Google的结构化数据测试工具只显示一种类型(似乎始终是数组中的第一个值),但它在使用时不会报告任何错误。
¹accommodation documentation尚未反映这一点(这些更改目前是draft for the next version的一部分),主题将在此处讨论:
²MTE:多类型实体。