Что такое тег Description в автозагрузке
Description — обязательное текстовое поле объявления. В XML это не «комментарий для себя», а то, что покупатель читает под фото. По правилам автозагрузки строка не длиннее 7500 символов и должна соответствовать правилам площадки: без запрещёнки, без чужих контактов там, где их быть не должно, без противоречия цене и категории.
Автозагрузка не «догадывается», где у вас абзац. Она читает разметку. Если вы пишете описание в Excel и жмёте Enter внутри ячейки, это ещё не абзац на витрине. Если правите сырой XML в блокноте и вставляете сайт целиком — это уже не текст, а чужой код внутри тега.
Отдельно: в Description иногда кладут служебную строку вида «AvitoId: номер». Покупатель её не видит, это якорь для площадки. Не путайте её с рекламным текстом и не копируйте чужой номер из другого кабинета.
Зачем нужна секция CDATA
XML считает символы «меньше» и амперсанд служебными. Если в описании есть фраза «скидка < 10%» или «ООО «Ромашка» & Ко», без защиты парсер может решить, что начался новый тег, и обрезать файл. CDATA как раз говорит: «внутри этой секции текст, не разметка XML».
Выглядит это так: тег Description, внутри <![CDATA[ … ]]>, внутри уже ваш текст или разрешённый HTML. Закрывающая последовательность CDATA — строго ]]>. Если эти три символа встретятся в тексте объявления, секция оборвётся посередине, и фид станет невалидным.
Для вас как для человека это значит: не собирайте CDATA руками в Word. Пишите описание в редакторе, а генератор пусть оборачивает поле сам. В FeedCRM переносы из textarea превращаются в <br>, текст кладётся в CDATA, опасную последовательность ]]> экранируют. Вам не нужно помнить синтаксис — нужно не вставлять в описание сырой XML.
HTML в описании: какие теги вообще можно
Дополнительное форматирование через HTML Avito включает не «для любого файла», а для объявлений, которые соответствуют оплаченному тарифу. И даже тогда это не произвольная вёрстка лендинга. В документации автозагрузки белый список короткий: p, br, strong, em, ul, ol, li.
Нельзя тащить div, span, style, font, таблицу, картинку, iframe, ссылку с UTM и «красивый» HTML из Tilda. Площадка либо выкинет лишнее, либо упадёт строка, либо на витрине останется мусор. Списки — ul/ol и li. Абзацы — p. Жирный и курсив — strong и em. Перенос внутри абзаца — br.
Закрывайте теги. В чужих примерах часто висят незакрытые li — копировать такое нельзя. Кривой HTML внутри CDATA XML не всегда ломает, но карточку может показать криво: список слипнется, жирный «поедет» до конца текста.
- Можно: p, br, strong, em, ul, ol, li
- Нельзя: div, table, img, a, style, скрипты
- HTML имеет смысл только внутри CDATA
- Ориентир — шаблон категории, не чужой фид
Переносы строк: почему текст слипается
В обычном Description без HTML перевод строки в файле площадка часто превращает в br. Поэтому в простом текстовом фиде Enter ещё может дать абзац. Как только вы обернули поле в CDATA и начали пихать HTML, логика меняется: считаются теги, а не «как красиво было в Excel».
Типичная картина: в таблице три абзаца, в XML всё в одну строку без <p> и без <br> — на Avito простыня. Обратная картина: вставили HTML с десятком <br><br><br>, карточка дырявая, первые три экрана пустые. Для услуг лучше два-три коротких p: оффер, что входит, условия.
Если копируете из Google Docs или с сайта, вместе с текстом едут невидимые переносы, неразрывные пробелы и «умные» кавычки. В редакторе это выглядит нормально, в XML — сюрприз. Перед массовой выгрузкой откройте одну карточку на витрине после цикла автозагрузки, а не только превью в Excel.
Что ломает фид именно в Description
Первая группа — XML, а не смысл текста. Незакрытый тег Description, CDATA без ]]>, вложенная секция CDATA, кусок чужого <Ad> внутри описания. Файл перестаёт быть XML: не открывается в браузере, Avito пишет ошибку разбора, отчёт может ругать не «поле Description», а весь файл.
Вторая группа — содержимое, которое площадка не считает описанием. Телефон и ссылка на мессенджер, если правила категории просят общаться в чате. Цена в тексте, которая спорит с тегом Price. Другой город, чем в Address. Запрещённые формулировки. Тогда XML зелёный, а карточка на модерации.
Третья — длина и пустота. Пустой Description — отказ. Текст на 8000 знаков — обрезка или ошибка. Водяной копипаст на все города без фактов не ломает XML, но ломает отклик и повышает риск дубля, если карточки близнецы.
- Сломанная CDATA валит файл целиком
- Запрещённый HTML не делает объявление «ярче»
- Контакты и чужой город — уже модерация
- Лимит 7500 символов лучше не тестить вслепую
Символы <, & и последовательность ]]>
Внутри CDATA левую угловую скобку и амперсанд можно писать как есть: XML их не съест. Именно поэтому HTML-теги живут в CDATA, а не с кучей <p> вручную. Если CDATA нет, «<p>» парсер примет за начало тега — и фид развалится.
Исключение одно и злое: ]]> внутри текста. Если клиент вставил в описание фрагмент кода или вы копирнули кусок XML, секция закроется рано. Нормальный генератор режет эту последовательность на безопасные куски. Руками в блокноте это легко пропустить.
Кавычки «ёлочки», тире и буква ё XML не ломают. Ломают попытки «экранировать всё подряд»: &lt;p&gt; на витрине превращается в кашу. Либо простой текст, либо честный короткий HTML в CDATA — не гибрид из трёх экранирований.
Как не превратить описание в свалку разметки
Пишите так, как человеку в чате. Первые строки — что делаете и за сколько по смыслу, без дубля цифры из Price без пояснения. Дальше список «что входит» через ul/li, если тариф позволяет HTML. В конце — зона выезда, срок, ограничения. Не дублируйте заголовок слово в слово.
Не вставляйте в Description фото, прайс-таблицу на 40 строк и юридический договор. Таблица не из белого списка. Длинный договор никто не дочитает, а лимит символов вы сожжёте. Юридические условия — коротко: предоплата, выезд, что не входит.
Для сетки городов шаблон один, факты разные. CDATA не спасёт копипаст «работаем по Москве» в карточке Твери. Это уже не XML-ошибка, а модерация и недоверие покупателя. Разметка и смысл — разные слои: сначала честный текст, потом теги.
Где править, чтобы не сломать XML
Не открывайте боевой фид в блокноте «поправить один абзац». Пропустили слэш — лежат все объявления. Правите Description в таблице или в редакторе CRM. XML должен собираться заново по стабильной ссылке.
В FeedCRM описание живёт в карточке объявления. Сохранили — оно попадает в фид аккаунта с CDATA и переносами. Ссылка автозагрузки не меняется. После крупной правки дождитесь цикла Avito и откройте одну живую карточку: абзацы на месте, нет сырых тегов на витрине, нет обрыва текста.
Если отчёт ругает Description, скопируйте Id из отчёта, найдите строку в редакторе, уберите HTML не из списка, проверьте длину и служебные символы. Не «перезаливайте весь каталог новым файлом с компьютера» — так вы добавите вторую версию правды.
Короткий чеклист перед выгрузкой
Откройте URL фида в браузере: это должен быть XML, а не страница входа. Найдите один Description: есть ли CDATA, закрывается ли она, нет ли внутри второго <Description>. Сверьте, что переносы стали <br> или <p>, а не пропали.
Потом смотрите отчёт автозагрузки, не только витрину. Витрина отстаёт по расписанию. Если отчёт зелёный, а текст старый — вы смотрите другую карточку или другой кабинет. Если отчёт красный на Description — чините поле, а не ListingFee и не фото «на всякий случай».
- Текст пишем в редакторе, CDATA не собираем руками
- Только теги из белого списка Avito
- Никакого ]]> и сырого XML в описании
- После цикла — живая карточка и отчёт, не Excel
Частые вопросы
Обязательно ли оборачивать Description в CDATA?
Для простого текста без скобок часто хватает обычного тега. CDATA нужна, когда есть HTML, символы < и &, или вы не хотите, чтобы XML принял кусок текста за разметку. В постоянном фиде из CRM CDATA — нормальный безопасный режим.
Почему на Avito описание без абзацев, хотя в Excel они были?
Перенос в ячейке не всегда доезжает как абзац. В HTML-режиме нужны p или br. Проверьте, что генератор фида превращает Enter в теги, а вы не склеили всё в одну строку при копировании.
Можно ли вставить HTML с сайта компании в Description?
Нет, целиком нельзя. Avito принимает только p, br, strong, em, ul, ol, li и только в логике CDATA. Вёрстка лендинга сломает фид или выкинется.
Сколько символов можно в описании XML Avito?
До 7500. Это лимит поля, не «чем длиннее, тем лучше». Для услуг обычно хватает короткого фактажа. Сверх лимита автозагрузка поле не проглотит как надо.
В отчёте ошибка разбора файла, не поля. Это Description?
Часто да: незакрытая CDATA или < внутри текста без секции. Откройте фид в браузере — если XML не открывается, сначала чините разметку Description, не фото.
Нужно ли руками писать < вместо < ?
Внутри CDATA — нет. Снаружи CDATA — да, иначе XML сломается. Проще не смешивать режимы и отдать генерацию CRM.
Следующий шаг
Пишите описание в редакторе, XML соберём сами
FeedCRM оборачивает Description в CDATA, ставит переносы и отдаёт стабильную ссылку фида в автозагрузку Avito.
Попробовать бесплатно