Каждый интернет-магазин, каждая 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 или разметку каждого товара по отдельности.