Meta title — один из ключевых элементов SEO и удобства пользователей, который отображается в заголовке вкладки браузера и в результатах поисковых систем. В WordPress по умолчанию заголовки страниц формируются на основе шаблонов темы и настроек, но часто требуется более гибкое, динамическое управление title для разных типов страниц: архивов, записей, категорий, пользовательских типов записей и так далее.
Почему важно использовать динамический meta title в WordPress
Стандартные заголовки, которые генерируются автоматически, часто не дают полного контроля над тем, как именно выглядит title для каждой страницы. Это может привести к повторяющимся или неполным заголовкам, что негативно скажется на SEO и кликабельности в поисковой выдаче.
Динамические meta title позволяют:
- Автоматически подставлять в заголовок уникальные данные страницы, например, название категории, тегов, даты публикации и т.д.
- Менять структуру заголовка для разных типов страниц (главная, архив, одиночная запись, страница и т.п.).
- Добавлять ключевые слова и брендинг сайта без дублирования информации.
В результате сайт становится более релевантным для поисковых систем и понятнее для пользователей.
Как создать динамический meta title с помощью кода в functions.php
Самый гибкий способ — написать собственную функцию, которая будет менять заголовок в зависимости от условий. Для этого используйте фильтр document_title_parts, который доступен с WordPress 4.4 и выше.
Пример функции, которая формирует title в стиле: "Название записи - Категория - Название сайта":
function wpload_dynamic_meta_title($title_parts) {
if (is_singular('post')) { // для одиночных записей
$categories = get_the_category();
if (!empty($categories)) {
$title_parts['title'] = get_the_title();
$title_parts['tagline'] = $categories[0]->name; // первая категория
$title_parts['site'] = get_bloginfo('name');
}
} elseif (is_category()) { // архив категории
$category = get_queried_object();
$title_parts['title'] = 'Статьи в категории "' . $category->name . '"';
$title_parts['site'] = get_bloginfo('name');
} elseif (is_home() || is_front_page()) { // главная
$title_parts['title'] = get_bloginfo('name');
$title_parts['tagline'] = get_bloginfo('description');
}
return $title_parts;
}
add_filter('document_title_parts', 'wpload_dynamic_meta_title');
Этот код можно добавить в файл functions.php вашей темы или в свой плагин. Он проверяет тип страницы и формирует заголовок с нужными частями.
Использование плагинов для управления meta title
Если хотите сделать настройку удобнее, можно использовать популярные SEO-плагины с возможностью динамического формирования title:
- Clearfy Pro — плагин, который кроме оптимизации и очистки WordPress, позволяет управлять заголовками, добавлять шаблоны для title с переменными.
- WPCommunity SEO — дополнение для сообществ и блогов с гибкой настройкой метаданных.
- WPRemark — плагин для расширенного SEO, где можно быстро задать динамические заголовки.
Все эти плагины позволяют задавать шаблоны с переменными, например, %post_title%, %category%, %site_name%, что упрощает создание уникальных meta title.
Как проверить и отладить динамические meta title
После добавления кода или настройки плагина важно проверить, что в заголовках действительно отображается нужная информация:
- Откройте разные страницы сайта и посмотрите заголовок вкладки браузера.
- Используйте инструменты разработчика (Chrome DevTools) — в разделе <head> ищите тег <title>.
- Проверьте исходный код страницы (Ctrl+U) и убедитесь, что title корректен.
- Для SEO-анализа используйте сервисы вроде SerpChecker или GTmetrix.
Если заголовки не меняются, проверьте, не переопределяет ли их ваша тема или другие плагины. В этом случае может понадобиться настройка приоритета фильтра или отключение конфликтующих плагинов.
Примеры расширенного использования: динамические title для пользовательских типов записей и таксономий
Для сайтов с пользовательскими типами записей (Custom Post Types) и таксономиями также можно создать уникальные заголовки. Например, для типа записи "product":
function wpload_dynamic_meta_title_cpt($title_parts) {
if (is_singular('product')) {
$title_parts['title'] = get_the_title() . ' – купить по выгодной цене';
$title_parts['site'] = get_bloginfo('name');
} elseif (is_tax('product_cat')) {
$term = get_queried_object();
$title_parts['title'] = 'Категория товаров: ' . $term->name;
$title_parts['site'] = get_bloginfo('name');
}
return $title_parts;
}
add_filter('document_title_parts', 'wpload_dynamic_meta_title_cpt', 20);
Так вы сможете создавать уникальные заголовки для каждого типа контента, что положительно скажется на SEO и пользовательском опыте.
Выводы и рекомендации
Динамические meta title в WordPress — это эффективный способ повысить качество SEO и удобство сайта. Рекомендуется:
- Использовать фильтр
document_title_partsдля гибкой настройки заголовков через код. - Подключать SEO-плагины с поддержкой шаблонов для упрощения управления.
- Тестировать все изменения, чтобы избежать дублирования и ошибок.
- Создавать отдельные правила для разных типов страниц и пользовательских типов записей.
Внедрив эти решения, вы обеспечите своему сайту на WordPress конкурентные преимущества в поисковой выдаче и улучшите навигацию для посетителей.