Руководство · Стандарт или спецификация
Schema.org Product и Offer для AI-commerce
Как описывать товар, предложение, цену, валюту, наличие, идентификаторы и варианты так, чтобы машинное представление не расходилось с видимой карточкой товара.
- Опубликовано
- Обновлено
Ограничение: материал объясняет проверяемый технический сигнал. Его наличие не гарантирует ранжирование, индексацию, цитирование или включение сайта в ответы ИИ.
Product описывает сущность, Offer — коммерческое предложение
В Schema.org Product представляет товар или услугу как сущность, а Offer — конкретное предложение передать права на него, например продать по определённой цене и в определённом состоянии наличия. Связь обычно задаётся через свойство `offers` у Product.
Для машинного потребителя особенно важна согласованность: название, цена, валюта и availability в JSON-LD не должны расходиться с тем, что пользователь видит на странице. Противоречивые данные хуже отсутствующих, потому что создают несколько взаимоисключающих версий товара.
Что проверяет AI Web Check
AI-commerce проверяется только после подтверждения, что сайт относится к интернет-магазинам. На ограниченной выборке товарных страниц сервис ищет Product/ProductGroup, Offer/AggregateOffer, основные поля, цену и валюту, availability, бренд, идентификаторы, canonical и признаки вариантов.
Дополнительно сравниваются некоторые однозначные HTML и JSON-LD значения. Сервис не сохраняет цены, названия, SKU/GTIN или полная разметка: в диагностике остаются только нормализованные статусы и счётчики.
Минимальный пример
В реальном магазине добавляйте только подтверждаемые свойства. Если есть варианты, не подменяйте отдельные SKU одной случайной ценой: моделируйте варианты так, чтобы цена, availability и canonical относились к правильной сущности.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Example Device",
"sku": "SKU-123",
"offers": {
"@type": "Offer",
"price": "199.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://example.com/product/device"
}
}
</script>Типичные ошибки
- Цена в JSON-LD обновляется реже, чем видимая цена на странице.
- priceCurrency отсутствует или не соответствует отображаемой валюте.
- availability остаётся InStock после фактического снятия товара с продажи.
- Один Product используется для нескольких вариантов без однозначной связи SKU/GTIN/canonical.
- Разметка описывает товар, которого нет в основном содержимом страницы.
Как исправлять
Формируйте видимую карточку и JSON-LD из одной товарной модели. Цена, валюта, availability, URL и идентификаторы должны обновляться в одном транзакционном контуре, а не копироваться в шаблон вручную.
Для AI-commerce важнее качество и согласованность нескольких реальных товарных карточек, чем количество типов Schema.org на каждой странице. Сначала устраните противоречия, потом расширяйте семантику.