Розмітка Product Schema: мінімум для Google Rich Results
Додавання структурованих даних Product відкриває сніпети з ціною, наявністю та рейтингом у пошуку Google. Ось мінімальна schema, яка справді потрібна вашому інтернет-магазину.
Пошукайте будь-яку категорію товарів у Google й уважно подивіться на результати. Деякі лістинги показують ціну, зірковий рейтинг, бейдж «В наявності» — корисну інформацію для покупця ще до того, як він клікне. Інші не показують нічого, крім заголовка сторінки. Різниця не в позиції. Різниця — у Product schema.
Якщо ваш магазин не віддає структуровані дані Product на кожній сторінці товару, ви конкуруєте з рукою, прив'язаною за спиною. Виправлення — не редизайн і не нова SEO-стратегія, а приблизно двадцять рядків JSON-LD у <head> кожної сторінки товару, і це безкоштовно.
Що насправді робить Product schema
Product schema — це шматок структурованих даних — JSON-LD — який повідомляє Google, що сторінка продає, за скільки, в якій валюті та чи є товар у наявності. Google читає це під час звичайного сканування, а потім вирішує, чи збагачувати ваш пошуковий лістинг цією інформацією.
Коли це працює, ваш лістинг у SERP перетворюється зі звичайного синього посилання на щось ближче до картки товару: заголовок, сніпет, ціна, валюта, наявність і (якщо ви додали рейтинги) зіркова оцінка з кількістю відгуків. Це нерухомість, на яку конкуренти без schema просто не можуть претендувати.
Офіційна довідка — на сайті розробників Google: Product (Product, Review, Offer) structured data. Довідка вичерпна. Більшість із цього вам не потрібна.
Мінімально життєздатна Product schema
Google вимагає рівно п'яти полів, щоб сторінка Product мала право на product rich results:
nameimageoffers.priceoffers.priceCurrencyoffers.availability
Усе інше необов'язкове. Ось готовий до копіювання стартовий шаблон:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Hand-Stitched Leather Wallet",
"image": "https://yourstore.example/products/wallet-front.jpg",
"offers": {
"@type": "Offer",
"price": "59.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}
}
</script>
Покладіть це в <head>, замініть значення на дані вашого товару — і ви маєте право. Рендеріть це на сервері, якщо можете — Googlebot обробляє JSON-LD, відрендерений на клієнті, але це повільніше й менш надійно.
Необов'язкові поля, які справді мають вагу
Окрім мінімуму, три доповнення послідовно дають багатше відображення в SERP:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Hand-Stitched Leather Wallet",
"image": "https://yourstore.example/products/wallet-front.jpg",
"brand": {
"@type": "Brand",
"name": "Atelier Praha"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "128"
},
"review": [
{
"@type": "Review",
"author": { "@type": "Person", "name": "M. Novak" },
"reviewRating": { "@type": "Rating", "ratingValue": "5" },
"reviewBody": "Beautiful stitching, arrived in four days."
}
],
"offers": {
"@type": "Offer",
"price": "59.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://yourstore.example/products/leather-wallet"
}
}
</script>
brandуточнює виробника або майстра — корисно, коли ви не єдиний продавець товару третьої сторони.aggregateRating— це те, що відкриває зіркові сніпети. Дані мають надходити від справжніх відгуків, відображених на самій сторінці, згідно з політикою Google.reviewдозволяє Google цитувати окремі відгуки. Достатньо включити 1–3 репрезентативні; не зливайте всю базу відгуків у JSON-LD.
Куди йде JSON-LD
Використовуйте <head> для JSON-LD, щоб він завантажувався рано й не блокувався рендером — і <head>, і <body> розміщення валідні згідно зі специфікацією структурованих даних Google, але <head> послідовно дає найнадійніший парсинг під час сканування.
Для Shopify це зазвичай означає редагування theme.liquid (файлу макета) або шаблону товару, а не опису товару. Для WooCommerce — це зазвичай функція у functions.php, прив'язана до wp_head, або спеціальний SEO-плагін. Для кастомних збірок — Next.js, Nuxt, кастомний Rails — рендеріть на сервері в шаблоні сторінки товару.
Поширені помилки, які зводять вашу schema нанівець
Двигун schema невблаганний щодо деталей. Чотири помилки постійно зустрічаються в аудитах:
Розбіжність ціни з відображеною ціною. Ваш JSON-LD каже "price": "59.00", але сторінка показує €69.00 через регіональне правило ціноутворення або активний розпродаж. Валідатор Google це позначає; якщо проскочить, ваш rich result з часом зникне.
Неправильний код валюти. "priceCurrency": "EU" або "priceCurrency": "EURO" — недійсні. Правильний код ISO 4217 — "EUR". Три літери, усі великі.
Друкарська помилка в availability. Правильно: "https://schema.org/InStock", не "InStock", не "in_stock", не "available". Потрібен повний URL.
aggregateRating без видимих відгуків на сторінці. Google прямо забороняє рейтинги, які не показуються користувачам. Рейтинги, вставлені лише через schema, без відповідного видимого блоку відгуків, спричиняють позначення сторінки як спам у структурованих даних.
Валідація перед публікацією
Три інструменти, у такому порядку:
- Schema.org Validator — ловить синтаксичні помилки в самому JSON-LD.
- Google Rich Results Test — підтверджує, що Google може це розпарсити, і повідомляє, на які типи rich results ви маєте право.
- EshopAuditor — запускає обидві перевірки по всьому вашому sitemap, не лише по одному URL, і позначає сторінки, де schema відсутня, некоректна або несумісна з відображеним вмістом.
Третій важливий, коли у вас каталог із 500 товарів і нещодавнє оновлення теми. Ручне тестування кожного PDP непрактичне. Аудит, який проходить по вашому sitemap, — практичний.
Реальний приклад із нашого демо
Аудит на лендингу EshopAuditor запускається проти каталогу з 14 сторінок товарів, де більшість сторінок взагалі не має Product schema. Це не штучний приклад — це найпоширеніше відкриття, яке ми бачимо в реальних аудитах e-commerce. Магазини запускають сторінки товарів, будують структуру категорій, крутять рекламу й ніколи не перевіряють, чи є в них schema. Ціна невидима, поки ви не сядете з Search Console й не порівняєте з конкурентом, який зробив це правильно.
Якщо ви зробите лише одне технічне SEO-завдання у своєму магазині цього кварталу — запустіть Product schema з п'ятьма обов'язковими полями на кожній сторінці товару. Усе інше нашаровується звідти.
Запустіть безкоштовний аудит вашого магазину на eshopaudit.io — реєстрація не потрібна для першого сканування.