SEO Joomla. Канонические ссылки на статьи в Списке материалов категории

В процессе работы над проектом на CMS Joomla может понадобиться переместить материал из одной категории в другую, переименовать его (и алиас материала), создать новый пункт меню, и много ещё чего, что повлияет на конечный URL страницы. Всё это приведёт к тому, что в индексную базу поисковых машин попадёт новая ссылка, которая будет вести на дубль страницы. Дубли плохо сказываются на поведение поисковых роботов, так как несут в себе неопределённость для них в плане того, какую ссылку показывать конечному пользователю в результатах поисковой выдачи. Следить за дублями и удалять их с помощью 301-го редиректа долго, муторно и без гарантий того, что чего-то не было упущено. Я нашёл более простой и эффективный способ того, как показать поисковым машинам правильную ссылку на материал. В этой статье рассмотрим, как создать канонические ссылки на статьи в Списке материалов категории.



Внимание!
Всё описанное в этой статье не будет играть никакого значения, так как в спецификации HTML нет значения canonical атрибута rel для тега <a>. Есть только для тега <link>.
Поэтому, описанное ниже никак не повлияет на SEO Joomla.
Статью оставляю, так как в ней содержатся полезные сведения работы расширений Joomla. В остальном, данный подход в создании канонических ссылок не будет работать до тех пор, пока в спецификации HTML не появится данная опция для тега <a> и/или поисковые машины не начнут её использовать.

Откуда берутся ссылки в виде Списка материалов категории в Joomla

При создании пункта меню типа «Материалы» при выборе «Список материалов категории» получаем страницу, на которой будут отражены все материалы выбранной категории в виде списка:

Откуда берутся ссылки в виде Списка материалов категории в Joomla

Отличительной чертой ссылок в этом списке является то, что ссылки в нём ведут на правильные (актуальные) адреса страниц с актуальными алиасами и актуальными путями роутера. Но, в индексной базе поисковых машин остаются ранее найденные и проиндексированные страницы сайта, которые являются дублями новых (правильных) страниц с точки зрения веб-мастера, работающих с сайтом:

страницы сайта, которые являются дублями новых (правильных) страниц с точки зрения веб-мастера, работающих с сайтом

Посмотреть на то, что творится в индексной базе поискового робота Яндекса можно в разделе «Индексирование» Вебмастера. У Яндекса есть чёткие рекомендации, как дать знать поисковому роботу, какая страница является «правильной» (канонической). Эти рекомендации работают и для других поисковых машин типа Google:

Часто на сайтах присутствуют страницы с разными URL, но с одинаковым или очень похожим содержанием. С помощью атрибута rel=«canonical» вебмастера могут указать, какая страница является «канонической» — предпочтительной для индексации и появления в результатах поиска. Остальные, неканонические версии как правило в поиск не попадают.

Как прописать rel="canonical" для ссылок на статьи в Списке материалов категории в Joomla

Разобравшись с тем, откуда берутся дубли страниц Joomla в ссылочной базе поисковых машин, осталось самое простое — прописать rel="canonical" для ссылок на статьи в Списке материалов категории в Joomla. Это делается в файле default_articles.php, находящемся тут:

/components/com_content/views/category/tmpl/default_articles.php

Нужная строка находится примерно на 172-й строчке, которую нужно поправить так:

Было:

<a href="/<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid, $article->language)); ?>">

Стало

<a rel="canonical" href="/<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid, $article->language)); ?>">

Выводы

После внесения этой небольшой правки, все ссылки со страницы со Списком материалов категории будут иметь обозначение rel="canonical", что позволит поисковым машинам правильно определять URL нужной страницы для выдаче в поисковой выдаче и сократит число дублей ненужных и устаревших ссылок в индексной базе поисковых машин. Что и требовалось. Ура!

Минус во всём этом только один: при обновлении Joomla потребуется заново перепрописать эти изменения. Можно конечно переопределить компонент в шаблоне, но тогда изменения не будут влиять на то, что переопределено, а это лишняя угроза безопасности. Я работаю над решением того, как быстро накатывать требуемые правки в код после апдейтов Joomla.

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

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