О чём этот гайд
- Что такое 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 (минимум)
<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.
<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. Вариативные товары (размер/цвет) — подходы
Есть два распространённых подхода:
- Один главный
Product+ списокoffers(или отдельныеOfferдля каждого варианта). - Несколько Product (по одному на уникальную страницу варианта) — применять, если у варианта своя страница/URL.
Пример: Product с двумя Offer (два цвета, одна страница):
<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 (хлебные крошки) — полезно для навигации
Хлебные крошки помогают поисковикам показать структуру сайта в сниппете.
<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%.
<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 для товара
<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 для товара
<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 товара