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

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

Заголовок страницы (тег <title>) – это один из ключевых элементов SEO и UX. Правильно сформированный заголовок помогает поисковым системам лучше индексировать ваш сайт, а пользователям — быстрее понимать содержание страницы. Статичные заголовки подходят не всегда, особенно если на сайте реализована динамическая подгрузка контента, фильтры, пагинация или кастомные типы записей.

В WordPress заголовок часто генерируется темой через функцию wp_title() или с помощью SEO-плагинов. Однако для специфических задач требуется программное динамическое изменение заголовка без установки тяжелых плагинов.

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

Использование хука wp_title и фильтра pre_get_document_title для изменения заголовка

Самый простой метод — добавление фильтра в файл functions.php вашей темы или в плагин. В современных версиях WordPress (с 4.4+) предпочтительно использовать фильтр pre_get_document_title, так как он более универсален и работает с функцией get_the_title().

Пример функции для динамического изменения заголовка на страницах архива кастомного типа записей:

function wplab_dynamic_title_archive( $title ) {
    if ( is_post_type_archive( 'product' ) ) {
        $title = 'Каталог товаров — лучшие предложения';
    }
    return $title;
}
add_filter( 'pre_get_document_title', 'wplab_dynamic_title_archive' );

Если же нужно изменить заголовок в зависимости от GET-параметров, например, для фильтра:

function wplab_dynamic_title_filter() {
    if ( is_page( 'catalog' ) && isset( $_GET['color'] ) ) {
        $color = sanitize_text_field( wp_unslash( $_GET['color'] ) );
        return 'Каталог товаров — цвет: ' . $color;
    }
    return wp_get_document_title();
}
add_filter( 'pre_get_document_title', 'wplab_dynamic_title_filter' );

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

Иногда нужно, чтобы заголовок страницы зависел от пользовательских полей (Custom Fields) или метаданных. К примеру, на странице товара можно вывести в заголовок бренд или артикул.

Пример функции, которая подставляет в заголовок значение пользовательского поля brand:

function wplab_dynamic_title_by_meta( $title ) {
    if ( is_singular( 'product' ) ) {
        global $post;
        $brand = get_post_meta( $post->ID, 'brand', true );
        if ( $brand ) {
            $title = $brand . ' — ' . get_the_title( $post->ID );
        }
    }
    return $title;
}
add_filter( 'pre_get_document_title', 'wplab_dynamic_title_by_meta' );

Такой подход позволяет улучшить уникальность заголовков и повысить CTR.

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

Если хочется более гибкого управления без программирования, рекомендуем обратить внимание на следующие плагины:

  • Clearfy Pro — оптимизация и управление SEO, включая динамические заголовки.
  • WPRemark — расширенный редактор мета-тегов.

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

Как настроить динамические заголовки через Clearfy Pro

После установки Clearfy Pro в разделе SEO → Шаблоны заголовков можно задать правила для разных типов страниц. Например, для архивов указать шаблон:

{archive_title} — лучшая подборка

Для одиночных записей можно использовать:

{post_title} | Бренд: {custom_field:brand}

Это удобно и экономит время при большом количестве страниц.

Отладка и проверка динамического заголовка

Чтобы проверить, как формируется заголовок на странице, можно использовать инструменты браузера (просмотр исходного кода страницы, DevTools). Также полезно включить WP_DEBUG и использовать плагин Query Monitor для отслеживания хуков и фильтров.

Если динамический заголовок не меняется, проверьте:

  • Подключение фильтра в правильном месте (лучше в плагине или functions.php дочерней темы).
  • Не конфликтуют ли другие SEO-плагины (Yoast SEO, All in One SEO) с вашим кодом.
  • Используется ли правильный фильтр (pre_get_document_title предпочтительнее wp_title).

Заключение по динамическому изменению заголовков

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

Используйте простой код для конкретных задач и масштабируемые решения с плагинами для крупных проектов. Например, Clearfy Pro отлично подходит для SEO-оптимизации заголовков без лишних усилий.

Как создать автоматический импорт продуктов из CSV в WooCommerce с помощью кода
12.03.2026
Как использовать хуки WooCommerce для добавления дополнительной логики в заказы
03.06.2026
Как изменить роли пользователей в WordPress без плагинов
09.01.2026
Как сделать автоматическое удаление старых категорий в WordPress
21.12.2025
Автоматическое удаление отменённых заказов WooCommerce
22.04.2026