Статті ·

Мікророзмітка товару: як зробити правильно для українського магазину

Розбір розмітки Product для українських магазинів: які поля обов'язкові, чому Google перестає показувати ціну без priceValidUntil і що ламає розширений сніпет.

Розширений сніпет — ціна, наявність і зірки прямо у видачі — дає помітно вищий CTR за звичайне посилання. Робиться він розміткою Schema.org, і саме тут українські магазини втрачають більше за все: розмітка є, а сніпета немає.

Що обов’язково для Product?

Чотири поля, без яких розширений сніпет не з’явиться:

  • name — назва товару;
  • image — хоча б одне зображення;
  • offers.price і offers.priceCurrency — ціна й валюта;
  • offers.availability — наявність за схемою.

Повний перелік підтримуваних полів є в документації Google і в специфікації schema.org.

Чому Google перестає показувати ціну?

Найчастіша причина — відсутній priceValidUntil. Це поле каже, до якої дати ціна актуальна. Без нього Google з часом перестає довіряти цифрі й прибирає її зі сніпета.

Яку валюту вказувати?

Для українських магазинів — UAH. Помилка з USD при гривневих цінах трапляється в магазинів, які колись працювали в доларах, і вона відлякує покупця прямо у видачі: людина бачить «1250 $» замість «1250 ₴».

Валюта пишеться за стандартом ISO 4217 — трьома великими літерами.

Як записати наявність?

Тільки повним URL зі схеми, а не словом:

"availability": "https://schema.org/InStock"     // в наявності
"availability": "https://schema.org/OutOfStock"  // немає
"availability": "https://schema.org/PreOrder"    // під замовлення

Значення "available", "є в наявності" або "true" не розпізнаються — поле просто ігнорується.

Мінімальний робочий приклад

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Дриль Bosch GSB 13 RE",
  "image": "https://site.ua/i/101.jpg",
  "sku": "GSB13RE",
  "brand": { "@type": "Brand", "name": "Bosch" },
  "offers": {
    "@type": "Offer",
    "price": "1250",
    "priceCurrency": "UAH",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2027-08-03",
    "url": "https://site.ua/p/101"
  }
}
</script>

Що найчастіше ламає сніпет?

  1. Ціна з пробілом або валютою всередині. "price": "1 250 грн" — некоректно. Має бути чисте число: "1250".
  2. Розмітка не збігається з видимим на сторінці. Якщо в розмітці 1250, а на сторінці 1490 — Google трактує це як спробу обману й може накласти санкції на розмітку.
  3. aggregateRating без відгуків. Рейтинг 5.0 при нулі відгуків — пряме порушення правил, і це найшвидший спосіб втратити зірки назавжди.
  4. Розмітка на сторінці категорії. Product описує один товар. Для списку потрібен ItemList.

Чи потрібен FAQ на сторінці товару?

Зараз майже ні. Google різко скоротив показ FAQ-блоків у видачі, лишивши їх переважно для державних і медичних сайтів. Ставити FAQPage на кожну картку заради сніпета більше не працює — але сама розмітка не шкодить і допомагає мовним моделям розібрати сторінку.

Як перевірити?

  1. Зберіть розмітку конструктором — він підставляє гривню й priceValidUntil автоматично та перевіряє типові помилки.
  2. Прогоніть готову сторінку через Rich Results Test — він покаже, як Google бачить розмітку.
  3. Через тиждень подивіться у Search Console розділ «Товари»: там видно помилки на всіх сторінках одразу, а не на одній.

І перевірте саму картку: розмітка описує те, що на сторінці, і не замінює нормального опису й фотографій.