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 каждый раз, когда вы заводите новый канал продаж.
Двадцать магазинов из нашего среза пока платят за это ручной работой. И, судя по тому, что разметка либо стоит целиком, либо отсутствует полностью, большинство об этом счёте даже не знает.




