Микроразметка товара Product и Offer: что передать и как проверить
10 мин чтения6 разделов разбора + 5 ключевых выводов — готовая основа задачи разработчику.
Кому полезноРуководителю проекта и разработчику
Что станет понятноТоварную страницу размечают как Product, а коммерческое предложение передают вложенным Offer или AggregateOffer
С чем уйдёте6 разделов разбора + 5 ключевых выводов — готовая основа задачи разработчику.
Микроразметка товара переводит видимые данные карточки в понятную машине структуру, но не должна становиться вторым, отдельным прайсом. Этот материал помогает связать Product с Offer или AggregateOffer, передать цену и наличие из одного источника, проверить разметку и не обещать расширенный сниппет как гарантированный результат.
- Товарную страницу размечают как Product, а коммерческое предложение передают вложенным Offer или AggregateOffer.
- Разметка должна собираться из тех же цены, наличия, названия и изображения, которые видит пользователь на странице.
- Offer подходит конкретному предложению, AggregateOffer — диапазону нескольких предложений; их нельзя выбирать только ради устранения предупреждения валидатора.
- Успешная проверка синтаксиса не гарантирует расширенный результат: поисковые системы сами решают, использовать ли данные в выдаче.
- После внедрения нужен регулярный контроль шаблона и выборки страниц, особенно при изменениях CMS, цены и вариантов товара.
- Что описывают Product, Offer и AggregateOffer
- Один источник правды для страницы, фида и микроразметки
- Пример JSON-LD для одного товара и одного предложения
- Варианты товара и диапазон цен: когда нужен AggregateOffer
- Проверка: синтаксис, поддержка и соответствие странице
- Мониторинг после внедрения: разметка ломается вместе с шаблоном
- Вопросы и ответы
Что описывают Product, Offer и AggregateOffer
Product описывает сам товар: название, изображение, описание, идентификаторы и другие свойства. Offer описывает конкретное коммерческое предложение: URL, цену, валюту, наличие и состояние. AggregateOffer используют, когда на странице действительно представлено несколько предложений или диапазон цен.
Яндекс рекомендует размечать товарные страницы по схеме Product со вложенным offers, соответствующим Offer или AggregateOffer. Google также различает представление товара и предложения продавца. Синтаксис может быть JSON-LD или встроенной разметкой; важнее корректная структура и совпадение с видимым содержанием.
Разметка помогает системе понять страницу, но не является способом скрытно добавить данные, которых нет пользователю. Цена, рейтинг, отзывы и наличие должны быть доступны на самой карточке.


Один источник правды для страницы, фида и микроразметки
Главная архитектурная ошибка — формировать страницу, фид и JSON-LD разными функциями. После изменения цены один слой обновляется, второй кешируется, третий получает значение по умолчанию. В результате робот видит противоречие, а пользователь — другое обещание после клика.
В продолжение темы можно открыть Мобильная версия сайта в 2026: что проверить владельцу за один вечер: там следующий шаг разобран отдельно.
Собирайте видимый блок и разметку из одной модели товара. Для каждого варианта храните стабильный ID, цену, валюту, доступность, основной URL и изображения. Если цена рассчитывается после выбора параметров, разметка должна соответствовать состоянию страницы по прямой ссылке, а не минимальной цене недоступной комплектации.
| Данные | Где видит пользователь | Где передать машине |
|---|---|---|
| Название | H1 и карточка | Product.name |
| Изображение | Галерея | Product.image |
| Цена | Блок покупки | Offer.price |
| Валюта | Обозначение цены | Offer.priceCurrency |
| Наличие | Статус заказа | Offer.availability |
| Адрес | Текущая карточка | Offer.url |

<offer id="123" available="true">
<url>https://example.ru/catalog/item-123/</url>
<price>45900</price>
<currencyId>RUR</currencyId>
<categoryId>12</categoryId>
<name>Название товара и ключевой параметр</name>
</offer>
Пример JSON-LD для одного товара и одного предложения
Ниже — минимальный учебный пример. Набор обязательных и рекомендуемых свойств зависит от поисковой системы и типа результата, поэтому перед внедрением сверяйте его с актуальной документацией и данными конкретной страницы.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Название товара",
"image": ["https://example.ru/img/item.webp"],
"description": "Краткое описание конкретного товара",
"sku": "sku-1042",
"offers": {
"@type": "Offer",
"url": "https://example.ru/catalog/item/",
"priceCurrency": "RUB",
"price": "25900",
"availability": "https://schema.org/InStock"
}
}
</script>Не добавляйте вымышленные отзывы или рейтинг, чтобы убрать предупреждение инструмента проверки. Предупреждение о рекомендуемом поле не всегда означает техническую ошибку, а недостоверные данные создают более серьёзную проблему, чем отсутствие расширения.


Спрос вокруг темы статьи
Так читатели формулируют вопрос в поиске.
Варианты товара и диапазон цен: когда нужен AggregateOffer
Если страница показывает один выбранный вариант с одной ценой и возможностью заказа, обычно используется Offer. Если на странице действительно доступно несколько предложений с диапазоном цен, AggregateOffer может описывать минимальную, максимальную цену и количество предложений.
Похожий вопрос разобран в материале Микроразметка Schema.org: какие типы реально влияют на показ в поиске — он пригодится, если исходные условия отличаются.
Не используйте минимальную цену варианта, которого нельзя выбрать или купить. Если каждый цвет или размер имеет отдельный URL, разметка каждой страницы должна отражать именно открытый вариант. Для группы вариантов поисковые системы поддерживают дополнительные связи, но схема должна соответствовать реальной навигации сайта.
При переключении на клиентском JavaScript убедитесь, что робот получает исходную корректную разметку и что она обновляется вместе с видимым состоянием. Для быстро меняющихся цен серверная генерация обычно надёжнее отдельного скрипта, который запускается после загрузки страницы.


Проверка: синтаксис, поддержка и соответствие странице
Проверку проводят в три этапа. Сначала валидатор читает код и показывает распознанные сущности, ошибки структуры и отсутствующие свойства. Затем специалист вручную сравнивает извлечённые данные с видимой карточкой. После публикации URL проверяют инструментами поисковых систем, чтобы увидеть страницу так, как её получил робот.
Яндекс Вебмастер поддерживает валидатор семантической разметки и отдельно проверяет пригодность данных для своих сервисов. Успешная валидация означает, что разметка распознана, но не обещает конкретный вид сниппета. Яндекс прямо указывает, что может использовать данные полностью, частично или не использовать их.
Полезные первоисточники: требования Яндекса к товарам ↗, валидатор Яндекс Вебмастера ↗ и документация Google по Product ↗.

Мониторинг после внедрения: разметка ломается вместе с шаблоном
После релиза проверьте не одну удобную карточку, а выборку: товар в наличии, отсутствующий, со скидкой, с вариантами, без отзывов и с несколькими изображениями. Ошибка часто проявляется только в одной ветке шаблона.
Добавьте автоматическую сверку ключевых полей. Скрипт может сравнивать видимую цену, данные JSON-LD и фид; фиксировать пустой Product, неверную валюту, недоступное изображение или неизвестное значение availability. После обновления CMS запускайте проверку повторно.
- На странице есть одна понятная сущность Product.
- Вложен реальный Offer или AggregateOffer по смыслу страницы.
- Название, цена, валюта, наличие и URL совпадают с видимыми данными.
- Изображения открываются и относятся к товару.
- Нет вымышленных рейтингов, отзывов и скидок.
- Варианты размечены в соответствии с фактическими URL.
- Разметка проходит валидатор без критических ошибок.
- После публикации проверена выборка разных состояний товара.


Вопросы и ответы
Чем Product отличается от Offer?
Product описывает товар как сущность, а Offer — конкретное предложение продавца: цену, валюту, наличие и URL. Обычно Offer вкладывается в Product через свойство offers.
Когда использовать AggregateOffer?
Когда на странице действительно представлено несколько предложений или диапазон цен. Для одного выбранного товара с одной ценой обычно подходит Offer.
Можно ли добавить рейтинг только в JSON-LD, если на странице его нет?
Нет. Структурированные данные должны соответствовать видимому содержанию. Не добавляйте вымышленные рейтинги и отзывы ради расширенного результата.
Означает ли валидная разметка, что расширенный сниппет обязательно появится?
Нет. Валидатор подтверждает распознавание структуры, а решение об использовании данных и виде результата принимает поисковая система.
- Структура каталога, собранная из спроса, а не из выгрузки
- Ускорение загрузки первого экрана
- Интеграция форм с CRM без потери источника
- Редизайн без переноса структуры и адресов
- Тяжёлые изображения и скрипты «на всякий случай»
- Формы без передачи источника заявки
Что делать дальше
₽Посчитать экономикуСходится ли реклама при вашем чеке
?Задать вопросОтветим по вашей ситуации
Опишите задачу в двух словах — специалист ответит в Telegram, обычно в течение рабочего дня. Без презентаций и обязательств.
Написать в Telegram ↗✓Заявка на продвижениеОценить мой сайт
Бесплатно оценим текущее состояние и риски — до того, как вы начнёте что-то менять.
Поставьте оценку — она поможет редакции улучшать следующие разборы.
Обсуждение 1
Спросите, что осталось непонятным — автор материала отвечает в комментариях.


