Как создать динамический meta title в WordPress с примерами кода

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

Почему важен динамический meta title в WordPress

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

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

Например, для записи блога можно сделать заголовок вида: «Название записи — Название сайта», а для страницы категории — «Категория: Название категории — Название сайта».

Такой подход улучшает SEO и помогает посетителям лучше ориентироваться на сайте.

Создание динамического meta title через functions.php

Самый простой способ — использовать фильтр wp_title или более современный pre_get_document_title. Рассмотрим пример функции для динамического формирования заголовка, которую можно добавить в файл functions.php вашей темы:

function wp8_dynamic_meta_title($title) {
    if (is_home() || is_front_page()) {
        return get_bloginfo('name') . ' — Главная страница';
    } elseif (is_single()) {
        $post_title = get_the_title();
        return $post_title . ' — ' . get_bloginfo('name');
    } elseif (is_category()) {
        $cat = single_cat_title('', false);
        return 'Категория: ' . $cat . ' — ' . get_bloginfo('name');
    } elseif (is_tag()) {
        $tag = single_tag_title('', false);
        return 'Метка: ' . $tag . ' — ' . get_bloginfo('name');
    } elseif (is_author()) {
        $author = get_the_author();
        return 'Автор: ' . $author . ' — ' . get_bloginfo('name');
    } elseif (is_search()) {
        $search = get_search_query();
        return 'Результаты поиска по: ' . $search . ' — ' . get_bloginfo('name');
    } elseif (is_404()) {
        return 'Страница не найдена — ' . get_bloginfo('name');
    }
    return $title;
}
add_filter('pre_get_document_title', 'wp8_dynamic_meta_title');

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

Использование плагинов для динамического meta title

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

Рассмотрим два популярных решения:

  • Yoast SEO — самый популярный SEO-плагин для WordPress. Позволяет создавать шаблоны заголовков и описаний для разных типов страниц прямо в настройках. Например, можно задать шаблон %%title%% — %%sitename%%, и плагин будет автоматически подставлять нужные значения.
  • Clearfy Pro — плагин для оптимизации и управления SEO, включает возможность тонкой настройки заголовков и отключения лишних тегов. Подходит для опытных пользователей, которые хотят контролировать все аспекты SEO.

Для примера настроек Yoast SEO:

  1. Установите и активируйте плагин.
  2. Перейдите в SEO > Внешний вид поиска.
  3. Вкладка «Типы записей» позволяет задать шаблоны для записей, страниц и других типов.
  4. Например, для записей в поле «Шаблон заголовка» введите %%title%% — %%sitename%%.
  5. Сохраните изменения.

Динамический meta title для Custom Post Types и таксономий

Если на сайте используются кастомные типы записей (Custom Post Types, CPT) и таксономии, нужно расширить функцию динамического заголовка или настроить шаблоны в плагинах.

Пример расширения функции для CPT product и таксономии product_cat:

function wp8_dynamic_meta_title_cpt($title) {
    if (is_singular('product')) {
        return get_the_title() . ' — Каталог товаров — ' . get_bloginfo('name');
    } elseif (is_tax('product_cat')) {
        $term = get_queried_object();
        return 'Категория товаров: ' . $term->name . ' — ' . get_bloginfo('name');
    }
    return $title;
}
add_filter('pre_get_document_title', 'wp8_dynamic_meta_title_cpt', 20);

Важно указывать приоритет фильтра (здесь 20), чтобы функция сработала после основной.

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

При создании динамических meta title учитывайте следующие моменты:

  • Уникальность: Каждый заголовок должен быть уникальным для каждой страницы, чтобы избежать дублирования.
  • Длина: Оптимальная длина заголовка — 50–60 символов, чтобы он полностью отображался в поисковой выдаче.
  • Ключевые слова: Включайте релевантные ключевые слова, но без перенасыщения.
  • Структура: Используйте читаемую и логичную структуру, например, Название записи — Категория — Название сайта.
  • Проверка: Проверяйте результат через инструменты типа Google Search Console и SEO анализаторы.

Заключение

Динамическое формирование meta title в WordPress — важный этап для улучшения SEO и удобства пользователей. Вы можете реализовать его как с помощью собственного кода в functions.php, так и применяя популярные SEO-плагины, например, Yoast SEO или Clearfy Pro.

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

Руководство по созданию собственного REST API в WordPress
11.11.2025
Оптимизация базы данных WordPress: эффективные методы и примеры кода
06.11.2025
WooCommerce: как отключить автологин после регистрации пользователя
17.05.2026
Оптимизация загрузки шаблонов WordPress: уменьшение времени отклика и потребления ресурсов
24.12.2025
Как создать собственный виджет в WordPress с примерами кода
09.01.2026