Правильная настройка мета-тегов в WordPress — одна из важнейших задач для SEO и удобства пользователей. Часто стандартных возможностей темы или плагинов бывает недостаточно, особенно если нужно динамически менять мета-теги в зависимости от контекста страницы, категории, пользовательских полей или других условий. В этой статье разберём, как автоматически и гибко управлять мета-тегами (title, description, keywords) с помощью кода и плагинов, а также рассмотрим примеры решений для низкочастотных запросов.
Почему важно динамически менять мета-теги
Мета-теги — это первое, что видят поисковые системы и социальные сети. Статичные теги, прописанные в шаблоне, часто не отражают содержимое каждой конкретной страницы, что снижает эффективность SEO и привлекательность сниппетов в выдаче. Динамическое изменение позволяет:
- Уникализировать заголовки и описания для каждой записи, страницы или таксономии;
- Добавлять в description актуальную информацию из пользовательских полей;
- Изменять ключевые слова в зависимости от темы контента;
- Улучшить CTR за счёт релевантных и привлекательных описаний;
- Автоматизировать работу с SEO без постоянного ручного редактирования.
Использование плагинов для динамических мета-тегов
Существуют плагины, которые помогают управлять мета-тегами, но не всегда они покрывают все задачи и требуют настройки. Рассмотрим два популярных варианта и как с ними работать.
Yoast SEO
Плагин Yoast SEO позволяет настраивать шаблоны для title и description с использованием переменных (например, %%title%%, %%excerpt%%, %%category%%). Это удобно, но иногда не хватает гибкости для сложных условий.
Пример шаблона для записи: %%title%% - %%category%% | Название сайта
Для расширения возможностей можно использовать фильтры Yoast, например, wp-kurs_wpseo_title и wp-kurs_wpseo_metadesc, чтобы программно менять мета-теги.
Clearfy Pro
Clearfy Pro не только оптимизирует сайт, но и позволяет гибко управлять SEO-мета, включая возможность добавлять условия и исключения для разных типов контента. Поддержка динамических тегов и кастомных полей помогает создавать уникальные описания.
Подробнее и скачать: Clearfy Pro на WPSHOP
Как программно менять мета-теги в WordPress
Если нужен полный контроль, лучше писать код. Ниже пример, как динамически менять title и description в зависимости от типа записи и пользовательских полей.
add_filter('wp-kurs_wpseo_title', 'wp_kurs_dynamic_wpseo_title');
function wp_kurs_dynamic_wpseo_title($title) {
if (is_singular('post')) {
$custom_field = get_post_meta(get_the_ID(), 'seo_custom_title', true);
if (!empty($custom_field)) {
return $custom_field . ' | ' . get_bloginfo('name');
}
}
return $title;
}
add_filter('wp-kurs_wpseo_metadesc', 'wp_kurs_dynamic_wpseo_metadesc');
function wp_kurs_dynamic_wpseo_metadesc($desc) {
if (is_singular('post')) {
$custom_desc = get_post_meta(get_the_ID(), 'seo_custom_desc', true);
if (!empty($custom_desc)) {
return wp_strip_all_tags($custom_desc);
}
return wp_trim_words(get_the_excerpt(), 25);
}
return $desc;
}
Этот код использует фильтры Yoast SEO, но вы можете адаптировать его под другие плагины или чистый WordPress, добавляя мета-теги через хук wp_head.
Добавление мета-тегов через хук wp_head без плагинов
Если вы не используете SEO-плагины, можно вставлять мета-теги вручную:
add_action('wp_head', 'wp_kurs_custom_meta_tags');
function wp_kurs_custom_meta_tags() {
if (is_singular('post')) {
$title = get_the_title() . ' | ' . get_bloginfo('name');
$description = get_post_meta(get_the_ID(), 'seo_custom_desc', true);
if (empty($description)) {
$description = wp_trim_words(get_the_excerpt(), 30);
}
echo '<title>' . esc_html($title) . '</title>\n';
echo '<meta name="description" content="' . esc_attr($description) . '" />\n';
}
}
Важно выводить мета-теги только на нужных страницах и избегать дублирования, если используется SEO-плагин.
Использование пользовательских полей для SEO
Для динамики хорошо создавать пользовательские поля, например, seo_custom_title и seo_custom_desc, которые редактор или пользователь может заполнять в админке. Это позволяет вручную корректировать мета-теги для важных страниц, одновременно сохраняя автоматическую генерацию для остальных.
Для удобства создания и управления такими полями рекомендуются плагины Advanced Custom Fields (ACF) или Meta Box.
Пример добавления пользовательских полей с ACF
1. Установите и активируйте ACF.
2. Создайте группу полей с двумя текстовыми полями: seo_custom_title и seo_custom_desc, применяемую к записям.
3. Используйте код из предыдущих разделов для вывода этих значений в мета-тегах.
Советы по оптимизации и проверке
- Проверяйте уникальность мета-тегов для каждой страницы.
- Используйте длину описания от 120 до 160 символов для максимальной эффективности.
- Избегайте дублирования тегов, особенно если используете несколько плагинов SEO.
- Тестируйте результат с помощью инструментов Google Search Console и других SEO-сервисов.
- Следите за корректным выводом тегов в исходном коде страницы (через просмотр кода браузера).
Заключение
Динамическое изменение мета-тегов в WordPress — мощный инструмент для улучшения SEO и пользовательского опыта. Комбинация плагинов и кастомного кода даёт максимальную гибкость. Используйте фильтры SEO-плагинов, создавайте пользовательские поля и проверяйте результат. Для расширенных возможностей рассмотрите Clearfy Pro, который интегрируется с другими инструментами на WPSHOP.