Каждый интернет-магазин, каждая landing-страница товара, каждый маркетплейс живёт на схеме Product. Это самая ROI-выигрышная разметка в e-commerce — звёзды рейтинга, цена, наличие прямо в поисковой выдаче резко повышают CTR и попадание в Google Shopping. Официальные требования — Google Search Central: Product.
Product редко используется одна — она почти всегда идёт с вложенными Offer (цена, наличие), AggregateRating (средний рейтинг), Review (отдельные отзывы). Это композиция схем; каждая играет свою роль в Rich Result.
Пример JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Наушники MX-Pro",
"image": [
"https://example.com/products/mx-pro-1x1.jpg",
"https://example.com/products/mx-pro-4x3.jpg",
"https://example.com/products/mx-pro-16x9.jpg"
],
"description": "Беспроводные наушники с активным шумоподавлением, время работы до 30 часов.",
"sku": "MX-PRO-BLK",
"gtin13": "1234567890123",
"brand": {
"@type": "Brand",
"name": "AudioPro"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/products/mx-pro",
"price": "14990",
"priceCurrency": "RUB",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2026-12-31",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"name": "Магазин электроники"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "127"
}
}
</script>
Обязательные свойства
- name — название товара.
- image — одна или несколько картинок. Google рекомендует три соотношения (1:1, 4:3, 16:9) для гибкости отображения.
- offers — предложение с ценой. Обязательно для Rich Result. Требует минимум price, priceCurrency, availability.
Рекомендуемые свойства
- description — описание товара.
- sku — артикул продавца.
- gtin, gtin8, gtin12, gtin13, gtin14 — глобальный идентификатор товара (штрих-код). Помогает Google соотнести с базой — критично для Google Shopping.
- brand — производитель (Brand или Organization). Строго рекомендовано.
- aggregateRating — средний рейтинг + число отзывов. Даёт звёзды в SERP.
- review — массив отдельных отзывов (Review-объекты). Разбор Review — в отдельной подглаве.
Свойства Offer
Вложенный Offer сам по себе имеет свой набор свойств:
- price — цена как строка ("14990" без валютного знака).
- priceCurrency — трёхбуквенный код валюты (RUB, USD, EUR, UAH, BYN).
- availability — enumeration:
- https://schema.org/InStock — в наличии
- https://schema.org/OutOfStock — нет в наличии
- https://schema.org/PreOrder — предзаказ
- https://schema.org/BackOrder — под заказ
- https://schema.org/Discontinued — снят с производства
- itemCondition — enumeration: NewCondition, UsedCondition, RefurbishedCondition, DamagedCondition.
- priceValidUntil — дата, до которой действует цена. Обязательно для акций.
- seller — продавец, если отличается от бренда/производителя.
- url — ссылка на страницу товара (полезно, если разметка одна для нескольких магазинов).
Множественные Offer (несколько магазинов)
Если один товар продаётся в нескольких магазинах, вместо одного Offer используется массив:
<script type="application/ld+json">
{
"@type": "Product",
"name": "Наушники MX-Pro",
"offers": [
{
"@type": "Offer",
"price": "14990",
"priceCurrency": "RUB",
"seller": { "@type": "Organization", "name": "Магазин 1" }
},
{
"@type": "Offer",
"price": "15990",
"priceCurrency": "RUB",
"seller": { "@type": "Organization", "name": "Магазин 2" }
}
]
}
</script>
Альтернативно для товаров с ценами в разных диапазонах используется AggregateOffer с lowPrice, highPrice, offerCount. Полезно для маркетплейсов.
Что попадает в SERP
- Product Rich Result — карточка с картинкой, ценой, звёздами, наличием.
- Google Shopping — вертикаль товаров с фильтрами. Обязательно нужна разметка + Merchant Center feed.
- Google Images — товарные картинки помечаются иконкой «Product» и получают preview с ценой.
- Голосовые ассистенты — ответы на «сколько стоит X».
Типовые ошибки
- Цена как число. "price": 14990 — невалидно. Правильно: строка "price": "14990".
- Валюта в цене. "price": "14990 руб" или "14990₽" — ошибка. Только число как строка, валюта отдельно в priceCurrency.
- Availability как обычная строка. Только enumeration-URL: https://schema.org/InStock, не "in stock".
- AggregateRating без отзывов на странице. Если ставишь рейтинг, отзывы должны реально быть на странице. Google penalize за «fake reviews».
- Одна разметка на listing-страницу с товарами. Не пиши один Product, если страница — список. Используй ItemList или разметку каждого товара по отдельности.