В процессе работы над проектом на CMS Joomla может понадобиться переместить материал из одной категории в другую, переименовать его (и алиас материала), создать новый пункт меню, и много ещё чего, что повлияет на конечный URL страницы. Всё это приведёт к тому, что в индексную базу поисковых машин попадёт новая ссылка, которая будет вести на дубль страницы. Дубли плохо сказываются на поведение поисковых роботов, так как несут в себе неопределённость для них в плане того, какую ссылку показывать конечному пользователю в результатах поисковой выдачи. Следить за дублями и удалять их с помощью 301-го редиректа долго, муторно и без гарантий того, что чего-то не было упущено. Я нашёл более простой и эффективный способ того, как показать поисковым машинам правильную ссылку на материал. В этой статье рассмотрим, как создать канонические ссылки на статьи в Списке материалов категории.
Внимание!
Всё описанное в этой статье не будет играть никакого значения, так как в спецификации HTML нет значенияcanonical
атрибутаrel
для тега<a>
. Есть только для тега<link>
.
Поэтому, описанное ниже никак не повлияет на SEO Joomla.
Статью оставляю, так как в ней содержатся полезные сведения работы расширений Joomla. В остальном, данный подход в создании канонических ссылок не будет работать до тех пор, пока в спецификации HTML не появится данная опция для тега<a>
и/или поисковые машины не начнут её использовать.
Откуда берутся ссылки в виде Списка материалов категории в 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.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)