Заголовок в четверка по умолчанию

Движок Joomla 4 более годно выглядит в современном мире, но проблема заголовков H1 в ней так и не решена на уровне системы. Нам снова придется править ручками, пусть это и не займет много времени.

Что имеем по дефолту

По старту в Joomla 4 мы имеем ту же печаль, что и на версию назад, хотя разработчики крестились на монитор, что проблу с заголовком исправят. На странице материала по дефолту название родительской категории выводится в H1, а заголовок статьи идет в H2.

Вообще непонятно, зачем родительскую категорию выводить в главный заголовок, получая сотни одинаковых H1 на сайте. Когда я был отроком за такое решение били в морду, не затрудняясь сложными вопросами.

Можно пробовать долго шелестеть страницами настроек, но проще внести изменения в файл default.php, который лежит в com_content/articles/.  

H1 после правки дефаулт

Правим default.php

В файле default.php надо внести всего две правки:

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

Вырезается напрочь.

В строке

$htag    = $this->params->get('show_page_heading') ? 'h2' : 'h1';  

H2 заменяется на H1.

 правка кода в default

Решение может и не слишком деликатное, но простое и надежное, как кастрация, после чего категория на странице материала остается только в хлебных крошках и меню, а название страницы перемещается на законное по SEO место, в H1.

Не забудьте сделать переопределение для вывода статьи:

templates/cassiopeia/html/com_content/article/default.php

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

Кстати, не пытайтесь воспользоваться вариантом вывода H1 в Joomla 3, который описан на странице https://www.zegeberg.ru/sobstven-sate/optimisaziya-joomla/vyvod-zagolovka-h1-v-statyakh-joomla-3x. Этот вариант правки для версии движка 4X не годится, хотя по морде чуть и похож)).

Ида, рекомендую в файл default.php положить код РСЯ или AdSense. Тогда ваш рекламный блок будет выводиться под H1 во всех статьях и его не придется каждый раз вставлять ручками (да прямо под заголовок к статье и не вставишь).

Размещаем код под

</<?php echo $htag; ?>>

На этой позиции он будет иметь отступ вниз от заголовка, как и положено по канонам рекламы.