Schema-разметка товаров: как получить рейтинг и цену в сниппете
Разбираем, как настроить Product, Offer и AggregateRating для карточек товаров, проверить ошибки в Google и не потерять расширенный сниппет из-за неверной цены или недостоверных отзывов.

Чтобы передать Google цену и рейтинг товара, добавьте на карточку структурированные данные Product с Offer, а AggregateRating используйте только при наличии реальных отзывов. Цена, наличие и оценка в коде должны совпадать с видимой информацией. Такая разметка не гарантирует показ расширенного сниппета, но даёт поисковику необходимые сведения для его формирования.
Что даёт schema-разметка товаров в поиске
Schema-разметка помогает поисковику распознать товарную страницу и отделить название, цену, валюту, наличие и отзывы от остального текста. Google может использовать эти сведения в расширенном сниппете, но сам выбирает, показывать ли их. Поэтому задача владельца магазина - передать точные данные и поддерживать их актуальность.
Обычный результат поиска содержит заголовок, адрес и фрагмент описания. При корректной разметке в нём могут появиться:
- цена и валюта, например 24 990 ₸;
- статус наличия - «В наличии», «Нет в наличии» или предварительный заказ;
- средняя оценка и количество отзывов;
- изображение, бренд, артикул и другие сведения, если поисковик сочтёт их полезными;
- хлебные крошки, показывающие путь от категории к карточке.
Для магазина в Казахстане в свойстве priceCurrency указывают KZT. Символ «₸» должен быть понятен посетителю на странице, а трёхбуквенный код нужен в структурированных данных. Если цены зависят от региона, комплектации или курса, это должно быть отражено и в интерфейсе, и в логике формирования JSON-LD.
Разметка не заменяет техническую оптимизацию, понятные описания и работу с ассортиментом. Её польза в другой задаче: поисковику проще интерпретировать карточку, а посетитель может увидеть ключевые условия покупки ещё до перехода на сайт. При этом расширенный результат остаётся решением Google, а не настройкой, которую можно включить принудительно.
Какие типы schema нужны для карточки товара
Для обычной карточки достаточно Product с вложенным Offer. AggregateRating добавляют, когда у товара есть реальные оценки и видимый блок рейтинга. Review описывает отдельный отзыв, а BreadcrumbList - навигационный путь. Эти типы дополняют друг друга, но не заменяют Product и Offer.
| Тип | Что описывает | Когда применять |
|---|---|---|
| Product | Название, фото, описание, бренд, SKU и идентификаторы | На странице конкретного товара |
| Offer | Цена, валюта, наличие, URL и срок действия цены | Внутри Product для продаваемого товара |
| AggregateRating | Среднюю оценку и число оценок | При наличии реального рейтинга |
| Review | Отдельный отзыв покупателя | Если отзыв опубликован и виден пользователю |
В Product указывают name, image и description. Для каталога полезны brand, sku, mpn или gtin, если эти сведения действительно есть в базе. Нельзя придумывать штрихкод, копировать один артикул на все позиции или подставлять название бренда, которого нет на странице.
Offer отвечает за коммерческие условия. В нём обычно передают price, priceCurrency, availability и url. Свойство priceValidUntil применяют для акции с определённой датой окончания. После завершения скидки старое значение и дата должны автоматически исчезать или заменяться актуальными данными.
AggregateRating не стоит использовать как декоративную строку. Если на карточке нет оценок, не передавайте ratingValue 5 и reviewCount 1 ради звёзд. Когда код обещает рейтинг, а посетитель не находит отзывов, данные выглядят недостоверными и могут вызвать проблемы при проверке расширенных результатов.
Как добавить schema-разметку товаров на сайт
Для динамического каталога удобнее всего использовать JSON-LD - отдельный блок данных в head или body страницы. Его формируют из базы товаров, а не заполняют вручную в каждой карточке. Microdata и RDFa тоже подходят, но при частых изменениях шаблона их обычно сложнее поддерживать и проверять.
У карточки с одним товаром JSON-LD должен собираться из тех же полей, которые видит посетитель. Название берётся из заголовка, изображение - из основной фотографии, цена - из текущего предложения, наличие - из актуального складского статуса или понятного условия заказа.
Для большого каталога заранее определите правила генерации:
- один товар с одной ценой описывается одним Offer;
- несколько размеров или цветов требуют понятной логики для предложений и URL;
- скидочная цена передаётся только тогда, когда именно её видит посетитель;
- при отсутствии рейтинга AggregateRating не создаётся;
- скрытые и снятые с продажи позиции не должны оставаться в активной товарной разметке;
- изменение URL, фото, бренда и артикула должно обновлять JSON-LD вместе с карточкой.
На CMS часть данных может создавать плагин, но автоматическая генерация не отменяет проверку. Тестируйте обычную карточку, акционный товар, позицию без остатка, вариант с несколькими характеристиками и страницу без отзывов. Ошибка часто появляется не в базовом сценарии, а в одном из этих состояний.
В кастомном магазине разметку лучше связать с единой моделью товара. При разработке на Next.js и React SEO-поля можно заложить в структуру данных с самого начала: тогда цена, наличие и метаданные обновляются из одного источника, а не копируются отдельно в интерфейс и JSON-LD.
Как показать цену в сниппете в тенге
Чтобы передать цену в тенге, в Offer указывают числовое значение price и код валюты KZT, а на странице показывают ту же сумму в понятном формате. Если стоимость зависит от варианта, начинается с «от» или меняется после выбора комплектации, разметка должна описывать конкретное доступное предложение, а не условную минимальную цифру.
Сравнивайте цену в трёх местах: на экране карточки, в данных CMS и в JSON-LD. Расхождение возникает из-за кэша, старой скидки, региональных настроек, пересчёта после выбора варианта или отдельной логики для мобильной версии. Пока эти источники не синхронизированы, расширенный сниппет может отображать устаревшую сумму или не появиться.
Для казахстанского магазина проверьте следующие сценарии:
- в price передаётся число без пробелов и символа валюты;
- в priceCurrency указано KZT, а не только символ «₸»;
- скидочная цена совпадает с суммой, которую видит посетитель;
- региональная цена не меняется незаметно после открытия страницы;
- доставка и дополнительные услуги не включены в стоимость товара без пояснения;
- товар «под заказ» не помечен как InStock, если он не доступен для немедленной покупки.
Если стоимость меняется несколько раз в день, нужна автоматическая генерация и контроль кэша. Google может обновить данные не сразу после изменения страницы. Подменять цену в разметке ради временного результата нельзя: при следующем обходе поисковик снова увидит содержимое карточки и её структурированные данные.
Для акции с определённым сроком укажите дату окончания и настройте её автоматическое удаление. Если скидка завершилась, а в JSON-LD осталась старая дата, посетитель может увидеть в поиске предложение, которого уже нет на сайте.
Как получить рейтинг и звёзды в сниппете
Рейтинг можно передавать в AggregateRating, если у товара есть реальные оценки, понятная шкала и видимый итоговый показатель. Значения ratingValue и reviewCount должны рассчитываться из опубликованных отзывов. Даже при валидной разметке Google не обязан показывать звёзды в каждом результате.
Например, если товар оценили 18 покупателей, а средняя оценка составляет 4,6 из 5, эти данные должны быть доступны посетителю на странице. Отзывы, спрятанные только в личном кабинете или загружаемые исключительно после действия, не дают надёжной основы для публичного рейтинга.
Не объединяйте оценки товара, продавца, категории и всей коллекции. Для карточки нужен рейтинг именно этой позиции. Если отзывы относятся к конкретному размеру, модели или модификации, заранее определите, распространяются ли они на общий товар или должны быть привязаны к отдельному предложению.
Система отзывов должна обеспечивать:
- сохранение оценки, текста, автора и даты публикации;
- понятную модерацию без изменения оценки после размещения;
- отображение итогового рейтинга на странице;
- пересчёт среднего значения после добавления или удаления отзыва;
- исключение скрытых и удалённых отзывов из reviewCount;
- отсутствие AggregateRating у карточек без опубликованных оценок.
Звёзды не появляются по одной только команде владельца сайта. Структурированные данные дают странице возможность участвовать в расширенном результате, но итог зависит от решения поисковика. После внедрения нужно отслеживать не только валидность кода, но и соответствие рейтинга реальному содержимому карточки.
Как проверить schema-разметку товаров
Проверяйте разметку после внедрения и после изменений шаблона. Rich Results Test показывает, может ли страница участвовать в расширенных результатах Google, а Schema Markup Validator проверяет структуру schema.org. Search Console помогает увидеть повторяющиеся проблемы уже на уровне группы товарных URL.
Порядок проверки одной карточки такой:
- откройте URL в Rich Results Test;
- проверьте, что найден Product и вложенный Offer;
- сравните цену, KZT, URL и наличие с видимой частью страницы;
- при наличии рейтинга сопоставьте ratingValue и reviewCount с блоком отзывов;
- запустите Schema Markup Validator для дополнительной проверки структуры;
- после публикации важного изменения запросите переобход страницы через Search Console.
Сначала исправляйте ошибки, затем переносите шаблон на весь каталог. Предупреждение не всегда блокирует расширенный результат, но показывает неполные данные. Неверная структура Offer, обязательное поле с ошибкой или расхождение цены требуют отдельной проверки, даже если тест не отмечает весь Product как недействительный.
Одной карточки для контроля недостаточно. В выборку включите товары со скидкой, нулевым остатком, вариантами, без фото и без отзывов. Для крупного каталога удобно вести внутреннюю таблицу: URL, дата проверки, цена, наличие, рейтинг и текущий статус ошибки.
Какие ошибки мешают расширенному сниппету
Чаще всего проблема связана с расхождением между кодом и страницей. Риск повышают недостоверные отзывы, устаревшая цена, Product на категории и сведения, скрытые от посетителя. При обнаружении таких несоответствий поисковик может не использовать разметку, поэтому сначала исправляют источник данных, а не только формат JSON-LD.
| Ошибка | Что происходит | Как исправить |
|---|---|---|
| Цена отличается от страницы | Сниппет может быть недостоверным | Связать JSON-LD с актуальной ценой |
| Рейтинг без отзывов | Данные выглядят искусственными | Удалить AggregateRating или передать оценки |
| Product на категории | Непонятно, какой товар описан | Оставить Product на карточке |
| Скрытые сведения | Код не соответствует странице | Синхронизировать видимый контент и разметку |
| Старая цена акции | В поиске остаётся прежнее предложение | Обновлять цену и срок автоматически |
Отдельно проверьте варианты товара. Если один URL меняет цену, фото и наличие после выбора цвета или размера, нужно решить, что описывает страница: общий товар, выбранное предложение или отдельный URL модификации. Разметка не должна смешивать характеристики нескольких вариантов в одну непонятную комбинацию.
Не принимайте обещание «гарантированных звёзд за несколько дней» как результат работы. Корректным результатом может быть валидная и синхронизированная разметка, но окончательный показ в Google не контролируется владельцем сайта. Перед внедрением запросите описание источников цены, остатка и рейтинга, а также план проверки разных карточек.
Сколько стоит внедрение и когда оно окупается
Стоимость зависит от платформы, количества шаблонов, вариантов товара и качества исходных данных. Для работающего магазина сначала разумно проверить существующую разметку, а для нового проекта заложить её в каталог и админку. Цена разработки фиксируется после брифа, когда понятны состав работ и состояние сайта.
| Услуга | Цена | Срок или формат |
|---|---|---|
| Поддержка и доработка | От 50 000 ₸ | Ежемесячная услуга |
| SEO-продвижение | От 250 000 ₸ | Ежемесячная услуга |
| Интернет-магазин | От 500 000 ₸ | От 30 дней |
| Корпоративный сайт | От 500 000 ₸ | От 21 дня |
| Редизайн сайта | От 350 000 ₸ | От 14 дней |
Если магазин уже работает, аудит может показать, достаточно ли изменить шаблон CMS или требуется доработка модели данных. Не стоит направлять трафик на карточки с неправильными ценами и остатками: сначала устраняют рассинхрон, затем оценивают результат органического продвижения.
Для нового интернет-магазина разметку закладывают вместе с каталогом, фильтрами, отзывами и админкой. Разработка интернет-магазина начинается от 500 000 ₸, срок - от 30 дней. Домен .kz, хостинг и SSL на первый год входят в стоимость разработки; для хостинга обычно рекомендуем hoster.kz.
Отдельной оплаты Google за цену или звёзды нет. Оплачиваются разработка, доработка и SEO-работы. Рекламный бюджет относится к контекстной или таргетированной рекламе и не входит в стоимость настройки структурированных данных.
Частые вопросы
Schema-разметка помогает поисковику понять содержание товарной страницы, но не превращает любой результат в расширенный автоматически. Ниже собраны практические ответы о цене, рейтинге, формате данных и проверке карточек, которые пригодятся перед внедрением в действующем или новом интернет-магазине.
- Можно ли добавить рейтинг без отзывов? Нет. AggregateRating передают только при наличии опубликованных реальных оценок, которые видны пользователю на странице.
- Обязательно ли использовать JSON-LD? Нет, допустимы Microdata и RDFa. Для динамического каталога JSON-LD обычно проще генерировать из базы и поддерживать при изменениях.
- Покажет ли Google цену в тенге сразу после внедрения? Не обязательно. Сначала поисковик должен обработать страницу, а затем сам решит, использовать ли данные в расширенном результате.
- Нужна ли Product-разметка на категории? Обычно Product размещают на странице конкретного товара. На категории не следует описывать случайный товар как основной объект страницы.
- Что делать, если в сниппете осталась старая цена? Проверьте CMS, кэш, JSON-LD и региональные настройки, затем запросите переобход через Search Console. Обновление может произойти не сразу.
- Можно ли настроить всё плагином? Иногда да, но проверьте его на скидке, нулевом остатке, вариантах товара и карточке без отзывов.
С чего начать внедрение schema-разметки
Начните с пяти-семи разных карточек: обычного товара, акции, позиции без остатка, товара с вариантами и страницы с отзывами. Сравните видимую цену, наличие и рейтинг с JSON-LD, затем проверьте URL в Rich Results Test. После исправления ошибок переносите шаблон на остальной каталог.
Если магазин уже работает, мы можем провести аудит, настроить генерацию и связать разметку с данными CMS. Для нового проекта в Pozhidayev закладываем SEO-структуру с первого дня, современную разработку на Next.js и React и удобную админку. На проект действует гарантия 12 месяцев и два бесплатных круга правок.



