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

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

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

Стандартно заголовок страницы в WordPress формируется с помощью функции wp_title() или встроенного тега <title> в файле темы. Однако в ряде случаев это неудобно:

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

В таких случаях программное управление заголовком становится настоящим спасением.

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

Начиная с WordPress 4.4, для формирования заголовка используется фильтр document_title_parts. Этот фильтр позволяет модифицировать части заголовка, например, заменить заголовок страницы, название сайта или описание.

Рассмотрим пример функции, которая изменит заголовок на главной странице:

function wpskins_change_home_title($title_parts) {
    if (is_front_page()) {
        $title_parts['title'] = 'Добро пожаловать на мой сайт WPSkins!';
    }
    return $title_parts;
}
add_filter('document_title_parts', 'wpskins_change_home_title');

Здесь мы проверяем, что пользователь на главной странице, и меняем ключ 'title' в массиве частей заголовка. Это простой и эффективный способ.

Изменение заголовка для конкретной категории

Если нужно изменить заголовок для страницы категории, можно проверить условие is_category() и получить объект категории:

function wpskins_change_category_title($title_parts) {
    if (is_category()) {
        $category = get_queried_object();
        $title_parts['title'] = 'Категория: ' . $category->name . ' - лучшие записи';
    }
    return $title_parts;
}
add_filter('document_title_parts', 'wpskins_change_category_title');

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

Пример использования плагина Yoast SEO для управления заголовками

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

Но иногда нужно программно изменить заголовок, несмотря на настройки плагина. Для этого можно использовать фильтр wpseo_title.

function wpskins_custom_wpseo_title($title) {
    if (is_single() && in_category('novosti')) {
        $title = 'Новость: ' . $title;
    }
    return $title;
}
add_filter('wpseo_title', 'wpskins_custom_wpseo_title');

Данная функция добавит префикс «Новость:» ко всем записям категории «novosti».

Изменение заголовка через плагин Custom Title

Существует плагин Custom Title, который позволяет задавать заголовок для любой страницы через мета-бокс в редакторе. Но если нужно массово переопределить заголовки, лучше использовать программные методы.

Тем не менее, можно расширить функционал Custom Title с помощью кода, который будет изменять заголовки в зависимости от пользовательских полей. Например:

function wpskins_custom_title_from_meta($title_parts) {
    if (is_singular()) {
        $custom_title = get_post_meta(get_the_ID(), '_custom_title', true);
        if ($custom_title) {
            $title_parts['title'] = $custom_title;
        }
    }
    return $title_parts;
}
add_filter('document_title_parts', 'wpskins_custom_title_from_meta');
<

Этот код берёт значение из мета-поля _custom_title и устанавливает его как заголовок страницы.

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

Иногда тема добавляет название сайта в конец заголовка автоматически. Чтобы убрать это, можно в функции, подключённой к фильтру document_title_parts, удалить ключ site:

function wpskins_remove_site_name_from_title($title_parts) {
    if (isset($title_parts['site'])) {
        unset($title_parts['site']);
    }
    return $title_parts;
}
add_filter('document_title_parts', 'wpskins_remove_site_name_from_title');

Это полезно, если хотите полностью контролировать заголовок и избежать повторения.

Советы по SEO при изменении заголовков страниц

Заголовок страницы — один из важнейших факторов SEO. Чтобы улучшить позиции сайта, следуйте простым советам:

  • Делайте заголовок уникальным для каждой страницы.
  • Включайте ключевые слова в начале заголовка.
  • Не превышайте длину в 60–70 символов, чтобы заголовок не обрезался в поисковой выдаче.
  • Используйте динамические значения, если это релевантно, например названия категорий или постов.

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

Заключение: гибкий контроль заголовков в WordPress с помощью кода

Управление заголовком страницы в WordPress можно эффективно осуществлять с помощью фильтра document_title_parts и других хуков, а также интеграции с SEO-плагинами. Благодаря этому вы получите точный контроль над тем, что видят пользователи и поисковые системы.

Используйте приведённые примеры для решения своих задач и адаптируйте код под конкретные условия проекта. Это позволит сделать сайт более профессиональным и SEO-дружественным.

Как создать динамические стили для пользователей в WordPress
06.02.2026
Как добавить локализованные стили в WordPress для разных языков сайта
03.01.2026
Как изменить стили блоков Gutenberg в WordPress
15.04.2026
Как создать уникальные стили для разных типов записей в WordPress
31.01.2026
Как избежать конфликтов CSS в WordPress: практические методы
12.04.2026