XML-фид для Авито — это файл, в котором каждое объявление описано набором тегов: заголовок, цена, адрес, категория, фото и атрибуты. Авито читает этот файл по расписанию и на его основе публикует, обновляет и снимает объявления. Собрать фид можно вручную или из таблицы; главное — соблюсти структуру и обязательные поля категории, иначе выгрузка сломается. Разберём, из чего состоит фид, что чаще всего идёт не так и как проверить файл до загрузки.
Из чего состоит фид
Любой фид Авито — это корневой элемент со списком объявлений. Каждое объявление — отдельный блок с обязательными и категорийными полями.
Базовый набор полей, общий для большинства категорий:
- Id — уникальный и постоянный идентификатор объявления в фиде;
- Title — заголовок (до 50 символов, без спецсимволов и капса);
- Description — текст объявления (можно с базовым форматированием);
- Price — цена числом, без пробелов и валюты;
- Category — категория Авито (строго из справочника площадки);
- Address — адрес размещения;
- Images — ссылки на фотографии.
Дальше идут атрибуты категории: для автомобилей — марка, модель, год; для недвижимости — площадь и число комнат; для вакансий — график и зарплата. Набор жёстко задан Авито, и пропуск обязательного атрибута приводит к отклонению.
Пример структуры
Упрощённо один блок объявления выглядит так:
<Ad>
<Id>TSHIRT-001</Id>
<Title>Футболка хлопковая мужская</Title>
<Description>Плотный хлопок, размеры S–XXL.</Description>
<Price>1290</Price>
<Category>Одежда, обувь, аксессуары</Category>
<Address>Москва, ул. Примерная, 1</Address>
<Images>
<Image url="https://example.com/1.jpg"/>
</Images>
</Ad>
Реальный фид отличается по категориям, но принцип один: стабильный Id, обязательные поля и валидная XML-структура.
Пять ошибок, которые ломают выгрузку
- Меняющийся Id. Если при каждой пересборке фида идентификатор объявления новый, Авито считает его новым объявлением. Итог — дубли, потеря статистики и позиций. Id должен быть привязан к товару, а не генерироваться заново.
- Неверная категория или атрибут. Значение не из справочника Авито — объявление отклоняется. Проверяйте написание категорий буквально.
- Битая кодировка. Фид должен быть в UTF-8. Кириллица в другой кодировке превращается в «кракозябры», и файл не читается.
- Незакрытые или спецсимволы в тексте. Символы
&,<,>внутри описания без экранирования делают XML невалидным — падает весь фид, а не одно объявление. - Недоступный фид по ссылке. Файл лежит там, куда Авито не может достучаться, или обновляется вручную и устаревает. Фид должен быть доступен по постоянному URL и всегда актуален.
Как проверить фид перед загрузкой
Перед тем как отдавать фид Авито, прогоните три проверки:
- Валидность XML. Откройте файл в браузере или XML-валидаторе — он покажет незакрытые теги и ошибки структуры.
- Доступность по ссылке. Откройте URL фида в режиме инкогнито: файл должен отдаваться без авторизации и не быть пустым.
- Обязательные поля. Убедитесь, что у каждого объявления заполнены Id, заголовок, цена, категория и её обязательные атрибуты.
Ручная сборка против автоматической
| Критерий | Вручную | Из таблицы / сервиса |
|---|---|---|
| Порог входа | Нужно знать формат и категории | Заполняете строки таблицы |
| Риск ошибки структуры | Высокий | Фид собирается валидным |
| Обновление цен и остатков | Руками | Автоматически |
| Импорт фида поставщика | Пишете конвертер | По ссылке из коробки |
| Масштаб | Десятки позиций | Тысячи позиций |
Для небольшого статичного каталога ручной фид оправдан. Как только позиций становится много и они меняются, дешевле собирать фид из таблицы: так делает автозагрузка Markoos — данные из Google-таблицы автоматически превращаются в корректный XML, а цены и остатки синхронизируются сами.
Что дальше
Когда фид собран и проходит выгрузку, переходите к настройке всего процесса целиком — расписания и синхронизации: об этом в гайде как настроить автозагрузку на Авито. А чтобы одинаковые товары не улетали в блокировку за дубли, тексты и фото стоит уникализировать.