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

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



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


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

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

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

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

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

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. Важно для пользователей Hotlist.biz

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

15.Open Graph и Twitter Cards для товаров

Для корректного отображения товаров в социальных сетях Facebook, Messenger, Viber, WhatsApp и X (Twitter) рекомендуется использовать метатеги Open Graph и Twitter Cards. Ниже представлены готовые примеры.

Пример Open Graph для товара

Code: HTML

<meta property="og:type" content="product"> тип данных — товар
<meta property="og:title" content="Название товара"> название товара
<meta property="og:description" content="Краткое описание товара"> короткое описание
<meta property="og:url" content="https://site.com/product-url"> URL страницы товара
<meta property="og:image" content="https://site.com/upload/product.jpg"> изображение товара

<meta property="product:price:amount" content="2499"> цена
<meta property="product:price:currency" content="UAH"> валюта
<meta property="product:availability" content="in stock"> наличие

Пример Twitter Cards для товара

Code: HTML

<meta name="twitter:card" content="summary_large_image"> большая карточка товара
<meta name="twitter:title" content="Название товара"> заголовок
<meta name="twitter:description" content="Краткое описание товара"> описание
<meta name="twitter:image" content="https://site.com/upload/product.jpg"> изображение
<meta name="twitter:url" content="https://site.com/product-url"> URL товара

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

Первые шаги после создания интернет магазина.
Почему аренда интернет магазина выгода?
Рекомендации по СЕО продвижению сайтов.