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

|

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

Почему важно менять заголовок динамически и как это помогает SEO и UX

Динамическое изменение заголовка полезно, если вы хотите улучшить восприятие страниц пользователями или поисковыми системами. Например, для интернет-магазина можно добавить к названию продукта слово «Акция» или «Скидка», если товар участвует в распродаже. Это сделает заголовок более привлекательным и релевантным.

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

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

Как работает автозаголовок WordPress — разбор фильтра wppremium_filter_wp_title

Для изменения заголовка в WordPress существует несколько способов, но самый универсальный — использование фильтра pre_get_document_title или wp_title (для старых тем). В современных темах рекомендуется работать с pre_get_document_title, так как он влияет на тег <title> в <head>.

Давайте создадим функцию wppremium_change_dynamic_title, которая будет изменять заголовок в зависимости от условий.

function wppremium_change_dynamic_title($title) {
    if (is_singular('product')) { // пример для кастомного типа записи 'product'
        $discount = get_post_meta(get_the_ID(), '_product_discount', true);
        if ($discount) {
            $title = 'Акция: ' . $title . ' - Скидка ' . $discount . '%';
        }
    } elseif (is_category('news')) {
        $title .= ' | Последние новости сайта';
    }
    return $title;
}
add_filter('pre_get_document_title', 'wppremium_change_dynamic_title');

В этом примере, если это страница продукта с мета-ключом скидки, к заголовку добавляется слово «Акция» и информация о скидке. Для категории «news» добавляется суффикс «Последние новости сайта».

Примеры плагинов для работы с динамическими заголовками и SEO

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

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

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

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

Пример, как добавить номер страницы в заголовок:

function wppremium_add_pagination_to_title($title) {
    if (is_paged()) {
        $page = get_query_var('paged') ? get_query_var('paged') : 1;
        $title .= ' - Страница ' . $page;
    }
    return $title;
}
add_filter('pre_get_document_title', 'wppremium_add_pagination_to_title');

Таким образом, заголовок для второй страницы категории будет выглядеть: «Новости | Последние новости сайта - Страница 2».

Динамические заголовки при работе с AJAX фильтрами

Если на сайте есть AJAX-фильтры (например, по цене или цвету), заголовок можно менять с помощью JavaScript и history API, чтобы отражать выбранные параметры, не перезагружая страницу.

Пример на JS:

document.addEventListener('DOMContentLoaded', function() {
    const filters = document.querySelectorAll('.filter-input');
    filters.forEach(input => {
        input.addEventListener('change', function() {
            let selectedFilters = [];
            filters.forEach(f => {
                if (f.checked) selectedFilters.push(f.value);
            });
            let newTitle = 'Каталог';
            if (selectedFilters.length) {
                newTitle += ' - ' + selectedFilters.join(', ');
            }
            document.title = newTitle;
            history.replaceState(null, newTitle, window.location.href);
        });
    });
});

Это улучшит UX и SEO, показывая актуальный заголовок в зависимости от выбранных фильтров.

Как интегрировать динамические заголовки с темой Reboot от WPShop

Тема Reboot полностью поддерживает стандартные фильтры WordPress для заголовков, поэтому описанные выше функции работают без доработок.

Для расширения функционала можно использовать хуки темы, например, добавлять пользовательские мета-поля к заголовкам обзоров с Expert Review.

Пример кода для добавления рейтинга из Expert Review к заголовку записи:

function wppremium_add_review_rating_to_title($title) {
    if (is_singular('post') && function_exists('expert_review_get_rating')) {
        $rating = expert_review_get_rating(get_the_ID());
        if ($rating) {
            $title .= ' - Рейтинг: ' . $rating . '/5';
        }
    }
    return $title;
}
add_filter('pre_get_document_title', 'wppremium_add_review_rating_to_title');

Выводы и рекомендации по динамическим заголовкам

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

Для более сложных задач на сайте WP Premium можно комбинировать плагины Clearfy Pro, Expert Review и тему Reboot, чтобы создавать максимально адаптивные и информативные заголовки.

Подробнее о плагинах и темах WPShop смотрите на официальном сайте WPShop.

WooCommerce: динамическое обновление корзины на странице оформления заказа с помощью хука woocommerce_checkout_update_order_review
14.06.2026
WooCommerce: установка ограничений на сроки доставки и способы оплаты для конкретных товаров
03.05.2026
Как разрешить или запретить копирование текста в WordPress: практические методы
08.04.2026
WooCommerce: как настроить отправку писем при массовом изменении статуса заказов
06.05.2026
WooCommerce: как программно удалять неактивные корзины и заказы без плагинов
21.06.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше