• SEO
  • Joomla - микроразметка хлебных крошек

Просто старый блог о SEO-оптимизации и создании сайтов

Joomla - микроразметка хлебных крошек

Друзья, ранее, в статье о создании привлекательного сниппета, я посредственно затрагивал тему конверсии выдачи в посетителей/клиентов. Мы говорили о внутренних возмежностях движка Joomla, о значении метатегов title, description и т.д. Но разработчики не стоят на месте, и в борьбе за каждого клиента важно по-максимуму использовать все существующие возможности. Тем более, если это бесплатно Улыбаюсь

Сегодня хочу предложить шагнуть дальше в этом направлении, поэтому начинаю цикл статей, посвященный микроразметке, а точнее ее внедрению на наши сайты, сделанные на Joomla. К слову сказать, я занимаюсь созданием сайтов недорого и на сегодняшний день, я в обязательном порядке, при создании сайта внедряю микроразметку, будь то простой сайт, блог или интернет-магазин. Благодаря микроразметке, мы можем существенно улучшить свой сниппет в выдаче Google и Yandex. Разумеется, в микроразметке под данные ПС разница существенная, собственно, как и в самих видах микроразметки. Но чтобы не запутаться, в данной статье я постараюсь раскрыть тему - микроразметка хлебных крошек Joomla 1.5 и Joomla 2.5

Как микроразметка хлебных крошек помогает улучшить сниппет?

Когда мы говорим об улучшении сниппета, мы подразумеваем его "интересность" для глаза пользователя. Ведь для каждого владельца интернет-проекта важно, чтобы среди выдачи по релевантному поисковому запросу, пользователь зашел именно на его сайт. А вот выделить Ваш сайт среди скучного списка поможет микроразметка хлебных крошек. Чтобы не тянуть резину, давайте перейдем к рассмотрению наглядного примера сниппета сайта, сделанного на Joomla, в котором присутствует микроразметка хлебных крошек.

микроразметка хлебные крошки в Joomla

В данном фрагменте скриншота, красной линией я подчеркнул результат внедрения микроразметки хлебных крошек. Если сравнить с вышестоящим сниппетом, то мы там увидим некрасивый фрагмент УРЛ адреса статьи. Микроразметка хлебных крошек помогает сформировать ПС Google сниппет, в котором отображаются быстрые ссылки на соответствующие разделы сайта. Согласитесь, такой сниппет выглядит гораздо привлекательнее. Более того, эти быстрые ссылки кликабельны и, соответственно, ведут на разделы сайта. Это удобно, если пользователю захочется сразу перейти к перечню услуг.

 

Если подробно рассматривать данный пример, то можно увидеть в сниппете и аватарку с профиля автора в Google+, но это тема для отдельной статьи. Убедившись в полезности интеграции микроразметки хлебных крошек, предлагаю перейти к рассмотрению технической стороны данного вопроса как для сайтов, сделанных на Joomla 1.5, так и для сайтов, работающих на Joomla 2.5, поскольку имеются различия в коде.

Микроразметка хлебных крошек в Joomla 1.5

Прочитав много информации о микроразметке хлебных крошек, многие рекомендуют либо устанавливать дополнительный плагин на сайт, либо вносить изменения в модуль breadcrumbs в папке шаблона, установленного по умолчанию. Я предлагаю вносить изменения непосредственно в модуль mod_breadcrumbs который находится непосредственно в ядре сайта. Хотя бы по причине того, что многие шаблоны не имеют собственного модуля mod_breadcrumbs и используют модуль системы. Изменения кода будут вноситься в файл default.php модуля.

Для внесения изменений, чтобы найти файл, нужно пройти по следующему пути: /site.net/modules/mod_breadcrumbs/tmpl в папке tmpl и находим файл default.php

Открываем default.php в Notepad++ и заменяем всё содержимое на следующий код:

<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<span>
<div xmlns:v="http://rdf.data-vocabulary.org/#">
<?php for ($i = 0; $i < $count; $i ++) :

// If not the last item in the breadcrumbs add the separator
if ($i < $count -1) {
if (!empty($list[$i]->link)) {
echo '<span typeof="v:Breadcrumb"><a href="'.$list[$i]->link.'" rel="v:url" property="v:title">'.$list[$i]->name.'</a></span>';
} else {
echo '<span>';
echo $list[$i]->name;
echo '</span>';
}
if($i < $count -2){
echo ' '.$separator.' ';
}
}  elseif ($params->get('showLast', 1)) { // when $i == $count -1 and 'showLast' is true
if($i > 0){
echo ' '.$separator.' ';
}
echo '<span typeof="v:Breadcrumb"><a href="'.$_SERVER['REQUEST_URI'].'" rel="v:url" property="v:title">'.$list[$i]->name.'</a></span>';
}

endfor; ?>
</div>

После чего сохраняем файл и закрываем.

Микроразметка хлебных крошек в Joomla 2.5

 

Как и в варианте с Joomla 1.5, мы также будем вносить изменения в файл default.php модуля mod_breadcrumbs в ядре сайта. Для этого идём по следующему пути: /site.net/modules/mod_breadcrumbs/tmpl открываем в редакторе файл default.php и вносим следующие изменения:

<?php

// no direct access
defined('_JEXEC') or die;
?>

<div>
<div xmlns:v="http://rdf.data-vocabulary.org/#">
<?php if ($params->get('showHere', 1))
{
echo '<span>' .JText::_('MOD_BREADCRUMBS_HERE').'</span>';
}
?>
<?php for ($i = 0; $i < $count; $i ++) :

// If not the last item in the breadcrumbs add the separator
if ($i < $count -1) {
if (!empty($list[$i]->link)) {
echo '<span typeof="v:Breadcrumb"><a href="'.$list[$i]->link.'" rel="v:url" property="v:title">'.$list[$i]->name.'</a></span>';
} else {
echo '<span>';
echo $list[$i]->name;
echo '</span>';
}
if($i < $count -2){
echo ' '.$separator.' ';
}
}  elseif ($params->get('showLast', 1)) { // when $i == $count -1 and 'showLast' is true
if($i > 0){
echo ' '.$separator.' ';
}
echo '<span typeof="v:Breadcrumb"><a href="'.$_SERVER['REQUEST_URI'].'" rel="v:url" property="v:title">'.$list[$i]->name.'</a></span>';
}

endfor; ?>
</div>
</div>

 

Как видите, микроразметка хлебных крошек для Joomla 2.5 отличается от таковой для Joomla 1.5

Ночу напомнить одно банальное правило - перед внесением изменений в файл, выставляйте права доступа chmod 777, иначе изменения не будут записаны.

Чтобы проверить работоспособность микроразметки хлебных крошек, откройте какую-либо статью из какого-либо подраздела, затем скопируйте УРЛ и вставьте его в форму по следующему адресу - http://www.google.com/webmasters/tools/richsnippets Если в структуре УРЛ, при проверке получилось как в примере - значит, Вы всё сделали правильно. Никаких видимых изменений на сайте, после интеграции микроразметки хлебных крошек быть не должно. Кстати, должен сказать, что быстрые ссылки, после внесения микроразметки, появляются в выдаче не всегда.

Данные примеры микроразметки хлебных крошек работают для улучшения сниппетов в ПС Google. Относительно Яндекса, известно, что он не учитывает данную микроразметку и формирует быстрые ссылки в сниппете сугубо по своему усмотрению.

На последок, еще раз хочу напомнить, что микроразметка бывает разной, и в следующих статьях я буду подробно останавливаться на каждом отдельном случае. Удачных Вам опытов и до встречи! Улыбаюсь

Комментарии   

#24 Евгений 05.02.2015 01:21
Спасибо большое! Все работает. Очень просто и понятно написано. Еще раз спасибо.
#23 Дмитрий 16.06.2014 10:34
полный код для джумлы 2.5 тут - https://yadi.sk/d/bD5ympAYTVbBW
#22 Дмитрий 16.06.2014 10:32
Цитирую György:
Дмитрий, спасибо за комментарий и интересное решение :D

только уточните пожалуйста в чем суть разницы кода, а то Вы одно и то же написали :)

Сорри, не заметил сразу ответа.
В последнем выводе эхо у вас стоит вывод ссылки, я же использовал вместо
echo ''.$list[$i]->n ame.'';

вот этим
echo ''.$list[$i]->n ame.'';
#21 György 16.06.2014 09:55
Цитирую Роныч:
Спасибо, все отлично работает. Ваш сайт первый по breadcrumb rdf джумла :-)

Ну что тут сказать - очень приятно, что Вам статья помогла и что я первый в выдаче по breadcrumb rdf джумла :lol:
+1 #20 Роныч 16.06.2014 00:13
Спасибо, все отлично работает. Ваш сайт первый по breadcrumb rdf джумла :-)
+1 #19 Юрий 08.04.2014 21:00
Мы говорили о внутренних возмежностях :lol:
#18 György 07.04.2014 22:21
Дмитрий, спасибо за комментарий и интересное решение :D

только уточните пожалуйста в чем суть разницы кода, а то Вы одно и то же написали :)
#17 Дмитрий 12.03.2014 11:27
Тут у вас в последнем блоке для джумлы 2.5 стоит сменить разметку. Рекомендуется явно указывать последний элемент и не делать его ссылкой.
Вместо кода:
echo ''.$list[$i]->name.'';
Использовал код:
echo ''.$list[$i]->name.'';

А так, спасибо за статью. Код реально работает.

Также из доработок - сохранил шаблон со своим названием (my.php). Причем не в каталог с движком, а в каталоге темы - /templates/my-t heme/html/mod_b readcrumbs/ В редакторе модулей выбираем наш шаблон и радуемся не стандартному коду, а нашему:)
#16 Ivar 08.12.2013 14:52
Спасибо за действительно полезную статью, всё понятно и абсолютно на шару, этим нехитрым способом можно улучшить привлекательнос ть сайта для пользователей! :D
#15 Сергей 20.11.2013 13:30
здравствуйте. проблема возникла с модулем "хлебные крошки" которые перестали отображаться после включения СЕО на virtuemart2. джумла 2,5