правка файла default

Спасибо разработчикам Joomla 3 и выше за создание классного бесплатного движка, но мне всегда хотелось узнать, что ни курят во время работы? Явно не табак, так как с колокольни Seo некоторые вещи неадекватны. Так, сложно понять, почему по дефолту в статьях Joomla 3 название материала выводится в H2, а название категории обрамлено в H1. Сегодня этот косяк отправим к праотцам правкой кода default.php.

Переопределение default.php

Файл default.php, который отвечает за вывод статей, находится по прописке:

Components/com_content/views/article/tmpl/…

Можно его править прямо на месте, но лучше выгрузить с хостинга, внести правки и загрузить по другому адресу:

templates/ваш шаблон/html/com_content/article/…

Так мы создадим переопределение, и файл default не будет слетать при обновлении Joomla. Долго мыслить тут не стану, скажу только, что запросы CMS отправляет сначала в папку html шаблона и если там находятся системные файлы, то читает их. Короче, отправив файл по пути «ваш шаблон/html/com_content/article/…» нормальный вывод заголовка H1 не слетит при update сайта.

Убираем вывод названия категории в материале

Правка кода

Теперь правим код default.php. На 19-ой строке находим:

$user = JFactory::getUser();

И после этой строки без пробела вставляем:

$input = JFactory::getApplication()->input;

$view = $input->get('view');

Далее ищем строку 31 и удаляем код:

<h1> <?php echo $this->escape($this->params->get('page_heading')); ?> </h1>

Эта строка отвечает за вывод в статье названия категории. Лично я к этому решению не имею никаких горячих чувств, зачем требуется название категории в статье – не знаю. Если у вас мнение другое, то можете оставить код, но изменить H1 на H2 или как душе угодно.

Меняем H2 на H1

Можете на этом шаге скушать твикс и посмотреть, как выглядит статья сайта. Название категории вверху пропало, но название статьи ещё отображается в H2. Для решения вопроса идём в коде default ниже и ищем строки 53-55:

<h2 itemprop="headline">

<?php echo $this->escape($this->item->title); ?>

</h2>

Они, родные, и отвечают на отображение названия статьи. Заменяем H2 на H1 и жизнь обретает новые краски!

Теперь у нас на сайте всё в лучших традициях классического Seo – название статьи = H1, а H2 можете вставлять в материале вручную.

H1 в категориях

H1 в категории Joomla

Для нормального вывода заголовка H1 в категориях Joomla 3.5 и выше проделывать сложных манипуляций с кодом не придётся. По умолчанию главный заголовок дублирует Title. Если жить хочется лучше и есть желание сделать H1 более коротким и ёмким, то:

  1. Менеджер меню,
  2. Редактировать пункт меню,
  3. Параметры страницы,
  4. Заголовок страницы.

Последний пункт и станет показывать H1, для нормального оформления Title советую отдельно прописать для каждой категории «заголовок страницы в браузере». Title делайте расширенным, H1 ёмким и острым, как наконечник индейского копья.

Эти правила точно работают в Joomla 3.5-3.8 – ниже не помню, выше не знаю.