Schema.org разметка

Настроить Product / Offer Schema

Бонус

Зачем настраивать Product / Offer Schema

Product Schema — это структурированная разметка Schema.org для товаров и услуг, которая передаёт поисковой системе информацию о цене, наличии, рейтинге, бренде и характеристиках продукта. Главный эффект — расширенные сниппеты (Rich Snippets) в поисковой выдаче: звёздочки рейтинга, цена, статус «В наличии» прямо под заголовком страницы.

Расширенный сниппет занимает больше места в выдаче и привлекает больше внимания. По данным различных исследований, Rich Snippets увеличивают CTR на 20-40% по сравнению с обычными результатами. Для интернет-магазина это означает ощутимый рост трафика без изменения позиций — просто за счёт того, что сниппет стал заметнее и информативнее.

Яндекс активно использует Product Schema для формирования товарных сниппетов и карточек в Яндекс Маркете. Google отображает цены и рейтинги в обычной выдаче, а также использует данные для Google Shopping (хотя этот сервис ограничен в России с 2022 года). Даже без Google Shopping, товарная разметка важна — она влияет на отображение сниппетов в обычном поиске.

Для каких страниц нужна Product Schema

Product Schema добавляется на страницы конкретных товаров — не на каталоги и не на категории. Каждая карточка товара получает свою разметку с индивидуальными данными: своя цена, свой рейтинг, свой статус наличия.

  • Интернет-магазины — обязательно для каждой карточки товара.
  • Сервисные компании — для страниц конкретных услуг с фиксированной ценой (не «от 10 000 рублей», а конкретная услуга с ценой).
  • Агрегаторы — для каждого листинга с ценой и характеристиками.
  • SaaS-продукты — для страниц тарифов и планов.

Пошаговая инструкция

Шаг 1. Подготовьте данные для разметки

Для каждого товара соберите:

  • Название товара (name) — точное, как на странице.
  • Описание (description) — 50-200 символов, содержательное.
  • Изображение (image) — URL основного фото товара.
  • Бренд (brand) — производитель.
  • SKU или артикул (sku) — уникальный идентификатор.
  • GTIN/EAN (gtin13) — штрихкод, если есть. Для Google это сильный сигнал доверия к товару.
  • Цена (price) — конкретная цена в числовом формате.
  • Валюта (priceCurrency) — RUB для российского рынка.
  • Наличие (availability) — InStock, OutOfStock, PreOrder.
  • Рейтинг (aggregateRating) — средняя оценка и количество отзывов, если есть.

Шаг 2. Создайте JSON-LD разметку для товара

JSON-LD — рекомендуемый формат. Размещается в <head> или в <body> страницы. Пример для товара интернет-магазина:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Аккумуляторная дрель-шуруповёрт Bosch GSR 18V-50",
  "description": "Профессиональный шуруповёрт с бесщёточным двигателем. Крутящий момент 50 Нм, 2 аккумулятора 2.0 Ач, кейс.",
  "image": "https://example.ru/images/bosch-gsr-18v-50.jpg",
  "brand": {
    "@type": "Brand",
    "name": "Bosch"
  },
  "sku": "06019H5000",
  "gtin13": "3165140953160",
  "offers": {
    "@type": "Offer",
    "url": "https://example.ru/bosch-gsr-18v-50/",
    "priceCurrency": "RUB",
    "price": "12990",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "Название магазина"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "23"
  }
}
</script>

Шаг 3. Настройте Offer — блок с ценой и наличием

Offer — ключевой компонент Product Schema, отвечающий за отображение цены в сниппете. Важные нюансы:

Цена. Указывайте в числовом формате без пробелов и символа валюты: "price": "12990", а не "price": "12 990 ₽". Валюта указывается отдельным полем priceCurrency.

Срок действия цены. Поле priceValidUntil — дата, до которой цена актуальна. Google рекомендует указывать, чтобы подтвердить актуальность данных. Ставьте реалистичную дату — например, конец текущего года или дату ближайшего пересмотра цен.

Наличие. Возможные значения:

  • https://schema.org/InStock — товар в наличии.
  • https://schema.org/OutOfStock — нет в наличии.
  • https://schema.org/PreOrder — предзаказ.
  • https://schema.org/BackOrder — под заказ (доставка в течение определённого времени).
  • https://schema.org/Discontinued — снят с производства.

Несколько предложений. Если один товар продаётся в нескольких вариантах (размер, цвет) с разными ценами, используйте массив offers:

"offers": [
  {
    "@type": "Offer",
    "name": "Размер S",
    "price": "2990",
    "priceCurrency": "RUB",
    "availability": "https://schema.org/InStock"
  },
  {
    "@type": "Offer",
    "name": "Размер M",
    "price": "2990",
    "priceCurrency": "RUB",
    "availability": "https://schema.org/OutOfStock"
  }
]

Или используйте AggregateOffer, если нужно показать диапазон цен:

"offers": {
  "@type": "AggregateOffer",
  "lowPrice": "2990",
  "highPrice": "4990",
  "priceCurrency": "RUB",
  "offerCount": "5"
}

Шаг 4. Добавьте рейтинг и отзывы

AggregateRating и Review — необязательные, но крайне ценные блоки. Звёздочки в сниппете — мощный визуальный якорь, увеличивающий CTR.

Правила:

  • Рейтинг должен быть основан на реальных отзывах с вашего сайта. Нельзя указывать рейтинг, которого нет на странице.
  • Минимум для отображения звёздочек — обычно от 3-5 отзывов. С одним отзывом Google может не показать сниппет.
  • Данные в Schema должны совпадать с тем, что видит пользователь на странице. Если в разметке рейтинг 4.8, а на странице нет отзывов — это нарушение.

Пример блока с отзывами:

"review": [
  {
    "@type": "Review",
    "author": {
      "@type": "Person",
      "name": "Иван Петров"
    },
    "datePublished": "2026-02-10",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "5",
      "bestRating": "5"
    },
    "reviewBody": "Отличный шуруповёрт, использую на стройке каждый день. Батарея держит весь рабочий день."
  }
],
"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.7",
  "reviewCount": "23",
  "bestRating": "5",
  "worstRating": "1"
}

Шаг 5. Реализуйте автоматическую генерацию для CMS

Для интернет-магазина с сотнями товаров ручное добавление разметки невозможно. Нужна автоматическая генерация на основе данных из CMS.

WooCommerce (WordPress). Плагины Yoast SEO и Rank Math автоматически генерируют Product Schema из данных WooCommerce: цена, наличие, изображение, категория. Проверьте, что плагин корректно подтягивает все поля. Часто по умолчанию не заполняются brand, gtin, sku — их нужно добавить через дополнительные поля или кастомный код.

1С-Битрикс. Модуль SEO включает базовую товарную разметку. Для расширенной — потребуется доработка шаблона компонента каталога.

Кастомная CMS. Добавьте генерацию JSON-LD в шаблон карточки товара. Подтягивайте данные из базы: название, цену, наличие, рейтинг. Шаблон JSON-LD заполняется динамически для каждого товара.

Шаг 6. Валидируйте разметку

После реализации проверьте разметку на нескольких страницах разного типа (товар в наличии, товар без отзывов, товар не в наличии):

  • Google Rich Results Test (search.google.com/test/rich-results) — покажет, как Google интерпретирует разметку и будет ли отображать Rich Snippet.
  • Schema Markup Validator (validator.schema.org) — строгая проверка по спецификации.
  • Яндекс Вебмастер → Инструменты → Валидатор микроразметки.

Исправьте все ошибки (errors). Предупреждения (warnings) — по возможности тоже: чем больше рекомендуемых полей заполнено, тем выше вероятность получить расширенный сниппет.

Шаг 7. Поддерживайте актуальность данных

Товарная разметка требует постоянной актуализации. Цена изменилась, но в Schema осталась старая — это нарушение. Товар закончился, а в разметке InStock — нарушение. Google и Яндекс проверяют соответствие данных в Schema и на странице.

Для автоматически генерируемой разметки (из CMS) — убедитесь, что данные обновляются при каждом изменении товара. Для ручной разметки — создайте процесс регулярной проверки: раз в месяц пройдите по товарам и убедитесь, что цены и наличие соответствуют реальности.

Типичные ошибки

  • Product Schema на страницах категорий. Разметка Product предназначена для конкретного товара, а не для списка товаров. На странице категории используйте ItemList или CollectionPage, но не Product.
  • Несовпадение цены в Schema и на странице. В разметке указана цена 5990, а на странице — 6990 (цену обновили, разметку забыли). Поисковая система обнаружит расхождение и может перестать показывать сниппет или наложить санкции за структурированный спам.
  • Самопоставленный рейтинг. На сайте нет системы отзывов, но в разметке указан AggregateRating 4.9 на основе «0 отзывов». Это манипуляция, Google за это наказывает. Рейтинг — только на основе реальных отзывов на странице.
  • Цена в неправильном формате. "price": "от 10 000" — не число. "price": "10 000" — пробел внутри числа. Правильно: "price": "10000". Если цена диапазонная — используйте AggregateOffer с lowPrice и highPrice.
  • Отсутствие обязательных полей. Product без name или image. Offer без price или availability. Разметка технически валидна, но не получит Rich Snippet, потому что не хватает данных для отображения.
  • Дублирование разметки от плагина и вручную. SEO-плагин генерирует Product Schema, и разработчик добавил свою. Два блока Product на одной странице — конфликт. Проверьте исходный код страницы и оставьте один источник разметки.
  • Разметка для нетоварных страниц. Product Schema на странице «О компании» или на главной — нарушение. Разметка должна соответствовать типу контента на странице.

Что проверить в итоге

  • Product Schema добавлена на все страницы карточек товаров в формате JSON-LD.
  • Заполнены обязательные поля: name, image, offers (с price, priceCurrency, availability).
  • Заполнены рекомендуемые поля: description, brand, sku, gtin13, review, aggregateRating.
  • Цена указана в числовом формате без пробелов и символа валюты.
  • Статус наличия (availability) соответствует реальному наличию товара.
  • Указан priceValidUntil с реалистичной датой.
  • Рейтинг основан на реальных отзывах, видимых на странице.
  • Данные в Schema совпадают с данными на странице (цена, название, рейтинг).
  • Для магазина на CMS — разметка генерируется автоматически из данных товара.
  • Разметка прошла валидацию в Google Rich Results Test, Schema Markup Validator и Яндекс Вебмастере.
  • Нет дублирования разметки от плагина и ручного кода.
  • Выстроен процесс актуализации — при изменении цены или наличия Schema обновляется автоматически.

Нужна помощь с внедрением?

Проведу аудит вашего сайта и внедрю рекомендации. Результат — чистая техническая база и план роста.

Обсудить проект

Кто ведёт проект

Александр Тригуб — частный SEO-специалист. В поисковом маркетинге с 2010 года, предприниматель с 2001-го. В SEO пришёл из собственного бизнеса — знаю, как устроены продажи не из учебников, а из собственной выручки и расходов.

  • Специализация: медицина, B2B, e-commerce и локальные услуги — ниши, где каждый лид стоит дорого.
  • Подтверждённый опыт: 500+ видео-аудитов в разных тематиках, 1092 заказа (рейтинг 4.9 / 5). Отзывы · Видео-аудиты.
  • Профили с отзывами: 728 отзывов на Kwork (4.9★) · Profi.ru (5.0★) · ORCID 0009-0009-0106-6136.
  • Формат: работаю напрямую, один специалист на проект — без менеджеров и субподрядных цепочек.
  • Отчётность: KPI по лидам и деньгам. Ежемесячный план/факт, а не PDF на 50 страниц.
15+лет в маркетинге
500+видео-аудитов
1092заказов
4.9★728 отзывов