3

将具有 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 。这并不能让我有信心在现场环境中使用。

哪个是对的?特别是如果您提供多个优惠?

4

3 回答 3

3

我有同样的问题,我只是通过艰苦的试验和错误才弄清楚:问题是,即使pricepriceSpecification模式的一部分,它仍然需要在常规offerpriceSpecification元标记之外定义!

我需要priceSpecification因为我们显示的价格包括和不包括增值税,现在我不知道如何实施这个!如果我必须在offer中定义价格,我如何判断它是否包含增值税?valueAddedTaxIncluded不是报价模式的一部分!一个只包含valueAddedTaxIncluded=true的空 div ?好的,那么我如何在没有增值税的情况下实施其他价格呢?这将在报价中定义两次价格,这是不可能的!

此外,为什么 schema.org 和 getschema.org 在涉及示例代码以及如何正确实现任何给定模式时如此无用?如果你想让人们采用一些花哨的新技术——告诉他们怎么做!!

于 2013-07-18T14:43:02.597 回答
1

根据您的示例,我认为您不需要使用单独的 priceSpecification 属性。相反,您可以直接将 price 和 priceCurrency 属性添加到 Offer,如下例所示。

<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">
    Prices start at <meta itemprop="priceCurrency" content="GBP" />£
    <span itemprop="price">0.71</span> (per bottle)
  </div>    
</div>
于 2013-02-21T19:01:43.393 回答
0

如前所述,报价也需要价格标签。标签测试器允许的一种解决方案是将数据添加为元标签,如下所示:

<meta itemprop="price" content="79" />

我不确定谷歌是否会解析并显示这一点。

于 2015-07-01T11:23:23.957 回答