Yandex Market - добавляем свой интернет магазин в каталог Яндекса

Основная задача интернет магазина - обеспечить покупателя качественным сервисом и предоставить ему желаемый товар по доступной цене. Но как привлечь в свой магазин покупателей? Существует множество способов раскрутки, как в сети, так и за ее пределами. Сегодня трудно представить успешный интернет магазин, не имеющий представляения своих товаров в каталоге Яндекс Маркета.

Заказать изготовление YML файла

Регистрация в Маркете занимает всего несколько минут, но прежде нужно подготовить сайт Вашего магазина к регистрации. Компания Yandex предоставляет свои собственные требования к магазинам, исполнение которых является строго обязательным. Помимо исполнения требований вам понадобится создать yml файл для Вашего магазина, содержащий описания всех товаров, представленных в вашем магазине. Вся проблема заключается в том, что при добавлении какого-либо нового товара в каталог, или удалении, вам потребуется вручную менять yml ( Yandex Market Language ) файл, тратя на это ваше время иля время администратора вашего магазина. Так почему бы не автоматизировать данную систему? В данной статье мы рассмотрим написание скрипта, генерирующего yml файл для стандартного интернет магазина. В качестве примера мы будем рассматривать простейший интернет магазин по продаже шариковых ручек. У каждой ручки у нас будет всего 4 параметра: Картинка, описание, цвет, цена. Для реализации скрипта мы будем использовать язык php, при желании данный код можно легко переписать на другие языки web программирования.

Пишем скрипт для создания YML файла для Яндекс Маркета

Товары нашего магазина мы будем хранить в базе данных MySQL в одной таблице products. Структура таблицы: id ( Уникальный номер товара ), picture ( путь к картинке ), color ( цвет ручки ), price ( цена ручки ). Такой вариант БД является простейшим, в действительности, товары обычно хранятся в нескольких таблицах с уникальнымы и внешними ключами, отношениями, индексами и др. Сложность написания скрипта увеличивается за счет сложности обработки запроса к Базе данных и его оптимизации. В нашем же случае все будет довольно просто.

Наш скрипт будет создавать на сервере yml файл с определенным названием и выдавать пользователю ссылку на его скачивание. Определим начальные переменные и исходную базу скрипта:

$filename="shop.yml";  // Имя файла
$filepath=="yml/"; // Путь к файлу
$ymlcontent=""; // контент yml файла
$f=fopen($filepath.$filename,"w") or die("Error opening file"); // открываем файл на запись
$link=dbConnect(); // ф-ция соединяется с Mysql, описывается стандартными ф-ция mysql_connect, mysql_select_db и т.д. Не будем вдаваться в подробности соединения с БД, у нас другая задача

// блок создания контента

fputs($f,$ymlcontent);  // записываем наш контент в файл
fclose($f);
print "Ссылка на скачивание yml файла: <a href=\"".$filepath.$filename."\">".$filename."</a>";

На данном этапе мы создали базу нашего скрипта. Осталось определить блок создания контента. Давайте определимся его функциями, и порядком действий:

1. Подготавливаем начальный контент yml файла.

2. Делаем запрос в БД и выбираем из него все нужные нам товары с нужными параметрами.

3. Запускаем цикл на обработку каждого товара, добавляя информацию о нем в пременную $ymlcontent

4. Дописываем к yml файлу заключительную часть контента

Как видно из схемы, все очень просто. Весь контент мы будем записывать в переменную $ymlcontent, чтобы потом записать ее значение в наш файл. Основное правило - строго соблюдать формат yml, потому что парсер Яндекса будет отклонять файл с любыми малейшими ошибками.

Для начала зададим начальные данные для yml файла:

 

$ymlcontent="<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n";   // файл формата XML 1.0
$ymlcontent.="<!DOCTYPE yml_catalog SYSTEM \"shops.dtd\">\n";   //  тип файла - файл Yandex Маркета
$ymlcontent.="<yml_catalog date=\"20".date("y-m-d H:i")."\">\n";   // дата создания файла
$ymlcontent.="<shop>\n";    // начинаем описывать структуру. Основа структуры файла - элемент shop
$ymlcontent.="<name>Адрес вашего сайта</name>\n";  //  название магазина
$ymlcontent.="<company>заголовок</company>\n";  // title  - заголовок вашего магазина
$ymlcontent.="<url>http://noxit.ru/</url>\n"; // url адрес магазина
$ymlcontent.="<currencies><currency id=\"RUR\" rate=\"1\"/></currencies>\n";   // список валют, в нашем случае только рубли
$ymlcontent.="<categories>\n";  // описываем категории продукции, у каждой категории свой уникальный ID
$ymlcontent.="<category id=\"1\" parentId=\"0\">Ручки</category>\n";  // у нас всего одна категория
$ymlcontent.="</categories>\n";

 

На данном этапе нужно выбрать все товары и БД и записать их в нужном формате в нашу переменную, содержащуюю контент файла:

$q=mysql_query("SELECT id,picture,color,price FROM `products` WHERE 1"); // выбираем все товары
while($row=mysql_fetch_array($q)) // в цикле обрабатываем каждый товар
    {
                        $ymlcontent.="<offer id=\"".$row['id']."\" available=\"true\">\n";  // id товара
                        $ymlcontent.="<url>http://noxit.ru/product.php?id=".$row['id']."</url>\n";  // ссылка на страницу товара ( полностью )
                        $ymlcontent.="<price>".$row['price']."</price>\n";  // стоимость продукта
                        $ymlcontent.="<currencyId>RUR</currencyId>\n"; // валюта
                        $ymlcontent.="<categoryId>1</categoryId>\n"; // ID категории
                        $ymlcontent.="<picture>".$row['picture']."</picture>\n";  // ссылка на картинку ( полностью )
                        $ymlcontent.="<name>Ручка</name>\n";  // название товара
                        $ymlcontent.="<description>Описание продукта</description>\n"; // описание продукта
                        $ymlcontent.="</offer>\n";      
    }

При желании, в описание товара можно добавить множество других полезных параметров, подробнее о которых вы можете прочесть в офциальном описании формата yml, представленном на сайте Яндекса.

Теперь нам осталось дописать конечную часть нашего файла:

$ymlcontent.="</offers>\n";  // дописываем закрывающие тэги
$ymlcontent.="</shop>\n";
$ymlcontent.="</yml_catalog>";

Вот и все. Скрипт готов. Скачать исходный код файла можно здесь. Как видите, код очень просто и понятен. На его написание и оптимизацию под ваш магазин уйдет совсем немного времени, однако, при этом вы получите возможность зарегистрировать Ваш интернет магазин в каталоге Яндекс Марекет, что приведет к значительному увеличению целевой аудитории вашего сайта.

Web студия NoxIT оказывает услуги в области создания сайтов, в том числе и изготовление YML-скриптов для интернет-магазинов ( online заявка на создание yml файла).

Копирование данного материала на другие сайты строго запрещено авторскими правами и преследуется по закону.

Материал подготовлен компанией NoxIT

Список статей

 

Copyright © 2010-2012 NoxIT.ru. Все права защищены
Карта сайта: SiteMap