Для того, чтобы поисковые роботы могли правильно определить ссылку, которую использовать в поисковой выдаче, требуется показать им, какая из возможных ссылок является ведущей. Это особенно важно, когда на сайте происходят изменения названий (алиасов) и когда есть пагинация (разбиение контента на несколько страниц). Тогда возникают дубли страниц с одинаковым контентом, но с разным URL. Для чёткого указания поисковым машина того, какую ссылку считать ведущей (канонической), нужно прописать ей атрибут rel="canonical"
. В этой статье разберём то, как прописать всем пунктам меню сайта на CMS Joomla данный атрибут. Это важно сделать, так как дубли страниц так или иначе присутствую на любом сайте, и в поисковую выдачу может попадать вовсе не та ссылка, на которую рассчитывал вебмастер сайта. К тому же, это может благоприятно сказаться на благоприятном восприятии сайта в целом поисковыми машинами. СЕО сайта на Joomla — полезная работа в плане продвижения сайта в поисковой выдаче. Это ведёт к увеличению количества целевых посетителей сайта.
Внимание!
Всё описанное в этой статье не будет играть никакого значения, так как в спецификации HTML нет значенияcanonical
атрибутаrel
для тега<a>
. Есть только для тега<link>
.
Поэтому, описанное ниже никак не повлияет на SEO Joomla.
Статью оставляю, так как в ней содержатся полезные сведения работы расширений Joomla. В остальном, данный подход в создании канонических ссылок не будет работать до тех пор, пока в спецификации HTML не появится данная опция для тега<a>
и/или поисковые машины не начнут её использовать.
Модуль mod_menu
, отвечающий за создание и отображение меню сайта на Joomla
В данной статье разберём SEO стандартного модуля Joomla, с помощью которого создаётся и отображается меню сайта, с точки зрения создания в нём канонических ссылок. В процессе работы с сайтом данный модуль может быть переопределён в шаблоне сайта, поэтому нужно посмотреть в папке: /templates/название_шаблона/html/
, нет ли в ней папки mod_menu
. Если нет, значит файлы этого модуля не переопределены и используется стандартный набор файлов этого модуля, который находится в папке:
/modules/mod_menu/
Внесение изменений в Модуль mod_menu
для создания канонических ссылок в меню сайта на Joomla
Определившись с тем, где находятся рабочие файлы модуля меню сайта, осталось определиться, в каком файле происходит формирование ссылок пунктов меню. Это происходит в файле:
/modules/mod_menu/tmpl/default_url.php
Код этого файла довольно простой и короткий. С помощью этого кода происходит проверка переменных Joomla на наличие дополнительных настроек для отображения пунктов меню, а в последней строчке идёт формирование HTML-кода конечной ссылки, которая будет помещена в код меню на странице сайта.
Для того, чтобы доиться решения поставленной задачи, допишем в предпоследнюю (65-ю строку) следующее условие:
if (isset ($attributes['rel'])) { $attributes['rel'] .= ' canonical'; } else { $attributes['rel'] = 'canonical'; }
Этим условием мы проверим, есть ли уже в атрибуте rel
у ссылки какие-то параметры, и если есть, допишем к ним canonical
(с пробелом), а если никаких значений этого атрибута не содержится, то присвоим этому атрибуту значение canonical
.
Заключение
После сохранения этого изменения в код модуля меню сайта Joomla, получим во всех пунктах этого меню канонические ссылки (с указанием атрибута rel="canonical"
). Что нам и требовалось. Ещё одна задача по SEO сайта на Joomla решена.
P.S.
При обновлении Joomla, эта правка будет слетать. Так что после обновления Joomla нужно следить и возобновлять те правки, которые были сделаны до этого.
P.P.S.
Для пунктов меню, образованных компонентами, нужно вставить код, указанный выше в файл:
/modules/mod_menu/tmpl/default_component.php
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)