Формат YML-файла для простого описания должен быть таким
(показаны только обязательные элементы!):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE yml_catalog SYSTEM "shops.dtd"> <yml_catalog date="2015-10-21 07:03"> <shop> <name>BestShop</name> <url>http://best.seller.ru/</url> <currencies> <currency id="RUR" rate="1"/> </currencies> <categories> <category id="2" parentId="1">Часы</category> <category id="1">Root Catalog</category> </categories> <offers> <offer id="4878" available="false"> <url>http://best.seller.ru/product_page.asp?pid=12348</url> <price>11700.0000</price> <currencyId>RUR</currencyId> <categoryId>2</categoryId> <name>Наручные часы Casio A1234567B</name>
<sales_notes>Необходима 50% предоплата</sales_notes> </offer> </offers> </shop> </yml_catalog>
1). Кодировка может быть и Windows-1251
2). Имя магазина в YML должно строго совпадать с именем магазина в настройках Яндекс.Маркета. Имя прописывается в админке - Система > Управление магазинами
3). Все категории должны иметь имена, id=0 не допускается
4). local_delivery_cost (стоимость доставки в своем регионе) можно прописать в настройках Яндекс.Маркета
5) <sales_notes> - обязательный элемент, если необходима предоплата
Официальные требования к формату - https://partner.market.yandex.ru/legal/tt/
Валидатор XML-фидов - https://webmaster.yandex.ru/xsdtest.xml
Чек-лист для размещения магазина на Яндекс.Маркете https://yandex.st/market-export/87.0577fe48/partner/CL4.pdf
Пути создания YML-файла (кстати, Яндекс принимает и CSV и XLS, но с ограничениями)
1) Простой и бесплатный
Установить модуль Yandex Market Export. Модуль создает файл в корне сайта products.xml, который можно уже скормить Яндексу. Есть возможность выбрать товары, которые не будут попадать в файл (например с нулевой ценой). Единственный нюанс - после создания файл нужно открыть (например в Notepad) и заменить Соединенные Штаты на США и Республика Корея на Южная Корея. Если товары идут под заказ, надо заменить available="true" на available="false". Если необходима предоплата, добавить <sales_notes> перед <country_of_origin>.
2) Непростой и бесплатный
Создать YML из CSV на сайте tagiltsev.ru. Сложность способа в том, что сначала нужно свой csv перелопатить (убрать товары с нулевой ценой, заменить США и Корею, поменять названия столбцов, убрать лишние столбцы, создать недостающие, поменять кодировку и разделитель при сохранении) а потом еще и поправлять готовый yml
3) Платный
Поставить модуль от Rugento или от Mygento. Оба модуля имеют кучу настроек и выгрузку по Cron`у. Стоят примерно одинаково.
И вот еще лирическое отступление на тему YML - http://habrahabr.ru/post/216985/