製品内に priceSpecification を持つオファーをネストすると、Google リッチ スニペット テスト ツールでマイクロデータが不完全であるという警告がスローされます。
これ
<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 の microdata が不完全です。
オファーを製品外に移動した場合:
<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 のすべての例は、Product 内にオファーをネストしていますが、priceSpecification を使用しているものはありません。オファーが製品内にネストされていないブログ投稿を 1 つだけ見つけることができました: http://seolobster.de/richsnippets-schema-org-products-update。これでは、ライブ環境で使用する自信がありません。
どちらが正しい?特に、複数のオファーを投入する場合は?