"price: missing and required" 虽然使用了 PriceSpecification

"price: missing and required" although PriceSpecification is used

我正在尝试在我们的产品页面上实施 Schema.org,但在 Google's Testing Tool 中进行测试时出现与 Offer 相关的错误。错误说 price 是必需的,但我想因为我使用了 PriceSpecification,所以我不需要指定 price

这里是错误:

这是我使用的 HTML+微数据的格式:

<div itemscope itemtype="http://schema.org/Product">
    <img itemprop="image" src="https://kng.scene7.com/is/image/kng/1046-set?$prodpage$" />
    <h1 itemprop="name">Waist Apron, 11 inch</h1>
    Item# <span itemprop="mpn">1046</span>
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <link itemprop="availability" href="http://schema.org/InStock">
        <meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition">
        <table>
            <tbody>
                <tr itemprop="priceSpecification" itemscope itemtype="http://schema.org/PriceSpecification">
                    <td itemprop="eligibleQuantity" itemscope itemtype="http://schema.org/QuantitativeValue">
                        1 - 11
                        <meta itemprop="value" content="1">
                        <meta itemprop="unitCode" content="C62">
                    </td>
                    <td>Each</td>
                    <td>
                        <meta itemprop="priceCurrency" content="USD">
                        <meta itemprop="maxPrice" content="3.49">
                        .49
                    </td>
                </tr>
                <tr itemprop="priceSpecification" itemscope itemtype="http://schema.org/PriceSpecification">
                    <td itemprop="eligibleQuantity" itemscope itemtype="http://schema.org/QuantitativeValue">
                        12 - 29
                        <meta itemprop="value" content="12">
                        <meta itemprop="unitCode" content="C62">
                    </td>
                    <td>Each</td>
                    <td>
                        <meta itemprop="priceCurrency" content="USD">
                        <meta itemprop="price" content="2.96">
                        .96
                    </td>
                </tr>
                <tr itemprop="priceSpecification" itemscope itemtype="http://schema.org/PriceSpecification">
                    <td itemprop="eligibleQuantity" itemscope itemtype="http://schema.org/QuantitativeValue">
                        30 - 59
                        <meta itemprop="value" content="30">
                        <meta itemprop="unitCode" content="C62">
                    </td>
                    <td>Each</td>
                    <td>
                        <meta itemprop="priceCurrency" content="USD">
                        <meta itemprop="price" content="2.63">
                        .63
                    </td>
                </tr>
                <tr itemprop="priceSpecification" itemscope itemtype="http://schema.org/PriceSpecification">
                    <td itemprop="eligibleQuantity" itemscope itemtype="http://schema.org/QuantitativeValue">
                        60 +
                        <meta itemprop="value" content="60">
                        <meta itemprop="unitCode" content="C62">
                    </td>
                    <td>Each</td>
                    <td>
                        <meta itemprop="priceCurrency" content="USD">
                        <meta itemprop="minPrice" content="2.44">
                        .44
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

奇怪的是,如果我只是将 Offer 部分粘贴到测试工具中,它不会 return price 错误。

解决此问题的最佳方法是什么?

tl;dr:Schema.org的使用是合适的,但是Google似乎还不支持它(还)。

Google 的 Products Rich Snippet 文档将 price 列为必需的 属性。他们甚至没有提到 priceSpecification 属性.

所以根据他们的文档和测试工具,Google 似乎(还?)不支持指定 priceSpecificationPriceSpecification instead of a price

如果您只检查 Offer,测试工具不会给出此错误的原因是 Google 没有仅使用 Offer.[=28= 的标记功能] 您遇到的错误不是您的微数据或您使用 Schema.org 的实际错误,而是 Google 喜欢看到的显示丰富网页摘要的内容。