Если карточка товара показывает 699 BYN, а JSON-LD хранит 799 BYN, поисковая система получает противоречивые данные. Похожая ошибка возникает, когда срок доставки есть только на баннере, наличие обновляется отдельно от каталога, а условия возврата спрятаны в старом PDF.
Проверьте четыре коммерческих факта в трёх слоях: в источнике бизнеса, в видимом тексте страницы и в структурированных данных. Такой аудит помогает найти расхождения до обновления рекламы, товарной выдачи или материалов для ИИ-ассистента. Он не обещает попадание в AI-ответ, индексацию или расширенный результат.
Что должно получиться после проверки
Для каждой карточки соберите строку контроля:
| Поле | Источник бизнеса | Видимая страница | JSON-LD | Результат |
|---|---|---|---|---|
| Цена | 699 BYN | 699 BYN | price=699, priceCurrency=BYN | совпадает |
| Наличие | есть на складе | «В наличии» | InStock | совпадает |
| Доставка | по Беларуси | срок и география рядом с товаром | shippingDetails | проверить срок |
| Возврат | 14 дней с условиями | ссылка и краткое условие | hasMerchantReturnPolicy | совпадает |
Источником бизнеса может быть CMS, ERP, прайс или согласованный документ. Выберите один источник для каждого факта и сохраните время выгрузки. Без этой опоры сравнение страницы с разметкой покажет различие, но не подскажет правильное значение.
Цена, наличие, доставка и возврат проходят одну и ту же проверку: источник → страница → разметка.
Какие требования подтверждены документацией
Google пишет, что для AI Overviews и AI Mode действуют обычные основы SEO: важный контент должен быть доступен текстом, а структурированные данные — соответствовать видимому содержимому. Специальная AI-разметка для этих функций не требуется. Соответствие требованиям сохраняет возможность участия, однако показ и индексация не гарантируются.
Для товарных страниц Google описывает разметку Product и Offer. Она может передавать цену, валюту, наличие, доставку и возврат. Общие правила структурированных данных требуют актуальности и соответствия основной странице; скрытый или вводящий в заблуждение факт нарушает эти правила.
Свойства имеют разные задачи. price и priceCurrency описывают цену предложения, availability — статус доступности, shippingDetails — условия доставки конкретного предложения. Стандартная политика магазина может находиться у организации, а исключение для отдельного товара — у Offer; это разделение описано в справках о доставке и возврате.
Проверьте четыре группы фактов
Цена и валюта
Сравните число после применения скидки, валюту и период действия цены. Для белорусской карточки используйте BYN, если именно эта валюта действует при покупке. Запись 699 без priceCurrency оставляет единицу неявной; строка «от 699 BYN» не равна фиксированной цене 699 BYN.
Если на странице показаны старая и текущая цены, разметка должна описывать тот же сценарий. Не переносите в price зачёркнутую сумму и не публикуйте акцию после её завершения.
Наличие
Согласуйте словарь CMS с допустимыми значениями разметки. «Есть на складе», «под заказ» и «предзаказ» означают разные условия. Проверьте, что кнопка заказа и реальный путь оформления не противоречат тексту карточки.
Один статус у группы вариантов тоже создаёт ошибку. Если серое кресло доступно, а чёрное закончилось, каждый SKU должен сохранить собственные ID, цену и наличие.
Доставка
Зафиксируйте географию, стоимость, срок и условие бесплатной доставки. Фраза «доставка по стране» без названия страны плохо помогает покупателю и проверяющему. Для Беларуси явно укажите Беларусь или код BY в соответствующем поле разметки.
Срок на странице должен описывать тот же маршрут, что и разметка. Доставка по Минску за день и отправка в регионы за три дня требуют двух условий либо понятного диапазона.
Возврат
Проверьте срок, допустимое состояние товара, способ возврата, плату за обратную доставку и исключения. Число дней без условий может создать ложное ожидание. Видимая страница должна вести к полной политике, а краткая формулировка — совпадать с ней.
Разметка помогает передать правило системе, но не заменяет юридическую проверку. Для Беларуси условия магазина нужно сверять с действующим законодательством и фактическим процессом продавца.
Воспроизводимый аудит одной страницы
В комплекте к статье есть скрипт audit_commercial_facts.py. Он принимает URL или сохранённый HTML и JSON с ожидаемыми фактами. Скрипт использует стандартную библиотеку Python, читает видимый текст и блоки application/ld+json, затем возвращает проверки цены, валюты, наличия, доставки и возврата.
Пример запуска:
python audit_commercial_facts.py sample-product-page.html expected-facts.jsonФрагмент ожидаемого результата:
{
"summary": {
"passed": 10,
"failed": 0,
"status": "PASS"
}
}Для рабочей карточки заполните expected-facts.json из CMS или согласованного прайса. Не переписывайте ожидаемые значения со страницы, которую проверяете: так ошибка станет собственным эталоном.
Скрипт читает серверный HTML и не выполняет JavaScript. Если цена появляется только после загрузки приложения, сохраните отрисованный HTML из браузера либо добавьте отдельную проверку браузером. Результат PASS подтверждает наличие и согласованность выбранных полей; он не подтверждает законность условий и не гарантирует показ в поиске.
Как разбирать ошибки
| Наблюдение | Возможная причина | Следующее действие |
|---|---|---|
| На странице правильная цена, в JSON-LD старая | разметка получает отдельный кэш или шаблон | связать оба слоя с одним источником и повторить проверку |
| JSON-LD правильный, видимый текст устарел | витрина и каталог обновляются разными задачами | проверить очередь публикации и время обновления карточки |
Доставка есть текстом, shippingDetails отсутствует | разметка описывает только базовый Offer | добавить поле после проверки регионов, сроков и стоимости |
| Возврат указан только в JSON-LD | правило скрыто от покупателя | вывести краткое условие и ссылку на полную политику |
| Все поля совпали, страница не индексируется | проблема находится в доступности или индексировании | проверить HTTP-ответ, robots, canonical и sitemap |
Последний сценарий можно проверить в техническом SEO-аудите WiseLab. Инструмент проверяет одну страницу и связанные служебные документы; оценка аудита не является прогнозом позиций.
Как принять работу команды
Начните с 20 карточек: лидеры продаж, товары со скидкой, отсутствующие позиции, варианты одного товара и карточки с разными условиями доставки. Для каждой сохраните URL, SKU, источник ожидаемых данных, время проверки и результат по четырём группам фактов.
Исправление принято, когда:
- видимая страница и JSON-LD совпадают с выбранным источником бизнеса;
- цена содержит валюту и относится к тому же варианту товара;
- наличие подтверждается возможностью оформить заказ;
- доставка и возврат содержат географию, срок и существенные условия;
- повторная проверка проходит на нескольких типах карточек;
- ошибки доступа и индексирования проверены отдельно.
После технической сверки дайте карточку ИИ и задайте конкретные вопросы: сколько стоит товар, есть ли он в наличии, куда доставляют и как вернуть. Сопоставьте ответ с контрольной строкой. Общий порядок проверки фактов и выводов описан в материале «Как проверять ответы ИИ».
Сохраняйте результаты по датам. Тогда спор «ИИ прочитал страницу неправильно» превращается в проверяемую цепочку: какой HTML был доступен, что видел покупатель, какие данные находились в JSON-LD и какое значение считалось действующим.
Источники
Материал подготовлен редакцией WiseLab с помощью AI. Источники и фактические утверждения проверены при подготовке.
Что думаете?
Загружаем комментарии…