SEO Joomla. Канонические ссылки в меню сайта Joomla

Для того, чтобы поисковые роботы могли правильно определить ссылку, которую использовать в поисковой выдаче, требуется показать им, какая из возможных ссылок является ведущей. Это особенно важно, когда на сайте происходят изменения названий (алиасов) и когда есть пагинация (разбиение контента на несколько страниц). Тогда возникают дубли страниц с одинаковым контентом, но с разным 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

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню