Как динамически изменить заголовок страницы в WordPress

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

Почему важно управлять заголовком страницы в WordPress

Заголовок влияет на позиционирование сайта в поисковых системах и конверсию посетителей. Статические заголовки часто не подходят для сложных сайтов с динамическим контентом. Правильное управление заголовком позволяет:

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

WordPress по умолчанию генерирует заголовок на основе шаблонов темы и плагинов SEO, но при необходимости можно задать собственные правила.

Использование фильтра wpmy_filter_document_title для динамического изменения заголовка

В WordPress 4.4+ для изменения заголовка используется фильтр document_title_parts. Мы создадим собственную функцию wpmy_change_document_title, которая будет менять заголовок в зависимости от условий.

function wpmy_change_document_title($title_parts) {
    if (is_singular('post')) {
        // Добавим к заголовку поста текст
        $title_parts['title'] .= ' – Полезная статья на WPMy.ru';
    } elseif (is_category()) {
        $cat = get_queried_object();
        $title_parts['title'] = 'Категория: ' . $cat->name . ' | WPMy.ru';
    } elseif (is_home()) {
        $title_parts['title'] = 'Блог WPMy – последние новости и советы';
    }
    return $title_parts;
}
add_filter('document_title_parts', 'wpmy_change_document_title');

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

Как проверить работу фильтра

Чтобы увидеть результат, откройте любую запись или категорию на сайте и посмотрите заголовок вкладки браузера. Изменения должны примениться мгновенно.

Динамический заголовок в классической теме с использованием wp_title

Для совместимости со старыми темами, которые используют функцию wp_title, можно применить следующий фильтр:

function wpmy_filter_wp_title($title, $sep) {
    if (is_category()) {
        $title = 'Категория: ' . single_cat_title('', false) . ' ' . $sep . ' WPMy.ru';
    } elseif (is_singular('page')) {
        $title = get_the_title() . ' ' . $sep . ' WPMy.ru';
    }
    return $title;
}
add_filter('wp_title', 'wpmy_filter_wp_title', 10, 2);

Этот способ подходит, если тема не поддерживает title-tag и использует устаревший метод формирования заголовков.

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

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

Yoast SEO

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

Clearfy Pro

Плагин оптимизации сайта, в числе функций которого есть управление тегом title. Можно легко отключить лишние элементы, а также задать свои шаблоны заголовков. Подробнее о Clearfy Pro — на сайте WPSHOP.

SEO Press

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

Динамический заголовок для страниц с параметрами GET

Иногда нужно менять заголовок в зависимости от параметров URL, например, для фильтров или поиска.

function wpmy_dynamic_title_by_query_vars($title_parts) {
    if (isset($_GET['filter'])) {
        $filter = sanitize_text_field($_GET['filter']);
        $title_parts['title'] = 'Результаты фильтра: ' . $filter . ' | WPMy.ru';
    }
    return $title_parts;
}
add_filter('document_title_parts', 'wpmy_dynamic_title_by_query_vars');

Таким образом, если пользователь откроет страницу с ?filter=новинки, заголовок будет «Результаты фильтра: новинки | WPMy.ru».

Использование пользовательского поля для заголовка

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

function wpmy_title_from_custom_field($title_parts) {
    if (is_singular()) {
        global $post;
        $custom_title = get_post_meta($post->ID, 'wpmy_custom_title', true);
        if (!empty($custom_title)) {
            $title_parts['title'] = $custom_title;
        }
    }
    return $title_parts;
}
add_filter('document_title_parts', 'wpmy_title_from_custom_field');

В админке записи добавьте кастомное поле wpmy_custom_title с нужным заголовком, и он отобразится на фронте.

Полезные советы и рекомендации

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

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

Как создать автоматический отчет по Google Analytics в WordPress
17.03.2026
Как отключить комментарии на отдельных страницах WordPress
10.04.2026
Как создать автоматический импорт продукции в WooCommerce из XML файла
20.01.2026
WooCommerce: как автоматически удалять незавершённые заказы
01.05.2026
Оптимизация базы данных WordPress: практические советы и примеры кода
04.11.2025