Как добавить динамический заголовок в тему WordPress

Динамический заголовок страницы — один из ключевых элементов, влияющих на SEO и удобство пользователей. В этой статье разберём, как правильно реализовать динамические заголовки в теме WordPress с примерами кода и рекомендациями.

Почему важен динамический заголовок в теме WordPress

Заголовок страницы (тег <title>) — это первое, что видит и поисковая система, и пользователь в браузере. Статичный заголовок снижает релевантность и затрудняет понимание контента. Динамический заголовок помогает:

  • Улучить SEO, задав уникальный заголовок для каждой страницы;
  • Повысить удобство навигации;
  • Автоматизировать управление заголовками без ручного редактирования.

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

Используем функцию wp_themes_dynamic_title для генерации заголовков

Создадим функцию wp_themes_dynamic_title, которая будет выводить корректный заголовок для различных типов страниц.

function wp_themes_dynamic_title() {
    if (is_front_page()) {
        bloginfo('name');
        echo ' | ' . get_bloginfo('description');
    } elseif (is_home()) {
        single_post_title();
    } elseif (is_singular()) {
        single_post_title();
    } elseif (is_category()) {
        echo 'Категория: ' . single_cat_title('', false);
    } elseif (is_tag()) {
        echo 'Метка: ' . single_tag_title('', false);
    } elseif (is_author()) {
        echo 'Автор: ' . get_the_author();
    } elseif (is_search()) {
        echo 'Результаты поиска по запросу: ' . get_search_query();
    } elseif (is_404()) {
        echo 'Ошибка 404 — страница не найдена';
    } else {
        wp_title('|', true, 'right');
    }
}

Эта функция покрывает основные типы страниц. Вы можете расширять её под свои нужды.

Подключение динамического заголовка в теме

В шаблоне header.php замените статичный <title> на вызов нашей функции:

<title><?php wp_themes_dynamic_title(); ?></title>

Таким образом заголовок будет меняться автоматически в зависимости от контекста страницы.

Интеграция с плагином Clearfy Pro для улучшения SEO

Если вы используете плагин Clearfy Pro, то там также есть расширенные настройки SEO-заголовков. Для совместимости можно добавить фильтр, который позволит Clearfy управлять заголовками:

add_filter('pre_get_document_title', function($title) {
    if (function_exists('wp_themes_dynamic_title')) {
        ob_start();
        wp_themes_dynamic_title();
        $custom_title = ob_get_clean();
        if (!empty($custom_title)) {
            return strip_tags($custom_title);
        }
    }
    return $title;
});

Это позволит использовать преимущества Clearfy Pro и при этом сохранить гибкость вашей темы.

Добавление SEO-метатегов для заголовка

Для полного контроля над SEO желательно добавить метатеги meta name="description" и meta name="keywords" динамически. Пример функции для описания:

function wp_themes_dynamic_meta_description() {
    if (is_singular()) {
        global $post;
        if ($post->post_excerpt) {
            echo '<meta name="description" content="' . esc_attr($post->post_excerpt) . '" />';
        } else {
            $content = wp_strip_all_tags($post->post_content);
            echo '<meta name="description" content="' . esc_attr(mb_substr($content, 0, 160)) . '" />';
        }
    } elseif (is_category()) {
        $desc = category_description();
        if ($desc) {
            echo '<meta name="description" content="' . esc_attr(strip_tags($desc)) . '" />';
        }
    } else {
        echo '<meta name="description" content="' . get_bloginfo('description') . '" />';
    }
}

Вставьте вызов wp_themes_dynamic_meta_description() в header.php в секцию <head> после тега <title>.

Оптимизация и отладка

Для отладки можно временно добавить вывод заголовка в консоль браузера:

add_action('wp_head', function() {
    ob_start();
    wp_themes_dynamic_title();
    $title = ob_get_clean();
    echo "<script>console.log('Dynamic Title: ' + " . json_encode($title) . ");</script>";
});

Это поможет убедиться, что функция работает корректно на всех типах страниц.

Преимущества собственного решения перед плагинами

Хотя есть плагины для SEO и управления заголовками, собственная функция даёт максимум контроля и легковесность. Вы не нагружаете сайт лишними запросами и всегда можете быстро адаптировать логику под задачи.

Резюмируя, динамический заголовок — основа удобства и SEO. Используйте приведённые примеры для внедрения качественных заголовков в свои темы.

Как убрать типичные PHP warnings и ошибки WooCommerce в теме WordPress
21.04.2026
Как добавить поддержку AMP в тему WordPress
21.02.2026
Как создать тему WordPress с поддержкой RTL (Right-to-Left)
21.03.2026
Как создать динамическую навигацию в теме WordPress с фильтрацией и подсветкой активного пункта
05.02.2026
Как создать динамический CSS в теме WordPress
02.12.2025