Перейти к содержимому
100CTR

Товарные фиды

Проверка YML-фида онлайн

Бесплатный валидатор товарного фида: структура YML, обязательные поля, цены, картинки и ссылки — с требованиями Яндекс Директа, VK Рекламы и Google.

БесплатноРаботает в браузереБез регистрации — до 5 000 товаров

На входе
Ссылка на фид, файл или текст YML/XML
На выходе
Список ошибок и предупреждений по каждому товару с подсказками, как исправить
Для чего
Найти и исправить ошибки до загрузки фида в рекламную систему

Структура XML, обязательные поля, ссылки, цены и дубли — без правил конкретной площадки.

Фид скачает наш сервер — до 30 МБ, архивы .gz тоже. Без регистрации — до 20 загрузок в час.

Дайте ссылку на фид, загрузите файл или вставьте XML — здесь появятся ошибки и советы по каждому товару.

Проверка YML-фида онлайн: что делает валидатор

Товарный фид — это XML-файл, по которому рекламная система собирает объявления: названия, цены, картинки и ссылки на товары. Если в нём сломана структура, не хватает обязательного поля или цена записана не в том формате, площадка отклонит фид целиком или пропустит часть товаров — и узнаете вы об этом только после загрузки и ожидания обработки. Валидатор 100CTR находит такие проблемы заранее.

Загрузите фид по ссылке, файлом или вставьте текст. Инструмент сам определит формат — YML (Yandex Market Language) или фид Google Merchant в формате RSS 2.0 или Atom — и проверит структуру и товары. На этой странице — общая проверка, а по правилам конкретной площадки фид проверяют страницы для Яндекс Директа, VK Рекламы и Google Merchant Center. Для каждого товара вы увидите список ошибок и предупреждений с подсказкой, как исправить, а весь отчёт можно выгрузить в CSV и передать разработчику.

Как пользоваться

  1. Загрузите фид

    Вставьте ссылку на фид, выберите файл на компьютере или вставьте XML в поле. По ссылке фид скачивает сервер 100CTR — так обходится ограничение браузера на чтение чужих сайтов.

  2. Решите, по чьим правилам проверять

    Общая проверка подходит для любого фида. Требования Директа, VK Рекламы и Google различаются — набором валют, длиной полей, обязательными атрибутами, — поэтому перед загрузкой откройте страницу нужной площадки: там правила включены сразу.

  3. Посмотрите сводку

    Формат, количество товаров и категорий, число ошибок и предупреждений. Ошибки структуры XML показываются с номером строки.

  4. Разберите ошибки по товарам

    У каждой проблемы — идентификатор товара, поле, описание и рекомендация. Ошибки мешают загрузке или показу товара, предупреждения стоит исправить, чтобы реклама работала лучше.

  5. Выгрузите отчёт

    Скачайте список проблем в CSV, исправьте фид на сайте или в CMS и проверьте ещё раз.

Примеры

Товар с типичными ошибками

Исходные данные

<offer id="A-15">
  <url>mebel.example.ru/catalog/stul-loft</url>
  <price>4 990 руб.</price>
  <categoryId>12</categoryId>
  <name>Стул Лофт & чёрный</name>
</offer>

Результат

Ошибка XML, строка 5: символ & не экранирован
A-15, url: нужен полный адрес вида https://site.ru/…
A-15, price: только число без пробелов и знаков валюты
A-15, currencyId: нет валюты при указанной цене
A-15, categoryId: категории 12 нет в <categories>
A-15, picture: нет изображения

Формулировки сообщений упрощены. Неэкранированный & ломает разбор всего файла, поэтому такие ошибки исправляйте первыми.

Тот же товар после исправления

Исходные данные

Исправлено: схема ссылки, формат цены, валюта,
категория, картинка, экранирование;
добавлена старая цена для показа скидки

Результат

<offer id="A-15" available="true">
  <url>https://mebel.example.ru/catalog/stul-loft</url>
  <price>4990</price>
  <oldprice>5990</oldprice>
  <currencyId>RUB</currencyId>
  <categoryId>12</categoryId>
  <picture>https://mebel.example.ru/img/stul-loft.jpg</picture>
  <name>Стул Лофт, чёрный</name>
</offer>

Категория с id="12" должна быть описана в блоке categories, а валюта RUB — в блоке currencies.

Как устроен YML-фид

Корневой элемент — yml_catalog с атрибутом date. Внутри — shop с названием магазина (name), компанией (company) и адресом сайта (url), затем блоки currencies и categories и только после них — список offers. Каждый товар — элемент offer с уникальным атрибутом id; внутри — ссылка url, цена price и валюта currencyId, категория categoryId, изображения picture и название name (или тройка typePrefix, vendor, model).

Фиды Google устроены иначе: это RSS 2.0 или Atom с пространством имён g:, а товар описывается атрибутами g:id, g:title, g:link, g:image_link, g:price, g:availability и другими. Валидатор распознаёт оба семейства форматов автоматически.

Что проверяет валидатор

  • Корректность XML: незакрытые теги, неэкранированный &, HTML-сущности вроде &nbsp; — с номером строки; «кракозябры» из-за неверной кодировки.
  • Структуру: корневой элемент и дату выгрузки, данные магазина, разделы валют и категорий, наличие товаров.
  • Обязательные поля каждого товара по правилам выбранной площадки.
  • Цены: числовой формат с точкой, цена больше нуля, старая цена выше текущей, валюта указана и описана в разделе валют.
  • Ссылки и изображения: полные адреса с http:// или https://, пробелы в адресах, наличие картинки и её формат по расширению.
  • Категории: каждая categoryId товара описана в списке категорий.
  • Дубли id товаров и категорий, а также несколько товаров с одной ссылкой.

Валидатор проверяет сам файл, но не открывает страницы товаров и не скачивает картинки. Совпадение цены в фиде и на сайте, размеры изображений и доступность ссылок проверьте выборочно вручную: это частые причины отклонений на модерации.

Требования площадок различаются

Один и тот же YML может пройти в Директе и получить замечания в VK Рекламе. Например, по справке VK Рекламы идентификатор товара — до 128 символов, а в списке валют нет USD и EUR; Директ ограничивает id 100 символами и требует, чтобы старая цена была выше текущей. Google Merchant Center вообще не принимает YML и ждёт атрибуты в своей спецификации. Подробно о правилах каждой площадки — на отдельных страницах:

Частые ошибки в фидах

  • Цена с пробелами, запятой или словом «руб.» вместо числа с точкой.
  • Ссылки без протокола или с кириллицей и пробелами без кодирования.
  • Товары ссылаются на категории, которых нет в блоке categories.
  • Один id у нескольких товаров — например, у вариантов одного товара по цвету.
  • HTML-теги и рекламные фразы в названиях и описаниях.
  • Фид отдаётся с редиректом, по авторизации или с ошибкой сервера, и робот площадки не может его скачать.

Если фида нет или нужны объявления

Если у сайта нет своей выгрузки, соберите фид в генераторе YML-фида из ссылок: сервис возьмёт данные со страниц товаров и выдаст проверенный файл или постоянную ссылку. Когда фид в порядке, из него можно сделать текстовую кампанию в инструменте объявления из фида.

Частые вопросы

Какие форматы поддерживаются?

YML (yml_catalog) и фиды Google Merchant в формате XML: RSS 2.0 и Atom. Формат определяется автоматически.

Можно ли проверить фид по ссылке?

Да. Фид скачивает сервер 100CTR — до 30 МБ, архивы gzip распаковываются. Без регистрации действует ограничение на число загрузок по ссылке в час.

Отправляется ли файл на сервер?

Файл и вставленный текст разбираются в браузере. На сервер уходит только адрес фида, если вы загружаете его по ссылке.

Чем ошибка отличается от предупреждения?

Ошибка — нарушение, из-за которого площадка, скорее всего, не примет товар или весь фид. Предупреждение — то, что не блокирует загрузку, но ухудшает показы или может привести к отклонению на модерации.

Проверяет ли валидатор картинки и цены на сайте?

Нет, только содержимое фида: формат адресов, наличие изображений, формат и логику цен. Страницы товаров и сами картинки не загружаются.

Гарантирует ли проверка, что фид пройдёт модерацию?

Нет. Валидатор снимает технические ошибки, но модерация площадки оценивает ещё и содержание товаров, изображения и соответствие сайту. Правила площадки могут меняться — сверяйтесь с их справкой.

Как передать ошибки разработчику?

Выгрузите отчёт в CSV: в нём идентификатор товара, поле, уровень проблемы и рекомендация.

Соберите всю кампанию за один проход

В проекте 100CTR фразы группируются автоматически, в каждую группу пишутся объявления с подстановкой ключа, а результат выгружается файлом для Директ Коммандера.

Как это работает