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

В предыдущей статье была рассмотрена SEO модификация ссылок на статьи в Списке материалов категории на сайте под управлением CMS Joomla. С превращением обычных ссылок в канонические в случае выдачи их в виде списка — задача достаточно тривиальная, так как ссылка одна и изменения нужно вносить только в один файл формирования этого списка. В этой статье рассмотрим, как быть том случае, когда ссылки на статьи выдаются в виде Блога категории. Задача немного усложняется.



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

Откуда берутся ссылки в виде Блога категории на страницах сайта Joomla

При создании пункта меню типа «Материалы» при выборе «Блог категории» получаем страницу, на которой будут материалы выбранной категории в виде блога. Вид этих материалов зависит от настроек, выбранных в настройках сайта или при публикации Категории, но в общем случае, каждый материал теперь имеет три ссылки на него:

  1. В заголовке статьи.
  2. В конце записи блога в виде кнопки «Читать далее» или её аналоге.
  3. В картинке и подписи к ней, если к статье прикреплена превьюха.

Выглядит это примерно так:

Откуда берутся ссылки в виде Блога категории на страницах сайта Joomla

Замечательным свойством этих ссылок, которым мы и воспользуемся, является то, что вне зависимости от того, с какой страницы происходит формирование этих ссылок, они все одинаковые при любых раскладах и содержат в своём URL путь до материала и алиас материала, заданный при его публикации. Именно это свойство и служит поводом для задания этих трёх ссылок в виде канонических тегом rel="canonical" для того, чтобы поисковые роботы точно знали, какой именно URL страницы брать в свою индексную базу, а не пытаться определить самостоятельно. Это должно помочь в СЕО сайта:

задание трёх ссылок на публикацию в виде канонических тегом rel="canonical"

1. Как прописать rel="canonical" для ссылок в заголовке статьи в Блоге категории в Joomla

Начну и продолжу в том порядке, который описан выше так, чтобы решить вопрос канонизации всех ссылок на материалы в Блоге категории. Первым пунктом идёт ссылка в заголовке статьи. Она формируется в строке 23 в файле blog_style_default_item_title.php, находящемуся тут:

/layouts/joomla/content/blog_style_default_item_title.php

Для того, чтобы сделать ссылки в заголовке статьи в Блоге категории нужно сделать следующее:

Было:

<a href="/<?php echo JRoute::_(
  ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid, $displayData->language)
  ); ?>" itemprop="url">
    <?php echo $this->escape($displayData->title); ?>
</a>

Стало:

<a rel="canonical" href="/<?php echo JRoute::_(
  ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid, $displayData->language)
  ); ?>" itemprop="url">
    <?php echo $this->escape($displayData->title); ?>
</a>

2. Как прописать rel="canonical" для ссылок в конце записи блога в виде кнопки «Читать далее» или её аналоге в Блоге категории в Joomla

Теперь разберёмся со ссылкой в конце записей. Эти ссылки формируются в файле readmore.php, который находится по адресу:

/layouts/joomla/content/readmore.php

И эти ссылки встречаются в 4-х местах кода, который используется в зависимости от заданных настроек того, как эти ссылки должны выглядеть на сайте. Можно выставить везде и сразу атрибут rel="canonical" в следующих строках:

стр.19:

<a rel="canonical" class="btn" href="/<?php echo $displayData['link']; ?>" itemprop="url" aria-label="<?php echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE'); ?>

стр.25:

<a rel="canonical" class="btn" href="/<?php echo $displayData['link']; ?>" itemprop="url" aria-label="<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>">

стр.33:

<a rel="canonical" class="btn" href="/<?php echo $displayData['link']; ?>" itemprop="url" aria-label="<?php echo JText::_('COM_CONTENT_READ_MORE'); ?> <?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>">

стр.38:

<a rel="canonical" class="btn" href="/<?php echo $displayData['link']; ?>" itemprop="url" aria-label="<?php echo JText::_('COM_CONTENT_READ_MORE'); ?> <?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>">

Я рекомендую пользоваться Глобальными настройками в выставлении свойств в Joomla. Это позволит не переопределять всё, но для подстраховки, можно внести изменения во всех четырёх строчках, показанных выше, прописав в них rel="canonical". Тогда при любых настройках ссылок типа «Читать дальше» будут применены указатели на то, что ссылки являются каноническими.

3. Как прописать rel="canonical" для ссылок в картинке и подписи к ней, если к статье прикреплена превьюха, в Блоге категории в Joomla

Ну и осталось разобраться со ссылками на превьюхах и подписей к ним. Формирование этих ссылок происходит в 18-й строке файла intro_image.php, расположенного тут:

/layouts/joomla/content/intro_image.php

Нужно вставить rel="canonical":

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

Выводы

Таким образом можно настроить правильные канонические ссылки на все материалы на статьи в Блоге категории. Всё просто...

...при условии, что шаблон сайта не переопределяет этот код. А такое в Joomla возможно. О том, где находятся файлы, отвечающие за формирование ссылок на все материалы на статьи в Блоге категории на примере шаблона Protostar с переопределёнными файлами, рассмотрим в → этой статье.

И важно помнить то, что при апдейте Joomla, эти изменения будут слетать и их нужно будет перезаписывать заново. Переопределять в шаблоне тоже не очень хотелось бы, так как в коде ядра Joomla может что-то поменяться так, что переопределения уже не будут правильно собирать эти части кода со ссылками.

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

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