Настройка микроразметки товаров (Product Schema) для интернет-магазина
Product Schema — разметка товарных страниц, которая позволяет Google показывать звёзды рейтинга, цену и наличие прямо в результатах поиска. Повышает CTR на 15–30%.
Базовая разметка товара
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Ноутбук ASUS ROG Strix G16",
"sku": "ROG-G16-2024-RTX4070",
"gtin13": "4711081694342",
"description": "Игровой ноутбук с RTX 4070, процессором Intel Core i7-13650HX и 16 дюймовым дисплеем 240Hz.",
"brand": {
"@type": "Brand",
"name": "ASUS"
},
"image": [
"https://example.ru/images/rog-strix-1.jpg",
"https://example.ru/images/rog-strix-2.jpg"
],
"offers": {
"@type": "Offer",
"url": "https://example.ru/notebooks/asus-rog-strix-g16",
"priceCurrency": "RUB",
"price": "149990",
"priceValidUntil": "2024-12-31",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "ТехноМагазин"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"bestRating": "5",
"worstRating": "1",
"reviewCount": "47"
},
"review": [
{
"@type": "Review",
"reviewRating": { "@type": "Rating", "ratingValue": "5" },
"author": { "@type": "Person", "name": "Алексей К." },
"datePublished": "2024-03-10",
"reviewBody": "Отличный ноутбук для игр, тихий и холодный при умеренной нагрузке."
}
]
}
Товар с вариациями (ProductGroup)
{
"@context": "https://schema.org",
"@type": "ProductGroup",
"name": "Кроссовки Nike Air Max 90",
"hasVariant": [
{
"@type": "Product",
"name": "Nike Air Max 90 White — размер 42",
"offers": { "@type": "Offer", "price": "8990", "availability": "InStock" },
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Цвет", "value": "Белый" },
{ "@type": "PropertyValue", "name": "Размер", "value": "42" }
]
}
]
}
Динамическая генерация в Laravel
class ProductSchemaGenerator
{
public function generate(Product $product): array
{
return [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => $product->name,
'sku' => $product->sku,
'description' => $product->meta_description ?? strip_tags($product->description),
'image' => $product->images->pluck('url')->toArray(),
'brand' => ['@type' => 'Brand', 'name' => $product->brand->name],
'offers' => [
'@type' => 'Offer',
'price' => number_format($product->price / 100, 2, '.', ''),
'priceCurrency' => 'RUB',
'availability' => $product->in_stock
? 'https://schema.org/InStock'
: 'https://schema.org/OutOfStock',
'priceValidUntil' => now()->addMonth()->format('Y-m-d'),
'seller' => ['@type' => 'Organization', 'name' => config('app.name')]
],
'aggregateRating' => $product->reviews_count > 0 ? [
'@type' => 'AggregateRating',
'ratingValue' => number_format($product->average_rating, 1),
'reviewCount' => $product->reviews_count
] : null
];
}
}
Частые ошибки
- Пустые поля: Google не принимает схему с
"price": ""или"availability": "" - Несоответствие данных на странице: цена в схеме должна совпадать с видимой ценой
-
reviewCount: 0при отсутствии отзывов — убратьaggregateRatingполностью - Неправильный формат цены: только число без символа валюты (
"8990", не"8990 ₽")
Срок настройки: 1 рабочий день для динамической генерации на всех страницах товаров.







