Динамические заголовки H1 — важный элемент SEO-оптимизации сайта на WordPress. Они позволяют подстраивать заголовок страницы под её содержимое или контекст, повышая релевантность и улучшая поведенческие факторы. В этой статье разберём, как создавать и управлять динамическими заголовками H1, а также рассмотрим примеры кода и полезные плагины.
Почему динамические заголовки H1 важны для SEO
Поисковые системы уделяют большое внимание заголовкам на странице, особенно H1. Это основной заголовок, который задаёт тему и структуру контента. Статичный заголовок одинаковый для всех страниц не всегда отражает их содержание и снижает эффективность продвижения.
Динамические H1 позволяют:
- Точно описывать тему каждой конкретной страницы.
- Учитывать ключевые слова и запросы пользователей.
- Улучшить пользовательский опыт за счёт релевантных заголовков.
- Повысить CTR в выдаче за счёт более точных заголовков.
Для сайтов с большим количеством страниц и записей (например, интернет-магазины, каталоги, блоги) динамические заголовки особенно полезны.
Как формируются динамические H1 в WordPress
В WordPress заголовок H1 обычно формируется в шаблонах темы, чаще всего в файлах single.php, page.php или archive.php. Чтобы сделать заголовок динамическим, нужно использовать функции WordPress для получения данных страницы.
Основные функции для получения заголовка:
the_title()— выводит заголовок текущей записи или страницы.single_post_title()— выводит заголовок отдельной записи.get_the_archive_title()— возвращает заголовок архива (категории, тега, автора).
Например, в файле single.php динамический заголовок будет:
<h1><?php the_title(); ?></h1>Динамический H1 для страниц и записей
В большинстве случаев для записи или страницы достаточно вывести заголовок через the_title(). Но если нужно добавить дополнительную информацию, например, категорию или дату, можно модифицировать вывод:
<h1><?php echo 'Статья: ' . get_the_title(); ?></h1>Или вывести заголовок и метку категории:
<h1><?php the_title(); ?> - <?php echo get_the_category_list(', '); ?></h1>Динамический H1 для архивов и категорий
Для архивных страниц (категорий, тегов, автора) полезно использовать get_the_archive_title():
<h1><?php echo get_the_archive_title(); ?></h1>Если нужно кастомизировать этот заголовок, можно отфильтровать его с помощью хука get_the_archive_title в functions.php.
Создание функции wp7_dynamic_h1 для универсального вывода заголовка
Чтобы упростить вывод заголовков и обеспечить единообразие, создадим функцию wp7_dynamic_h1(), которая автоматически определяет тип страницы и выводит релевантный H1.
function wp7_dynamic_h1() {
if (is_singular()) {
echo '<h1>' . get_the_title() . '</h1>';
} elseif (is_archive()) {
echo '<h1>' . get_the_archive_title() . '</h1>';
} elseif (is_home()) {
echo '<h1>Последние записи</h1>';
} else {
echo '<h1>' . get_bloginfo('name') . '</h1>';
}
}Эту функцию можно вызвать в шаблоне:
<?php wp7_dynamic_h1(); ?>Так вы гарантируете, что на каждой странице будет корректный заголовок H1, адаптированный под контент.
Плагины для динамических заголовков и SEO оптимизации
Если вы не хотите писать код вручную, можно использовать плагины для управления заголовками и SEO:
- Clearfy Pro — содержит функции оптимизации заголовков и мета-тегов, позволяет гибко настраивать заголовки под типы страниц.
- WPRemark — автоматизирует SEO-комментарии и может помочь с генерацией заголовков на основе контента.
- Yoast SEO, Rank Math — популярные SEO плагины с возможностью кастомизации заголовков и шаблонов для разных типов страниц.
Пример настройки шаблона заголовка в Rank Math:
%%title%% | %%sitename%%Что позволяет динамически формировать заголовок страницы с названием записи и сайта.
Тонкости и ошибки при работе с динамическими H1
Важно помнить, что на одной странице должен быть только один заголовок H1. Частая ошибка — дублирование заголовков или использование H1 для элементов дизайна.
Также динамический заголовок должен быть максимально релевантным содержимому страницы и содержать ключевые слова, но без переспама.
Если тема сайта сложная, используйте дополнительные подзаголовки H2, H3 для структуры контента, а H1 оставляйте для основной темы.
Для проверки правильности можно использовать инструменты типа Google Search Console, Lighthouse или расширения браузера для SEO анализа.
Пример расширенного динамического заголовка с учетом пользовательских полей
Если вы используете пользовательские поля (custom fields), можно динамически вставлять их значение в заголовок. Например, для сайта недвижимости добавить район или цену.
function wp7_dynamic_h1_custom() {
global $post;
if (is_singular('property')) {
$title = get_the_title($post->ID);
$district = get_post_meta($post->ID, 'district', true);
if ($district) {
$title .= ' в районе ' . esc_html($district);
}
echo '<h1>' . $title . '</h1>';
} else {
wp7_dynamic_h1();
}
}В шаблоне вызываем wp7_dynamic_h1_custom() и получаем заголовок с дополнительной динамической информацией.