8 серпня 2026 ми відкрили товарні сторінки тридцяти живих магазинів. Канцтовари, оптика, побутова хімія, текстиль, взуття, ювелірні вироби, електроінструмент. Магазини не називаємо, ніші називаємо.
Дивились не очима покупця. Покупець бачить фото, ціну й кнопку. Нас цікавило інше: що з тієї самої сторінки прочитає пошуковий робот і парсер маркетплейсу. Тобто структуровані дані — розмітку товару, розмітку ціни й наявності, розмічені характеристики.
Три цифри з того заміру:
| Що шукали в картці | Знайшли |
|---|---|
розмітка товару Product |
10 із 30 |
розмітка ціни Offer |
10 із 30 |
| характеристики, розмічені машинно | 4 із 30 |
Дві третини карток для машини — просто текст. Гарний текст, із фотографіями й описом від виробника. Але без жодної підказки, де тут назва товару, де ціна, а де наявність.
Чому це не косметика
Google читає товарну сторінку так само, як читає будь-яку іншу: намагається здогадатись. Іноді здогадується правильно. Розмітка JSON-LD прибирає здогадку — вона каже прямо, що 1 890 ₴ це ціна в гривні, а не артикул, не вага і не номер моделі.
Наслідок видно у видачі. Без блока Offer під заголовком результату не буде ні ціни, ні позначки про наявність. Сторінка все одно ранжується, але в списку з десяти вона виглядає як абзац тексту поруч із результатами, де ціна видна одразу. Це питання не позиції, а площі й того, за що чіпляється око.
Друге, і для українського e-commerce часто вагоміше за перше, — фід. Rozetka, Prom, Google Merchant Center хочуть машинні поля: назва, ціна, валюта, наявність, характеристики. Якщо в картці розмітки немає, фід збирають окремо — вивантаженням із бази або скриптом, який доводиться правити щоразу, коли в каталозі щось змінюється. Магазин із розміченою карткою віддає ті самі поля майже задарма. Скільки роботи забирає саме зведення полів, видно в розборі інтеграції з Rozetka.
Розріз по нішах
Вибірка невелика, і кожну окрему цифру в ній треба читати як спостереження, а не як статистику ринку. Але розкид помітний.
| Ніша | Відкрито карток | Product |
Offer |
|---|---|---|---|
| оптика | 4 | 2 | 2 |
| взуття | 5 | 2 | 2 |
| текстиль | 5 | 2 | 2 |
| побутова хімія | 6 | 2 | 2 |
| ювелірні вироби | 2 | 1 | 1 |
| канцтовари | 5 | 1 | 1 |
| електроінструмент | 3 | — | — |
Шість ніш дають рівно ті десять, які ми порахували в сумі. Отже, у трьох картках електроінструменту розмітки товару не було жодної. І це ніша з найбільшими каталогами всієї вибірки: медіана — 19 962 адреси в карті сайту, найбільший каталог — 32 623. Двадцять тисяч сторінок, кожна з яких для пошуку виглядає як суцільний текст.
Ще одне спостереження з тієї ж таблиці: у кожній ніші числа Product і Offer збіглися до одиниці. Схоже, розмітка або стоїть цілком, або її немає взагалі. Це радше добра новина: проблема не в дрібному недогляді при впровадженні, а в тому, що до задачі просто не дійшли руки.
Найглибша яма — характеристики
Чотири із тридцяти. Обидві ніші, де вони знайшлись, — текстиль (2 із 5) і взуття (2 із 5). У решті магазинів характеристики на сторінці є, просто лежать у вигляді, придатному тільки для людини: таблиця картинкою, абзац усередині опису, PDF зі специфікацією.
Для машини це нуль. Розмір, матеріал, потужність, сумісність — усе те, за чим покупець фільтрує, а маркетплейс розкладає товар по категоріях.
Синтаксично характеристики живуть у полі additionalProperty всередині Product:
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Матеріал", "value": "бавовна 100%" },
{ "@type": "PropertyValue", "name": "Розмір", "value": "200×220 см" }
]
Тут є передумова, яку не обійти: щоб віддати характеристики машині, вони мають існувати в базі як окремі поля, а не як шматок HTML усередині опису. Магазини, де характеристики роками набивали текстом, спершу проходять через нормалізацію, і це довша робота, ніж сама розмітка. Як виглядає картка, з якою все гаразд, ми розписали у скорингу якості картки товару.
Що тягнеться за характеристиками
У тому ж обході ми дивились і на функції, які без структурованих характеристик просто не будуються. Фільтр за характеристиками працював на 9 сайтах із 30, порівняння товарів — теж на 9 із 30. Числа підозріло близькі, і причина в тому самому: фільтр неможливо побудувати над полем, якого в базі немає, а порівняння без спільного набору полів перетворюється на дві колонки суцільного тексту.
Окремо стоїть рейтинг: його розмітку ми знайшли на 3 сайтах із 30. Це той пункт, де поспішати не варто. Розмічений рейтинг без справжніх відгуків на сторінці — рівно та розбіжність, за яку прилітають ручні санкції. Спершу відгуки, потім розмітка, і ніколи навпаки.
Тепер очима покупця
Той самий обхід, ті самі тридцять карток, але дивимось уже на кнопки.
| Що шукали | Знайшли |
|---|---|
| купівля в один клік | 10 із 30 |
| оплата частинами | 7 із 30 |
| безкоштовна доставка від суми | 3 із 30 |
Купівля в один клік — третина вибірки. Ми не скажемо, що вона щось піднімає: ми цього не міряли, а чужі відсотки в такому питанні не варті нічого. Скажемо механізм. Форма на два поля замість повного оформлення знімає один конкретний бар'єр — потребу вигадувати пароль і заповнювати десять рядків заради товару за двісті гривень. Для дорогої техніки з довгим вибором вона майже не грає ролі, для дешевих повторюваних покупок — грає. Як це влаштовано технічно, розібрано в купівлі в один клік.
Оплата частинами — сім із тридцяти, і це найдорожчий пункт списку. Потрібен договір із банком, окрема інтеграція й подальша підтримка. Ставити її «щоб було» сенсу немає; вона виправдана там, де середній чек справді змушує людину рахувати.
Безкоштовна доставка від суми — три із тридцяти, і саме тут розрив між вартістю впровадження й поширеністю найбільший. Це правило в кошику плюс рядок на сторінці товару, тобто робота на день. Воно нічого не гарантує, але дає покупцеві причину докласти ще одну позицію замість того, щоб піти. Механіка й межі — у правилі безкоштовної доставки від суми.
Перевірити свою картку — п'ять хвилин
Відкрийте будь-яку товарну сторінку власного магазину й пройдіть три кроки.
Спершу інструмент перевірки розширених результатів від Google. Вставляєте адресу, він показує, які типи розмітки бачить і які поля в них порожні. Якщо у відповіді порожньо, натисніть Ctrl+U і пошукайте по коду сторінки application/ld+json — це підтвердить, що розмітки немає зовсім.
Далі треба зібрати правильний блок. Для цього в нас є конструктор Schema.org: заповнюєте поля, отримуєте готовий JSON-LD без ручного набирання лапок і ком. Загальний розбір форматів і типів лежить у матеріалі про структуровані дані JSON-LD, а картку цілком — разом із фото, описом, ціною й наявністю — перевіряє аудит картки товару.
І правило, яке треба тримати в голові весь час: розмічати можна тільки те, що справді є на сторінці. Ціна в розмітці збігається з ціною, яку бачить людина. Наявність — з реальною наявністю на складі. Рейтинг — із реальними відгуками, які видно очима. Розбіжність Google трактує як спробу обману, і покаранням тут є ручні санкції, після яких розширений вигляд зникає надовго. Ту саму межу ми проводили в технічному чек-листі магазину, там же лежить базовий блок Product для картки.
Порядок робіт майже не залежить від рушія. Спочатку Product із назвою, фото й артикулом — це найдешевший крок, і він закриває половину претензій парсера. Потім Offer із ціною, валютою й наявністю, бо саме цей блок відповідає за те, що видно у видачі й що забирає фід. Далі additionalProperty, але тільки після того, як характеристики стануть полями в базі, а не абзацом опису. Хлібні крихти й рейтинг ідуть останніми, кожне зі своєю передумовою.
Чого це не дасть
Розмітка не піднімає позиції. Google каже це прямо, і ми повторимо своїми словами: жоден із десяти магазинів, де Product і Offer стоять, не отримав за них переваги в ранжуванні.
Змінюються дві інші речі. Перша — як ваш результат виглядає, коли він уже показаний: ціна, наявність, хлібні крихти замість голої адреси. І це теж не гарантія, розширений вигляд Google вирішує показувати сам і може передумати.
Друга, для магазину зазвичай важливіша, — з розміченої картки збирається фід. Дані, які вже лежать у машинному форматі, не доводиться вигрібати з HTML щоразу, коли ви заводите новий канал продажів.
Двадцять магазинів із нашого зрізу поки що платять за це ручною роботою. І, судячи з того, що розмітка або стоїть цілком, або відсутня повністю, більшість про цей рахунок навіть не знає.




