{
 "name": "YCP Optimizer — методика проверки товарного фида",
 "version": "1.0",
 "published": "2026-10-30",
 "url": "https://ycp-optimizer.ru/trebovaniya-k-fidu/",
 "license": "https://creativecommons.org/licenses/by/4.0/",
 "verdicts": [
  {
   "min": 0,
   "max": 49,
   "name": "Не готов"
  },
  {
   "min": 50,
   "max": 74,
   "name": "Частично готов"
  },
  {
   "min": 75,
   "max": 89,
   "name": "Готов"
  },
  {
   "min": 90,
   "max": 100,
   "name": "Образцово"
  }
 ],
 "axes": [
  {
   "key": "attr",
   "name": "Атрибуты",
   "weight": 35
  },
  {
   "key": "desc",
   "name": "Описание",
   "weight": 20
  },
  {
   "key": "media",
   "name": "Медиа",
   "weight": 15
  },
  {
   "key": "norm",
   "name": "Единицы",
   "weight": 15
  },
  {
   "key": "cat",
   "name": "Категория",
   "weight": 15
  }
 ],
 "rules": [
  {
   "code": "YCP-A01",
   "axis": "attr",
   "level": "crit",
   "penalty": 40,
   "title": "Нет названия товара",
   "fix": "Заполните <name>: тип + бренд + модель + главные характеристики, 50–60 знаков."
  },
  {
   "code": "YCP-A02",
   "axis": "attr",
   "level": "crit",
   "penalty": 40,
   "title": "Нет цены или цена не число",
   "fix": "Укажите <price> числом больше нуля, с учётом всех налогов."
  },
  {
   "code": "YCP-A03",
   "axis": "attr",
   "level": "warn",
   "penalty": 20,
   "title": "Нет штрихкода (GTIN)",
   "fix": "Добавьте <barcode> производителя: EAN-13, EAN-8, UPC-A или UPC-E. Для ряда категорий Яндекс требует GTIN."
  },
  {
   "code": "YCP-A04",
   "axis": "attr",
   "level": "warn",
   "penalty": 15,
   "title": "Штрихкод неверного формата",
   "fix": "Только цифры, 8, 12, 13 или 14 знаков; внутренние коды на 2 или 02 не принимаются."
  },
  {
   "code": "YCP-A05",
   "axis": "attr",
   "level": "warn",
   "penalty": 10,
   "title": "Нет бренда",
   "fix": "Заполните <vendor> так, как бренд пишет себя сам."
  },
  {
   "code": "YCP-A06",
   "axis": "attr",
   "level": "warn",
   "penalty": 8,
   "title": "Нет артикула или модели",
   "fix": "Добавьте <vendorCode> (артикул производителя) или <model>."
  },
  {
   "code": "YCP-A07",
   "axis": "attr",
   "level": "tip",
   "penalty": 5,
   "title": "Нет веса",
   "fix": "Добавьте <weight> в килограммах с упаковкой, до трёх знаков после точки."
  },
  {
   "code": "YCP-A08",
   "axis": "attr",
   "level": "tip",
   "penalty": 5,
   "title": "Нет габаритов",
   "fix": "Добавьте <dimensions> в сантиметрах с упаковкой: Д/Ш/В через косую черту, например 20.1/20.5/22.5."
  },
  {
   "code": "YCP-A09",
   "axis": "attr",
   "level": "warn",
   "penalty": 5,
   "title": "Габариты в неверном формате",
   "fix": "Формат Д/Ш/В через «/» без пробелов, числа в сантиметрах."
  },
  {
   "code": "YCP-A10",
   "axis": "attr",
   "level": "warn",
   "penalty": 15,
   "title": "Нет ссылки на страницу товара или она неверна",
   "fix": "Заполните <url> полным адресом страницы товара, до 512 знаков."
  },
  {
   "code": "YCP-A11",
   "axis": "attr",
   "level": "tip",
   "penalty": 3,
   "title": "Ссылка длиннее 512 знаков",
   "fix": "Яндекс принимает url до 512 знаков — уберите лишние параметры."
  },
  {
   "code": "YCP-A12",
   "axis": "attr",
   "level": "warn",
   "penalty": 10,
   "title": "Меньше трёх характеристик (param)",
   "fix": "Добавьте <param name=\"…\">: цвет, материал, размер, назначение — то, о чём спросит покупатель."
  },
  {
   "code": "YCP-A13",
   "axis": "attr",
   "level": "tip",
   "penalty": 5,
   "title": "Название длиннее 150 знаков",
   "fix": "Максимум 150 знаков, оптимально 50–60."
  },
  {
   "code": "YCP-A14",
   "axis": "attr",
   "level": "tip",
   "penalty": 3,
   "title": "Название короче 20 знаков",
   "fix": "Назовите товар полностью: тип, бренд, модель, ключевые характеристики."
  },
  {
   "code": "YCP-A15",
   "axis": "attr",
   "level": "warn",
   "penalty": 5,
   "title": "Название целиком заглавными буквами",
   "fix": "Капс допустим только в устоявшихся названиях брендов и моделей."
  },
  {
   "code": "YCP-A16",
   "axis": "attr",
   "level": "warn",
   "penalty": 10,
   "title": "Валюта не рубли",
   "fix": "Яндекс Товары принимают только currencyId RUR."
  },
  {
   "code": "YCP-A17",
   "axis": "attr",
   "level": "tip",
   "penalty": 2,
   "title": "currencyId RUB вместо RUR",
   "fix": "В справке Яндекс Товаров указано значение RUR; RUB многие системы принимают, но лучше привести к RUR."
  },
  {
   "code": "YCP-D01",
   "axis": "desc",
   "level": "crit",
   "penalty": 60,
   "title": "Нет описания",
   "fix": "Добавьте <description> 400–600 знаков: что это, из чего, для чего, что в комплекте."
  },
  {
   "code": "YCP-D02",
   "axis": "desc",
   "level": "warn",
   "penalty": 30,
   "title": "Описание короче 400 знаков",
   "fix": "Оптимум по справке Яндекса — 400–600 знаков. Опишите материал, размеры, назначение, комплект."
  },
  {
   "code": "YCP-D03",
   "axis": "desc",
   "level": "warn",
   "penalty": 20,
   "title": "Описание длиннее 3000 знаков",
   "fix": "Максимум 3000 знаков — сократите, оставив факты."
  },
  {
   "code": "YCP-D04",
   "axis": "desc",
   "level": "warn",
   "penalty": 20,
   "title": "Описание повторяет название",
   "fix": "Описание должно добавлять к названию факты, а не повторять его."
  },
  {
   "code": "YCP-D05",
   "axis": "desc",
   "level": "warn",
   "penalty": 15,
   "title": "HTML-разметка, кроме p, br и h1–h6",
   "fix": "Внутри CDATA допустимы только p, br и заголовки; таблицы, span, div, стили уберите."
  },
  {
   "code": "YCP-D06",
   "axis": "desc",
   "level": "tip",
   "penalty": 10,
   "title": "Много текста заглавными буквами",
   "fix": "Больше 30 % капса — уберите, агенты читают это как крик."
  },
  {
   "code": "YCP-D07",
   "axis": "desc",
   "level": "warn",
   "penalty": 15,
   "title": "Запрещённые слова: скидка, акция, новинка, хит",
   "fix": "Справка Яндекс Товаров запрещает эти слова в описании — удалите их."
  },
  {
   "code": "YCP-D08",
   "axis": "desc",
   "level": "warn",
   "penalty": 15,
   "title": "Ссылки или контакты в описании",
   "fix": "Ссылки, телефоны и почта в описании не допускаются."
  },
  {
   "code": "YCP-D09",
   "axis": "desc",
   "level": "tip",
   "penalty": 10,
   "title": "Описание не отвечает на вопросы покупателя",
   "fix": "В тексте нет слов про материал, размеры, назначение или комплект — добавьте их, так агенту есть что ответить."
  },
  {
   "code": "YCP-M01",
   "axis": "media",
   "level": "crit",
   "penalty": 70,
   "title": "Нет картинки",
   "fix": "Добавьте хотя бы одну <picture>: JPEG, PNG или WEBP, от 300×300 px, до 10 МБ."
  },
  {
   "code": "YCP-M02",
   "axis": "media",
   "level": "warn",
   "penalty": 25,
   "title": "Одна картинка на товар",
   "fix": "Лучше три и больше: общий вид, деталь, в интерьере или в руке."
  },
  {
   "code": "YCP-M03",
   "axis": "media",
   "level": "warn",
   "penalty": 20,
   "title": "Картинка по http, а не https",
   "fix": "Переведите адреса картинок на https — иначе часть площадок их не покажет."
  },
  {
   "code": "YCP-M04",
   "axis": "media",
   "level": "warn",
   "penalty": 15,
   "title": "Формат картинки не JPEG/PNG/WEBP",
   "fix": "Яндекс Товары принимают JPEG, PNG и WEBP."
  },
  {
   "code": "YCP-M05",
   "axis": "media",
   "level": "crit",
   "penalty": 40,
   "title": "Картинка недоступна",
   "fix": "Адрес из <picture> не отвечает 200 или отдаёт не изображение — проверьте ссылку."
  },
  {
   "code": "YCP-N01",
   "axis": "norm",
   "level": "warn",
   "penalty": 30,
   "title": "Повторяющийся id товара",
   "fix": "id должен быть уникальным и не меняться после добавления товара."
  },
  {
   "code": "YCP-N02",
   "axis": "norm",
   "level": "warn",
   "penalty": 25,
   "title": "Число без единицы измерения",
   "fix": "В <param name=\"Размер|Вес|Объём|…\"> укажите unit=\"см\", \"кг\", \"л\" — иначе агент не поймёт, 1200 чего."
  },
  {
   "code": "YCP-N03",
   "axis": "norm",
   "level": "tip",
   "penalty": 5,
   "title": "Цена с лишними знаками или пробелами",
   "fix": "Число без пробелов, дробная часть через точку, не больше двух знаков."
  },
  {
   "code": "YCP-N04",
   "axis": "norm",
   "level": "warn",
   "penalty": 15,
   "title": "available=\"false\"",
   "fix": "Для участия в Поиске и покупках в Алисе нужны товары с available=\"true\". Товаров нет в наличии — не отдавайте их в фид."
  },
  {
   "code": "YCP-N05",
   "axis": "norm",
   "level": "tip",
   "penalty": 5,
   "title": "Не указано наличие",
   "fix": "Добавьте атрибут available=\"true\" у товаров в наличии."
  },
  {
   "code": "YCP-N06",
   "axis": "norm",
   "level": "warn",
   "penalty": 15,
   "title": "Одинаковая ссылка у разных товаров",
   "fix": "У каждого товара своя страница; варианты — отдельные url или один товар."
  },
  {
   "code": "YCP-N07",
   "axis": "norm",
   "level": "tip",
   "penalty": 10,
   "title": "Старая цена не выше новой",
   "fix": "<oldprice> должен быть больше <price>, иначе скидка не засчитается."
  },
  {
   "code": "YCP-N08",
   "axis": "norm",
   "level": "tip",
   "penalty": 5,
   "title": "Скидка вне 5–75 %",
   "fix": "Справка Яндекса: скидка от 5 до 75 % — иначе oldprice не показывается."
  },
  {
   "code": "YCP-N09",
   "axis": "norm",
   "level": "tip",
   "penalty": 5,
   "title": "Вес или габариты не числом",
   "fix": "Числа через точку, до трёх знаков после точки, без единиц в самом значении."
  },
  {
   "code": "YCP-C01",
   "axis": "cat",
   "level": "crit",
   "penalty": 60,
   "title": "Нет категории",
   "fix": "Укажите <categoryId> — номер категории из блока <categories>."
  },
  {
   "code": "YCP-C02",
   "axis": "cat",
   "level": "crit",
   "penalty": 60,
   "title": "Категория не найдена в дереве",
   "fix": "categoryId ссылается на id, которого нет в <categories>."
  },
  {
   "code": "YCP-C03",
   "axis": "cat",
   "level": "warn",
   "penalty": 30,
   "title": "Категория «Разное», «Прочее», «Другое»",
   "fix": "Выберите самую конкретную категорию — агент ищет по ней."
  },
  {
   "code": "YCP-C04",
   "axis": "cat",
   "level": "tip",
   "penalty": 10,
   "title": "Товар в категории верхнего уровня при наличии подкатегорий",
   "fix": "Переложите товар в самую узкую подкатегорию."
  },
  {
   "code": "YCP-C05",
   "axis": "cat",
   "level": "tip",
   "penalty": 20,
   "title": "У категории нет названия",
   "fix": "Заполните название категории в <category id=\"…\">."
  }
 ],
 "ucp_compat": "доля товаров с GTIN, брендом, ценой, наличием и габаритами одновременно; справочно"
}