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

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

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Внимание!
Всё описанное в этой статье не будет играть никакого значения, так как в спецификации 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.

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

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