将具有 priceSpecification 的 Offer 嵌套在 Product中会在 Google Rich Snippets 测试工具中引发不完整的微数据警告。
这个
<div itemscope itemtype="http://schema.org/Product">
<h1 itemprop="name">1984 Vintage Selection Cabernet Sauvignon</h1>
<p itemprop="description">Cabernet Sauvignon.</p>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<p itemprop="priceSpecification" itemscope itemtype="http://schema.org/priceSpecification">Prices start at
<meta itemprop="priceCurrency" content="GBP" />£<span itemprop="price">0.71</span> (per bottle)</p>
<meta itemprop="validThrough" content="2013-09-01" />
</div>
</div>
在 google 丰富网页摘要测试工具中引发以下警告: 警告:schema.org 的微数据不完整。
如果我将优惠移到产品之外:
<div itemscope itemtype="http://schema.org/Product">
<h1 itemprop="name">1984 Vintage Selection Cabernet Sauvignon</h1>
<p itemprop="description">Cabernet Sauvignon.</p>
</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<p itemprop="priceSpecification" itemscope itemtype="http://schema.org/priceSpecification">Prices start at
<meta itemprop="priceCurrency" content="GBP" />£<span itemprop="price">0.71</span> (per bottle)</p>
<meta itemprop="validThrough" content="2013-09-01" />
</div>
那么警告不再抛出,但这似乎没有意义,因为优惠未链接到它适用的产品。
schema.org 上的所有示例都将 Offer 嵌套在 Product 中,但是,它们都没有使用 priceSpecification。我只能找到一篇博文,其中 Offer 没有嵌套在 Product 中:http ://seolobster.de/richsnippets-schema-org-products-update 。这并不能让我有信心在现场环境中使用。
哪个是对的?特别是如果您提供多个优惠?