Практические решения

Ценовые снипеты вашего интернет-магазина в Яндекс

Joomla

Ценовые снипеты вашего интернет-магазина в Яндекс

Хочу рассказать вам о ценовых снипетах в Яндекс. Оказывается, даже SEO специалисты мало обращают внимание на этот момент, или даже не знают о таком приеме, хотя данная фишка приносит где-то 10-15% процентов трафика!

Что такое ценовые снипеты?

Ценовые снипеты - это отображение цены товара в поисковой выдаче Яндекса:

Ценовые снипеты в Яндексе

Привлекательность данный функции в моем случае (upmart.ru) составляет 10-15% трафика. Когда пропадают ценовые снипеты (почему - рассказано ниже), я теряю трафик. Полагаю, при конкретных поисковых фразах даже возможно менее важно быть на первом месте, чем сразу показать цену на предлагаемый товар.

Как заставить показывать Яндекс ценовые снипеты для своего сайта?

Для начала необходимо подготовить так называемый YML файл, он напоминает xml. В Яндекс есть полное описание, что должен содержать данный файл, но на практике (особенно, когда вы не собираетесь выкладывать товар в Яндекс.Маркете) достаточно иметь такой вид YML файла:  http://www.upmart.ru/yamarket.php (смотрите исходный код, а не интерпретацию браузера). Я получаю данный yml файл путем стороннего скрипта, который обращается к базе и выдергивает нужные поля. Касательно Joomla могут возникнуть проблемы с SEF ссылками: другими словами необходимо передавать в файл уже готовые SEF ссылки, по которым индексируется страница, иначе предположительно Яндекс не сможет найти соответствия.

Исходный код скрипта для компонента JoosMart (переделанный VirtueMart для Joostina) выглядит так:


<?php
//Пропишите для своей БД, пропишите наименование магазина, про адрес www.**********.ru тоже не забудьте
$hostname = "localhost"; 
$username = ""; 
$password = ""; 
$dbName = ""; 
$category = "jos_jm_category";
$category_xref = "jos_jm_category_xref";
$userstable = "jos_jm_product"; 
$pricetable = "jos_jm_product_price";
$product_category_xref =  "jos_jm_product_category_xref";
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); 
mysql_select_db($dbName) or die(mysql_error()); 
mysql_query( "SET NAMES 'utf8'");
echo"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo"<!DOCTYPE yml_catalog SYSTEM \"shops.dtd\">\n";
echo"<yml_catalog date=\"";
echo date('Y-m-d H:i');
echo"\">\n"; 
echo"<shop>\n";
//Здесь название магазина
echo"<name>UpMart</name>\n";
echo"<company>ООО Сатурн</company>\n";
echo"<url><a href="http://www.upmart.ru">http://www.upmart.ru</a></url>\n";
echo"<currencies>\n";
echo"<currency  id=\"RUR\" rate=\"1\"/>\n";
echo"</currencies>\n";
echo"<categories>\n";
$query_cat = "SELECT * FROM $category_xref"; 
$res_cat = mysql_query($query_cat) or die(mysql_error()); 
$rw=1; 
while ($row_cat=mysql_fetch_array($res_cat)) { 
$cat_parent_id=$row_cat['category_parent_id'];
$cat_child_id=$row_cat['category_child_id'];
$query2 = "SELECT category_name FROM $category WHERE category_id=".$row_cat['category_child_id'];
$res_cat1 = mysql_query($query2) or die(mysql_error()); 
$name_cat=mysql_fetch_array($res_cat1);
$cat_name=$name_cat['category_name'];
if ($cat_parent_id==0) {
echo"<category id=\"".$cat_child_id."\">".$cat_name."</category>\n";
}
else {
echo"<category id=\"".$cat_child_id."\" parentId=\"".$cat_parent_id."\">".$cat_name."</category>\n";
}
$rw++;
}
echo"</categories>\n";
echo"<local_delivery_cost>300</local_delivery_cost>\n";
echo"<offers>\n";
$query = "SELECT * FROM $userstable WHERE product_publish='Y'"; 
$res = mysql_query($query) or die(mysql_error()); 
$rw=1; 
while ($row=mysql_fetch_array($res)) {
$product_full_image = "<a href="http://www.upmart.ru/components/com_joosmart/shop_image/product/">http://www.upmart.ru/components/com_joosmart/shop_image/product/</a>".$row['product_full_image'];
$product_name = $row['product_name'];
$product_desc = str_replace("\r\n","", strip_tags($row['product_desc']));
$product_s_desc = $row['product_s_desc'];
$product_desc = str_replace("&nbsp;","",$product_desc);
$query1 = "SELECT product_price FROM $pricetable WHERE product_id=".$row['product_id'];
$res1 = mysql_query($query1) or die(mysql_error()); 
$price=mysql_fetch_array($res1);
$product_price = substr($price['product_price'], 0, -3);
$query3 = "SELECT category_id FROM $product_category_xref WHERE product_id=".$row['product_id'];
$res3 = mysql_query($query3) or die(mysql_error()); 
$product_cat_id1=mysql_fetch_array($res3);
$product_cat_id=$product_cat_id1['category_id'];

$url="<a href="http://www.upmart.ru/component/page">http://www.upmart.ru/component/page</a>,shop.product_details/flypage,shop.flypage/product_id,".$row['product_id']."/option,com_joosmart/Itemid,26/";
$nsurl="index.php?option=com_joosmart&Itemid=35&category_id=".$product_cat_id."&flypage=flypage.tpl&lang=ru&manufacturer_id=1&page=shop.product_details&product_id=".$row['product_id'];
$sql = "SELECT oldurl FROM jos_easysef_redirection WHERE newurl='".$nsurl."'";
$res4 = mysql_query($sql) or die(mysql_error()); 
$sefurl = mysql_fetch_array($res4);
$url="<a href="http://www.upmart.ru/">http://www.upmart.ru/</a>".$sefurl[0];
echo"<offer id=\"".$rw."\" available=\"true\" bid=\"10\">\n";
echo"<url>".$url."</url>\n";
echo"<price>$product_price</price>\n";
echo"<currencyId>RUR</currencyId>\n";
echo"<categoryId>".$product_cat_id."</categoryId>\n";
echo"<picture>".$product_full_image ."</picture>\n";
echo"<name>".$product_name."</name>\n";
echo"<description>".$product_desc."</description>\n";
echo"</offer>";
$rw++;
}
echo"</offers>\n";
echo"</shop>\n";
echo"</yml_catalog>\n";
?>

Что дальше?

Дальше надо передать этой файл Яндексу. Для этого надо:

  1. Добавить свой сайт в панель Веб-Мастера в Яндекс. Как это делается, я думаю, все знают.
  2. Далее идем в Содержимое сайта - > Товары и цены. На данном этапе надо правдиво и точно заполнить информацию о своем интернет магазине и отправить его на модерацию, кнопкой "Включить магазин". Если вы все сделали правильно, то Яндекс примет ваш интернет магазин.
  3. Заливаем подготовленный ранее YML файл на свой сайт, а в поле "Источник данных" указывает путь до этого файла. По идеи Яндекс еще и предварительно проверяет его на ошибки и соответствие ихним стандартам.

Ценовые снипеты вашего интернет-магазина в Яндекс

Все... После этого по ценовые снипеты должны появиться где - то через неделю, две. Но необходим контроль за полученным результатам.

Использование функций Яндекс.Маркета для контроля качества YML файла

Можно добавить свой интернет магазин в Яндекс.Маркет, что даст контроль за количество и качество передаваемой информации. Для этого идем в Яндекс.Маркет и слева внизу есть кнопочка:

Ценовые снипеты вашего интернет-магазина в Яндекс

Присоединяйтесь к Яндекс.Маркету. Всю информацию заполняйте точно и честно. Будут проверять. Особенно обратите внимание поля с ценой доставки. В принципе, можно указать не реально низкую цену, но проверят 100%. Не знаю, будет ли отменен данный снипет после проверки. Если все сделали правильно, то дополнительно в поисковой выдачи появится снипет о стоимости доставки в регионе:

Ценовые снипеты Яндекса

После добавления сайта в систему злые модераторы будут проверять ваш сайт и докапываться до всех мелочей. Они даже будут звонить Вам и проверять то, что Вы им наобещали. Например, если вы указали регион доставки весь СНГ, то они попросят доставить товар, например, в Белоруссию и если вы не сможете вразумительно что-то сказать о способе, ценах и сроках, то они к этому сильно придерутся.  Другими словами, лучше указывать правдивую информацию и подготовится к расспросам если вы действительно хотите попасть в Яндекс.Маркет. Будет всего 6 попыток. Можно, кстати, поступить хитро. После отправления на модерацию, ваш сайт начнут проверять в ближайшие дня три. В этот период на любые звонки можно отвечать, что товар есть в наличии и с доставкой нет никаких проблем. Кстати, можно легко узнать, звонят вам с Яндекса или нет. Им невозможно перезвонить и мобильных телефонов они не оставляют, если перезвонить по входящему номеру, то попадаешь на любого другого сотрудника это службы. То есть, если человек категорически отказывается от ответного звонка, то это вам звонит Яндекс.

Ладно. Не суть, приняли вас в Яндекс.Маркет или нет, но панель управления сайта в этой системе появится:

Ценовые снипеты вашего интернет-магазина в Яндекс

Из этой панели есть две полезные косаемо обсуждаемой темы функции:

  1. 1. Ассортимент->Проверка прайс листов. С помощью этой функции можно моментально проверить YML файл на наличие ошибок.
  2. Ассортимент->Обновление ассортимента.

Ценовые снипеты вашего интернет-магазина в Яндекс

С помощью данной функции можно увидеть когда, как и сколько товаров (снипетов) в Яндекс было добавлено.
Частые ошибки при составления YML файла.

В YML файл вносятся поля с названием товара, кратким и полным описанием, а он по сути представляет собой xml, таким образом в текстах не допустимы всякие знаки типа <, >, &, / и т.д. Если вы добавляете товары через редактор или парсите сайт поставщика, то вроде бы такие проблемы контролируются (редактор режет и экранирует теги, парсер делает то же самое), если  Вы наполняете товары в ручную без редакторы и по многу, такие проблемы рано или поздно появятся, просто из-за не внимательности. После появления таких символов в YML файл происходить фатальная ошибка и все-все снипеты пропадают. Вам об этом Яндекс не сообщит и вы опять потеряете 2 недели на апдейт Яндекса. Советую по чаще проверять YML файл соответствующим сервисом.

По идее, есть функция на php, которая вырезает все html теги, но есть ли функция, которая экранирует все "специальные символы"?
Также иногда появляются не критические ошибки, когда ссылках появляются не допустимые с точки зрения Яндека символы, возможно кириллица. В таких случаях товарное предложение просто пропускается.

Еше раз подчеркну, что когда я теряю ценовые снипеты, я теряю 10-15% трафика, а следовательно 10-15% прибыли.

Удачных экспериментов.

Antosha
timeweb

Заработок в сети

  • Sape - биржа ссылок