E-commerce: Продвижение и запуск интернет магазина
Полезные статьи и инструкции по продвижению, запуску и развитию интернет-магазинов в сфере E-commerce

Структурированные данные Schema.org для товаров — полный гайд с примерами



Структурированные данные Schema.org для товаров: полный гайд


О чём этот гайд

  • Что такое Schema.org и зачем нужна микроразметка
  • Какой формат использовать (JSON-LD)
  • Обязательные и рекомендованные поля для карточки товара
  • Пошаговые примеры: от простого до продвинутого
  • Проверка, инструменты и рекомендации
  • Особенности для платформ интернет-магазинов

1. Что такое Schema.org и зачем это нужно

Schema.org — это словарь (вендор-нейтральная схема) для структурированных данных, поддерживаемая крупными поисковыми системами. Разметка помогает поисковикам правильно понять содержание карточки товара и может привести к расширенным сниппетам (цена, наличие, рейтинг, отзывы, фотографии, а также корректное отображение в соцсетях через Open Graph и Twitter Cards).

Официальные ссылки (рекомендуется):

2. Какой формат разметки использовать

Google рекомендует JSON-LD. Он не вмешивается в DOM, его легко вставлять сервером и динамически генерировать из данных БД.

Форматы, которые существуют: JSON-LD (рекомендуется), Microdata, RDFa — выбирайте JSON-LD для интернет-магазина.

3. Обязательные поля для корректной карточки товара

Минимум, который нужен для корректной обработки Google:

  • name — название товара
  • image — хотя бы одно изображение (URL)
  • description — краткое описание
  • offers.price — цена
  • offers.priceCurrency — валюта (ISO код, например UAH, USD)
  • offers.availability — доступность (https://schema.org/InStock и т.д.)
  • offers.url — URL страницы товара

4. Рекомендуемые дополнительные поля (полный список полезных атрибутов)

  • sku — артикул
  • mpn — manufacturer part number
  • gtin8 / gtin12 / gtin13 / gtin14 — штрихкод
  • brand — бренд
  • category — категория
  • color, material, size, weight — характеристики
  • aggregateRating — сводный рейтинг
  • review — отзывы
  • itemCondition — состояние товара
  • additionalProperty — произвольные свойства (PropertyValue)
  • shippingDetails / OfferShippingDetails — условия доставки
  • seller — организация-продавец

5. Простой рабочий пример JSON-LD (минимум)

Code: JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Wireless Headphones X100" название товара,
  "image": "https://site.com/images/headphones-x100.jpg" URL основного изображения,
  "description": "Беспроводные наушники с шумоподавлением." краткое описание,
  "offers": {
    "@type": "Offer",
    "url": "https://site.com/product/headphones-x100" страница товара,
    "priceCurrency": "UAH" валюта (ISO),
    "price": "2499" цена — число,
    "availability": "https://schema.org/InStock" наличие
  }
}
</script>

Примечание: price — отправляйте как число/строку цифр (без знака валюты). availability используйте полный URL из schema.org (например, https://schema.org/InStock).

6. Подробная разметка товара (полный пример)

Ниже — разметка с множеством полей: GTIN, бренд, SKU, множественные изображения, aggregateRating, review, additionalProperty, shippingDetails.

Code: JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Xiaomi Mi Band 7" название товара,
  "image": [
    "https://site.com/upload/mi-band-7-1.webp",
    "https://site.com/upload/mi-band-7-2.webp"
  ] список изображений,
  "description": "Фитнес-браслет с AMOLED-экраном и пульсометром." описание,
  "sku": "MI-BAND-7-BLACK" внутренний артикул,
  "mpn": "MB7-2025" код производителя,
  "gtin13": "6954176850021" штрихкод,
  "brand": {
    "@type": "Brand",
    "name": "Xiaomi" бренд
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Цвет",
      "value": "Чёрный"
    },
    {
      "@type": "PropertyValue",
      "name": "Материал",
      "value": "Силикон, металл"
    }
  ] произвольные характеристики,
  "offers": {
    "@type": "Offer",
    "url": "https://site.com/product/mi-band-7/" URL товара,
    "priceCurrency": "UAH" валюта,
    "price": "1499" цена,
    "priceValidUntil": "2026-12-31" дата, до которой цена действительна,
    "availability": "https://schema.org/InStock" наличие,
    "itemCondition": "https://schema.org/NewCondition" состояние,
    "seller": {
      "@type": "Organization",
      "name": "Hotlist.biz" продавец
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "50"
      } стоимость доставки (если нужно)
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8" средний рейтинг,
    "reviewCount": "238" число отзывов
  },
  "review": [
    {
      "@type": "Review",
      "author": "Олена",
      "datePublished": "2025-02-10",
      "reviewBody": "Чудовий браслет, працює стабільно!",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      }
    }
  ]
}
</script>

7. Вариативные товары (размер/цвет) — подходы

Есть два распространённых подхода:

  1. Один главный Product + список offers (или отдельные Offer для каждого варианта).
  2. Несколько Product (по одному на уникальную страницу варианта) — применять, если у варианта своя страница/URL.

Пример: Product с двумя Offer (два цвета, одна страница):

Code: JSON-LD
<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@type":"Product",
  "name":"Футболка Classic",
  "image":["https://site.com/img/tshirt-red.jpg"],
  "description":"Классическая футболка",
  "sku":"TSHIRT-001",
  "brand":{"@type":"Brand","name":"BrandCo"},
  "offers":[
    {
      "@type":"Offer",
      "sku":"TSHIRT-001-RED",
      "price":"599",
      "priceCurrency":"UAH",
      "availability":"https://schema.org/InStock",
      "itemCondition":"https://schema.org/NewCondition",
      "color":"Красный" атрибут варианта
    },
    {
      "@type":"Offer",
      "sku":"TSHIRT-001-BLUE",
      "price":"599",
      "priceCurrency":"UAH",
      "availability":"https://schema.org/OutOfStock",
      "itemCondition":"https://schema.org/NewCondition",
      "color":"Синий"
    }
  ]
}
</script>

8. BreadcrumbList (хлебные крошки) — полезно для навигации

Хлебные крошки помогают поисковикам показать структуру сайта в сниппете.

Code: JSON-LD
<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@type":"BreadcrumbList",
  "itemListElement":[
    {
      "@type":"ListItem",
      "position":1,
      "name":"Главная",
      "item":"https://site.com/"
    },
    {
      "@type":"ListItem",
      "position":2,
      "name":"Категория: Браслеты",
      "item":"https://site.com/category/bracelets"
    },
    {
      "@type":"ListItem",
      "position":3,
      "name":"Xiaomi Mi Band 7",
      "item":"https://site.com/product/mi-band-7/"
    }
  ]
}
</script>

9. Как проверять разметку — инструменты

  • Google Rich Results Test — быстро показывает ошибки и предупреждения для rich snippets.
  • validator.schema.org — детальная валидация схемы.
  • Google Search Console — в разделе «Улучшения» → «Товары» можно отслеживать ошибки после публикации.

10. Best practices и рекомендации

  • Генерируйте JSON-LD на сервере из БД — цена, наличие, sku, изображения должны быть синхронизированы с контентом страницы.
  • Не используйте тестовые/фейковые данные в production.
  • Если показываете несколько цен (акции), используйте priceValidUntil и указывайте актуальную цену в offers.price.
  • Указывайте priceCurrency в формате ISO (UAH, USD, EUR).
  • Не создавайте конфликтную разметку (различающиеся цены в видимом контенте и JSON-LD).
  • Для международных магазинов — указывайте локали, адрес продавца и shippingDetails.

11. Частые ошибки и как их исправить

  • Ошибка: price содержит валютный символ — исправление: хранить и выводить только цифры.
  • Ошибка: отсутствие image — исправление: добавить хотя бы 1 корректный URL.
  • Ошибка: несовпадающие URL — исправление: использоват URL именно текущей страницы товара в offers.url.
  • Ошибка: массив review/aggregateRating фальсифицирован — исправление: показывайте только реальные отзывы.

12. SEO-подсказки

  • Добавьте структурированные данные на каждую карточку товара — это повышает шанс получить расширенный сниппет.
  • Добавляйте подробные изображения (ImageObject) с указанием width/height при возможности.
  • Используйте BreadcrumbList и Product вместе — это улучшает навигацию в выдаче.
  • Мониторьте Search Console и исправляйте ошибки разметки.

13. Шаблон для вставки в шаблон товара (динамический)

Ниже — шаблон, где переменные заменяются сервером (PHP/Twig/Smarty). Подставляйте свои переменные вместо %VAR%.

Code: JSON-LD
<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@type":"Product",
  "name":"%PRODUCT_NAME%" подставляется из БД,
  "image":[%IMAGE_LIST%] массив URL изображений,
  "description":"%SHORT_DESCRIPTION%" краткое описание,
  "sku":"%SKU%" артикул,
  "brand":{"@type":"Brand","name":"%BRAND%"},
  "offers":{
    "@type":"Offer",
    "url":"%PRODUCT_URL%" полный URL,
    "priceCurrency":"%CURRENCY%",
    "price":"%PRICE%",
    "priceValidUntil":"%PRICE_VALID_UNTIL%",
    "availability":"%AVAILABILITY%" https://schema.org/InStock и т.д.
  }
}
</script>

14. Рейтинг товаров (aggregateRating)

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

Code: JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Wireless Headphones X100",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7" средняя оценка,
    "reviewCount": "154" количество отзывов
  }
}
</script>

Рекомендация: ratingValue — число с десятичной точкой (например 4.7), reviewCount — целое число.

15. Отзывы покупателей (review)

Отзывы позволяют подробно описывать мнение пользователей о товаре, включая автора, дату публикации и оценку.

Code: JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Wireless Headphones X100",
  "review": [
    {
      "@type": "Review",
      "author": "Олена",
      "datePublished": "2025-05-10",
      "reviewBody": "Очень удобные наушники, отличный звук!",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5" оценка от 1 до 5
      }
    },
    {
      "@type": "Review",
      "author": "Ігор",
      "datePublished": "2025-05-12",
      "reviewBody": "Хорошие, но немного громоздкие.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "4"
      }
    }
  ]
}
</script>

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

16. Полезные инструменты и ссылки

Важно для пользователей Hotlist.biz

По умолчанию платформа Hotlist.biz уже содержит корректную базовую микроразметку (Product, Offer, Price, Availability, BreadcrumbList, ImageObject). Обычно достаточно расширять её дополнительными полями (gtin, mpn, и другими) при необходимости.

Дополнительно: на платформе автоматически включены разметка рейтинга (aggregateRating) и отзывы (review), что позволяет показывать среднюю оценку и реальные отзывы пользователей в расширенных сниппетах.

Как использовать AI ChatGPT для наполнения интернет-магазина
Основные рекомендации по продвижению интернет магазина и увеличению продаж
Выбор платформы для профессионального интернет-магазин с множеством товаров и автоматизацией