Как изменить автозаголовки постов в WordPress: практические решения

|

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

Почему стоит автоматизировать заголовки постов

Автоматизация заголовков полезна в нескольких сценариях:

Рассмотрим, как реализовать эти задачи на практике.

Изменение заголовка при сохранении поста с помощью хука save_post

Самый прямой способ изменить заголовок — использовать хук save_post, который вызывается при сохранении записи. Ниже пример функции yelly_change_post_title, которая автоматически заменяет заголовок на основе метаполя subtitle и текущей даты.

function yelly_change_post_title($post_id) {
    // Проверяем, чтобы это была нужная запись, а не автосохранение
    if (wp_is_post_autosave($post_id) || wp_is_post_revision($post_id)) {
        return;
    }

    $post = get_post($post_id);
    if ($post->post_type !== 'post') {
        return;
    }

    $subtitle = get_post_meta($post_id, 'subtitle', true);
    if (!empty($subtitle)) {
        $new_title = $subtitle . ' — ' . date('d.m.Y');

        // Обновляем заголовок
        wp_update_post(array(
            'ID' => $post_id,
            'post_title' => $new_title,
        ));
    }
}
add_action('save_post', 'yelly_change_post_title');

В этом примере заголовок формируется как сочетание метаполя subtitle и текущей даты. Чтобы использовать этот код, нужно добавить метаполе при создании поста, например через пользовательское поле или ACF.

Генерация заголовка на лету при выводе поста с помощью фильтра the_title

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

function yelly_dynamic_post_title($title, $post_id) {
    if (is_admin()) {
        return $title; // Не меняем в админке
    }

    $post = get_post($post_id);
    if ($post->post_type === 'post') {
        $custom_tag = get_post_meta($post_id, 'custom_tag', true);
        if ($custom_tag) {
            $title .= ' | Тег: ' . esc_html($custom_tag);
        }
    }
    return $title;
}
add_filter('the_title', 'yelly_dynamic_post_title', 10, 2);

Такой подход позволяет добавлять к заголовку дополнительную информацию без изменения данных в базе. Это удобно для SEO-оптимизации и кастомного отображения.

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

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

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

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

Представим, что на сайте размещаются новости, и нужно формировать заголовок из категории новости, даты и ключевого слова из метаполя keyword.

Сначала можно установить плагин Auto Post Title, настроить шаблон заголовка, например:

{category} - {keyword} ({date})

Чтобы ключевое слово бралось из метаполя, добавим код, который будет подставлять это значение:

function yelly_auto_post_title_filter($title, $post_id) {
    $keyword = get_post_meta($post_id, 'keyword', true);
    if ($keyword) {
        $title = str_replace('{keyword}', $keyword, $title);
    }
    return $title;
}
add_filter('auto_post_title_template', 'yelly_auto_post_title_filter', 10, 2);

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

Как избежать проблем при изменении заголовков

При автоматическом изменении заголовков важно:

Соблюдение этих рекомендаций поможет избежать ошибок и сбоев.

Итоги и рекомендации

Изменение автозаголовков в WordPress — мощный инструмент для автоматизации и улучшения контента. Используйте save_post для изменения заголовка в базе, the_title для динамического вывода, а также комбинируйте с плагинами для удобства. Обязательно тестируйте изменения и сохраняйте резервные копии.

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

Как удалить неиспользуемые вариации товаров в WooCommerce: практическое руководство
03.05.2026
Как автоматизировать управление отзывами в WordPress с помощью Expert Review
10.02.2026
Как настроить отложенный запуск задач в WordPress без плагинов
16.11.2025
Как изменить URL адрес AJAX в WordPress: практические решения и примеры
02.01.2026
Как полностью удалить остаточные файлы и записи после удаления продуктов в WooCommerce
26.05.2026
×
День SEO
Время сделать подарок своему WordPress!
-20% на премиум

шаблоны и плагины

Порадуй свой сайт ⋙