цена: отсутствует и требуется, хотя используется PriceSpecification

Я пытаюсь внедрить Schema.org на страницы наших продуктов, но получаю сообщение об ошибке, связанное с Offer, при тестировании в Инструмент тестирования Google. В ошибках говорится, что требуется price, но я решил, что, поскольку я использовал PriceSpecification, мне не нужно было указывать price.

Вот ошибка:

Инструмент тестирования структурированных данных Google: продукт: 1 Ошибка:

Вот формат HTML+Microdata, который я использую:

<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">
                        $3.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">
                        $2.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">
                        $2.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">
                        $2.44
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

Странно то, что если я просто вставлю раздел Offer в Testing Tool, он не вернет ошибку price.

Каков наилучший способ исправить это?


person njm5785    schedule 25.06.2015    source источник
comment
Обратите внимание, что использование элемента meta для itemCondition некорректно; вы должны использовать элемент link (и опустить itemtype), например: <link itemprop="itemCondition" href="http://schema.org/NewCondition"/>   -  person unor    schedule 26.06.2015


Ответы (1)


tl;dr: правильное использование Schema.org, но Google, похоже, не поддерживает его (пока).

В документации Google для их расширенного описания продуктов указано price в качестве обязательного свойства. Они даже не упоминают свойство priceSpecification.

Таким образом, согласно их документации и их Инструменту тестирования, кажется, что Google (пока?) не поддерживает указание priceSpecificationPriceSpecification вместо price.

Причина, по которой Инструмент тестирования не выдает эту ошибку, если вы проверяете только Offer, заключается в том, что у Google нет функции разметки, которая использует только Offer.
Ошибка, которую вы получаете, не является фактической ошибкой с вашими микроданными или использованием схемы. org, это как раз то, что Google любит видеть для отображения расширенного сниппета.

person unor    schedule 26.06.2015
comment
Кроме внесения изменений, которые вы предложили выше, я должен быть в порядке? Или я должен изменить свой код и удалить спецификацию цены и просто указать их все как цену? - person njm5785; 29.06.2015
comment
@Nick: Это зависит от того, что вы ожидаете от Google. Если вы не заботитесь о них, вы можете оставить это как есть. Но если вы хотите, чтобы Google использовал ваши данные (и не хотите ждать, пока они поддержат priceSpecification, если это вообще произойдет), вам следует предоставить price. Однако вам не нужно удалять priceSpecification для этого! Вы можете использовать price дополнительно. - person unor; 29.06.2015