Yml что это такое
Форматы YML и CSV
Формат YML
Стандарт разработан Яндексом и основан на стандарте XML. Формат YML предоставляет больше возможностей и преимуществ, чем форматы XLS, CSV.
Требования к YML-файлу
В YML нельзя использовать непечатаемые символы с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки).
Символы » & > ‘ нужно заменять на эквивалентные коды:
Допустимые кодировки YML-файла: UTF-8, windows-1251.
Структура YML-файла
Текстовый формат
Текстовый формат с разделителями удобен при генерации прайс-листа из базы данных или редакторов электронных таблиц (например: Exсel, OpenOffice, Google Docs).
Требования к прайс-листу в текстовом формате
Одна строка файла должна соответствовать одной строке электронной таблицы.
В качестве разделителя полей используется запятая или точка с запятой (CSV) либо символ табуляции (TSV).
Одна строка файла должна содержать описание одного предложения.
Первая строка файла должна содержать названия полей.
Кодировка файла должна быть UTF-8.
Нельзя использовать табуляцию и перенос строки внутри полей.
Файл не должен содержать пустых столбцов.
Порядок столбцов (полей) не задан строго, но в пределах одного файла порядок столбцов (полей) должен быть одинаковым.
Примеры прайс-листов
С конца октября в Санкт-Петербурге, Нижнем Новгороде, Ростове-на-Дону и Воронеже будем показывать только товары, которые можно купить прямо на Маркете. Постепенно это же произойдёт по всей стране. Полностью переход к маркетплейсу завершится в 2022 году.
Форматы YML и CSV
Формат YML
Стандарт разработан Яндексом и основан на стандарте XML. Формат YML предоставляет больше возможностей и преимуществ, чем форматы XLS, CSV.
Требования к YML-файлу
В YML нельзя использовать непечатаемые символы с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки).
Символы » & > ‘ нужно заменять на эквивалентные коды:
YML-файл: зачем он нужен магазинам и как его создать
Маркетплейс (агрегатор товарных предложений от разных продавцов) — удобный ресурс для пользователя. На одной площадке собрано большое количество товаров, есть возможность изучить отзывы покупателей и сравнить цены.
Яндекс.Маркет — самый популярный российский маркетплейс с огромной аудиторией. Технически для попадания на его витрину требуется создать специальный прайс-лист в формате YML. Это файл с данными о всех товарах, которые вы планируете размещать на площадке. Составили подробную инструкцию, как подготовить этот файл и загрузить его в систему.
У Яндекс.Маркета есть определенные требования к прайс-листам, их содержанию и формату. Для загрузки товаров можно использовать привычные форматы XLS (файл Excel) и CSV. Однако предпочтительнее создавать документ YML (Yandex Market Language) — собственную разработку Яндекса на базе стандарта XML.
Готовить прайс-лист в формате YML немного сложнее, чем в XLS или CSV. Однако он дает ряд преимуществ. Например, позволяет автоматизировать процесс обновления товарных позиций и их характеристик.
Вот как это работает:
Прайс-лист для Яндекс.Маркета состоит из общей информации о магазине и списка товарных предложений (офферов).
В шапке YML-файла указана:
Вот так выглядит шапка в YML-файле (первые две строки):
Внутри элемента shop указана информация о магазине, оффере и другие данные:
В элемент shop вложены другие элементы:
Есть еще и дополнительные, необязательные элементы, входящие в shop: CMS и ее версия, название агентства, которое отвечает за техподдержку сайта, и другие. Подробнее о них читайте в соответствующем разделе Справки.
Информация обо всех товарах интернет-магазина в YML-файле содержится в элементе offers. Внутрь него помещаются элементы offer — по одному для каждого товарного предложения.
Вот как выглядит часть YML-файла с одним товарным предложением (offer):
На этом скриншоте показан offer — одно товарное предложение (в данном случае мороженица). Маркет использует эти данные и создает карточку товара.
Элемент offer может быть упрощенного и произвольного типа. Разница — в названии товара:
Подробное описание формата — по ссылке.
Разберем некоторые параметры элемента offer.
Подробнее обо всех элементах YML-файлов можно почитать здесь.
Не все элементы обязательны к использованию. Для каждой категории товаров перечень обязательных и рекомендуемых элементов будет разным. У Яндекса есть готовые рекомендации по подготовке прайс-листов для разных категорий. Подробно описывать все их нет смысла — воспользуйтесь удобным рубрикатором Справки Яндекса.
Есть три основных способа создания YML-файлов:
Это самый трудоемкий способ. Он подойдет интернет-магазинам, у которых не более 20-30 товарных предложений.
Можно попросить программиста написать скрипт для выгрузки товарных предложений в YML-файл. На GitHub есть готовые библиотеки, которыми можно воспользоваться для генерации YML-файлов. Например, вот эта.
Большинство популярных CMS могут экспортировать данные из интернет-магазинов в YML-файлы. У одних CMS есть встроенный функционал — файл можно сгенерировать прямо в административной панели сайта. В других случаях приходится использовать дополнительные модули/плагины.
Полный список CMS, в которых можно создавать файл прайс-листа для Яндекс.Маркета, здесь.
Можно воспользоваться программным обеспечением сторонних разработчиков, созданным специально для генерации YML-файлов.
Например, YML-генератор от Mysitemapgenerator.com. С ним можно:
После регистрации магазина на Маркете помимо указания необходимой информации о нем нужно добавить прайс-лист.
Форматы YML и CSV
Формат YML
Стандарт разработан Яндексом и основан на стандарте XML. Формат YML предоставляет больше возможностей и преимуществ, чем форматы XLS, CSV.
Требования к YML-файлу
В YML нельзя использовать непечатаемые символы с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки).
Символы » & > ‘ нужно заменять на эквивалентные коды:
Допустимые кодировки YML-файла: UTF-8, windows-1251.
Структура YML-файла
Текстовый формат
Текстовый формат с разделителями удобен при генерации прайс-листа из базы данных или редакторов электронных таблиц (например: Exсel, OpenOffice, Google Docs).
Требования к прайс-листу в текстовом формате
Одна строка файла должна соответствовать одной строке электронной таблицы.
В качестве разделителя полей используется запятая или точка с запятой (CSV) либо символ табуляции (TSV).
Одна строка файла должна содержать описание одного предложения.
Первая строка файла должна содержать названия полей.
Кодировка файла должна быть UTF-8.
Нельзя использовать табуляцию и перенос строки внутри полей.
Файл не должен содержать пустых столбцов.
Порядок столбцов (полей) не задан строго, но в пределах одного файла порядок столбцов (полей) должен быть одинаковым.
Примеры прайс-листов
С конца октября в Санкт-Петербурге, Нижнем Новгороде, Ростове-на-Дону и Воронеже будем показывать только товары, которые можно купить прямо на Маркете. Постепенно это же произойдёт по всей стране. Полностью переход к маркетплейсу завершится в 2022 году.
Форматы YML и CSV
Формат YML
Стандарт разработан Яндексом и основан на стандарте XML. Формат YML предоставляет больше возможностей и преимуществ, чем форматы XLS, CSV.
Требования к YML-файлу
В YML нельзя использовать непечатаемые символы с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки).
Символы » & > ‘ нужно заменять на эквивалентные коды:
YML-файл: зачем он нужен магазинам и как его создать
Руководство для тех, кто хочет продавать на Яндекс.Маркете
Маркетплейс (агрегатор товарных предложений от разных продавцов) — удобный ресурс для пользователя. На одной площадке собрано большое количество товаров, есть возможность изучить отзывы покупателей и сравнить цены.
Яндекс.Маркет — самый популярный российский маркетплейс с огромной аудиторией. Технически для попадания на его витрину требуется создать специальный прайс-лист в формате YML. Это файл с данными о всех товарах, которые вы планируете размещать на площадке. Составили подробную инструкцию, как подготовить этот файл и загрузить его в систему.
YML-файл: что это и зачем он нужен
У Яндекс.Маркета есть определенные требования к прайс-листам, их содержанию и формату. Для загрузки товаров можно использовать привычные форматы XLS (файл Excel) и CSV. Однако предпочтительнее создавать документ YML (Yandex Market Language) — собственную разработку Яндекса на базе стандарта XML.
Готовить прайс-лист в формате YML немного сложнее, чем в XLS или CSV. Однако он дает ряд преимуществ. Например, позволяет автоматизировать процесс обновления товарных позиций и их характеристик.
Вот как это работает:
Контекст на профессиональном уровне и без агентства — в системе PromoPult.
Автоматический подбор слов, автогенерация объявлений, «умное» управление ставками. Готовые отраслевые решения. Статистика в реальном времени. Для профессионалов — множество точных настроек.
Как выглядит YML-файл
Прайс-лист для Яндекс.Маркета состоит из общей информации о магазине и списка товарных предложений (офферов).
Шапка
В шапке YML-файла указана:
Вот так выглядит шапка в YML-файле (первые две строки):
Информация о магазине
Внутри элемента указана информация о магазине, оффере и другие данные:
В элемент вложены другие элементы:
Есть еще и дополнительные, необязательные элементы, входящие в : CMS и ее версия, название агентства, которое отвечает за техподдержку сайта, и другие. Подробнее о них читайте в соответствующем разделе Справки.
Оффер
Вот как выглядит часть YML-файла с одним товарным предложением ( ):
На этом скриншоте показан — одно товарное предложение (в данном случае мороженица). Маркет использует эти данные и создает карточку товара.
Элемент может быть упрощенного и произвольного типа. Разница — в названии товара:
Подробное описание формата — по ссылке.
Подробнее обо всех элементах YML-файлов можно почитать здесь.
Не все элементы обязательны к использованию. Для каждой категории товаров перечень обязательных и рекомендуемых элементов будет разным. У Яндекса есть готовые рекомендации по подготовке прайс-листов для разных категорий. Подробно описывать все их нет смысла — воспользуйтесь удобным рубрикатором Справки Яндекса.
Как создать YML-файл
Есть три основных способа создания YML-файлов:
Вручную
Это самый трудоемкий способ. Он подойдет интернет-магазинам, у которых не более 20-30 товарных предложений.
Можно попросить программиста написать скрипт для выгрузки товарных предложений в YML-файл. На GitHub есть готовые библиотеки, которыми можно воспользоваться для генерации YML-файлов. Например, вот эта.
Модули для CMS
Большинство популярных CMS могут экспортировать данные из интернет-магазинов в YML-файлы. У одних CMS есть встроенный функционал — файл можно сгенерировать прямо в административной панели сайта. В других случаях приходится использовать дополнительные модули/плагины.
Яндекс подсказывает, в каких CMS можно создать YML-файл
Полный список CMS, в которых можно создавать файл прайс-листа для Яндекс.Маркета, здесь.
С помощью софта
Можно воспользоваться программным обеспечением сторонних разработчиков, созданным специально для генерации YML-файлов.
Например, YML-генератор от Mysitemapgenerator.com. С ним можно:
Важно! Страницы товарных предложений (карточки товара) должны содержать разметку Schema.org Product или Open Graph Product. Детально микроразметку Schema.org мы разобрали здесь, Open Graph — тут. О добавлении разметки с помощью Google Tag Manager вы можете почитать в этой статье.
Как добавить прайс-лист на Яндекс.Маркет
После регистрации магазина на Маркете помимо указания необходимой информации о нем нужно добавить прайс-лист.
Делается это в разделе Ассортимент → Прайс-лист.
Добавление прайс-листа на Маркет
Добавить прайс можно тремя способами:
Способ 1. Разместить YML-файл на сайте вашего интернет-магазина (обычно — в корневой папке), а в личном кабинете Маркета добавить ссылку на него. Если доступ на сервер, где хранится файл, защищен, укажите логин и пароль.
Добавление ссылки на прайс-лист
После добавления файла нажмите кнопку «Проверить прайс-лист». Система проверит его, и если найдет ошибки, сообщит о них.
Проверка прайс-листа перед загрузкой на Маркет
После загрузки прайс появится в общем списке.
Список загруженных прайс-листов на Маркете
Способ 2. Загрузить YML-файл напрямую (размер не должен превышать 100 Мб). Для этого в окне загрузки выберите «Файл» и загрузите прайс с компьютера.
Загрузка YML-файла напрямую
Способ 3. Загрузка прайса с помощью макроса в Excel. Способ подходит, если вы составляли прайс в Excel. Он позволяет установить связь вашего файла в Excel с Яндекс.Маркетом и обновлять прайс автоматически после внесения изменений в исходный файл. Для использования этой функции нужно авторизоваться в Excel, используя полученный в Яндексе номер рекламной кампании и ключ. Подробно об этом способе — в справке Яндекса.
Загрузка прайса из Excel
Проверка YML на ошибки
После создания YML его стоит проверить на ошибки в валидаторе XML-фидов в Яндекс.Вебмастере (вот ссылка). Для этого выберите схему валидации документа (недвижимость, работа, видео, Маркет и другие) и источник XML-данных (файл, ссылка или текст).
Если вы не проверите YML-файл, в любом случае при добавлении его в Яндекс.Маркет сервис проверит его на ошибки и выдаст отчет.
Ошибки могут появиться как в случае создания YML-файла вручную, так и тогда, когда вы просто выгружали его с помощью модуля CMS.
Есть несколько классификаций ошибок, о которых сообщает Яндекс:
Подробнее об ошибках — здесь.
Обновление прайс-листа формата YML
Обновление прайс-листа необходимо для того, чтобы на карточках товарных предложений в Маркете всегда отображалась актуальная информация о:
Размещенный на Маркете прайс-лист нужно обновлять как минимум один раз в 30 дней, если вы загружали его в личном кабинете.
Если же YML-файл находится на сайте, нужно обновлять его каждый раз, как происходят изменения ключевых параметров (цена, количество товара и т.д.). Робот Яндекс.Маркета сам скачает обновленный файл при индексации.
Общая индексация Яндекс.Маркета проводится каждые 3-6 часов. За это время полностью обновляются все товарные предложения на Маркете. Измененные цены и скидки обновляются быстрее — 30-40 минут.
Удобнее всего настроить автоматическое обновление YML-файла на сайте. Тогда на Маркете всегда будет актуальная информация.
YML-файл полезен не только для Яндекс.Маркета, но и контекстной рекламы
Добавление магазина на Яндекс.Маркет — не единственная причина создать YML. Еще один вариант применения YML-файла — быстрое составление объявлений для контекстной рекламы. Для того чтобы в один клик получить объявления для каждого товара:
Объявления составляются для Яндекс.Директа и Google Ads и выглядят так:
Без автоматизации пришлось бы долго вручную перебирать все названия и цены товаров. Для интернет-магазинов с большим ассортиментом Генератор из YML — удобное решение. Вот исчерпывающий гайд по работе с Генератором из YML от PromoPult.
Если же вы хотите полностью избавиться от необходимости составлять объявления контекстной рекламы, попробуйте инструмент «Написание контекстных объявлений» от PromoPult. Вот инструкция по работе с ним.
Резюме
Размещение товарных предложений на Яндекс.Маркете дает ряд преимуществ:
Поэтому однозначно стоит воспользоваться этим инструментом. Стать участником маркетплейса несложно, к тому же это доступно даже малому бизнесу.
Следуя нашей инструкции, вы легко подготовите YML-файл.
И напоследок: позаботьтесь о должном качестве сайта, чтобы привлекаемый трафик не уходил из-за досадных ошибок.
YAML за 5 минут: синтаксис и основные возможности
Авторизуйтесь
YAML за 5 минут: синтаксис и основные возможности
YAML — это язык для сериализации данных, который отличается простым синтаксисом и позволяет хранить сложноорганизованные данные в компактном и читаемом формате. Рассказываем, как это пригодится для DevOps и виртуализации.
Что такое YAML?
YAML — это язык для хранения информации в формате понятном человеку. Его название расшифровывается как, «Ещё один язык разметки». Однако, позже расшифровку изменили на — «YAML не язык разметки», чтобы отличать его от настоящих языков разметки.
Язык похож на XML и JSON, но использует более минималистичный синтаксис при сохранении аналогичных возможностей. YAML обычно применяют для создания конфигурационных файлов в программах типа Инфраструктура как код (Iac), или для управления контейнерами в работе DevOps.
Чаще всего с помощью YAML создают протоколы автоматизации, которые могут выполнять последовательности команд записанные в YAML-файле. Это позволяет вашей системе быть более независимой и отзывчивой без дополнительного внимания разработчика.
Всё больше и больше компаний используют DevOps и виртуализацию, поэтому YAML — это must have для современного разработчика. Кроме того, YAML легко интегрировать, благодаря поддержке Python (используя PyYAML библиотеку, Docker или Ansible) и других популярных технологий.
YAML vs JSON vs XML
YAML (.yml)
Применение: YAML лучше всего подходит для приложений с большим объемом данных, которые используют DevOps конвейеры или виртуальные машины. Кроме того, улучшение читаемости данных пригодится в командах, где разработчики часто с ними взаимодействуют.
Применение: JSON используется в веб-разработке — это лучший формат для сериализации и передачи данных через HTTP-соединение.
Применение: XML идеален для сложных проектов, которым требуется тонкий контроль над валидацией, схемой и пространством имён. Язык обладает плохой читаемостью, требует большей пропускной способности и ёмкости хранилища, но обеспечивает беспрецедентный контроль.
Характерные особенности YAML
Поддержка мультидокументов
Вы можете объединить несколько YAML-документов в один YAML-файл для облегчения организации файлов и парсинга данных.
Документы разделяются тремя дефисами (—):
Поддержка комментариев
YAML позволяет добавлять комментарии после символа #, как в Python:
Легко читаемый синтаксис
В синтаксисе YAML-файлов используется система отступов, как в Python. Необходимо использовать пробелы, а не табуляцию, чтобы избежать путаницы.
Это избавляет от лишних символов, которые есть в JSON и XML (кавычки, скобки, фигурные скобки).
В итоге читаемость файла значительно повышается.
Явная и неявная типизация
Отсутствие исполняемых файлов
YAML не содержит исполняемых файлов. Поэтому можно безопасно обмениваться YAML-файлами с третьей стороной.
Чтобы использовать исполняемые файлы, YAML нужно интегрировать с другими языками, например Perl или Java.
Синтаксис YAML
В языке есть несколько базовых концепций, которые позволяют обрабатывать большинство данных.
Пары ключ-значение
Большинство данных в YAML-файле хранятся в виде пары ключ-значение, где ключ — это имя пары, а значение — связанные данные.
Скаляры и маппинг
Скаляр представляет собой одно значение, которому соответствует имя.
YAML поддерживает стандартные типы: int и float, boolean, string и null.
Строки
Строка — это коллекция символов, которая может содержать слово или предложение. Можно использовать либо |, для отдельных строк, либо >, для параграфов.
Кавычки в YAML не нужны.
Последовательности
Последовательности — это структуры данных похожие на списки или массивы, которые хранят несколько значений под одним ключом. Они определяются с помощью отступов или [].
Однострочные последовательности выглядят лаконичнее, но хуже читаются.
Словари
Словари — это коллекции пар ключ-значение, которые хранятся под одним ключом. Они позволяют разделить данные на логические категории.
Словари могут содержать более сложные структуры, что позволяет хранить сложные реляционные данные.