Оптимизация метаданных SEO — title и description — важный элемент продвижения сайта на WordPress. Однако вручную менять эти данные для каждой записи неудобно и долго. В этой статье рассмотрим, как автоматизировать процесс изменения метаданных SEO для записей WordPress с помощью кода и популярных плагинов, а также поделимся практическими примерами.
Зачем нужно автоматическое изменение метаданных SEO?
Метаданные — это то, что видят поисковые системы и пользователи в результатах поиска. Правильный title и description повышают кликабельность и улучшают ранжирование. Но если сайт содержит сотни или тысячи записей, ручное редактирование становится невозможным. Автоматизация позволяет:
- Поддерживать консистентность метаданных на сайте.
- Автоматически добавлять ключевые слова и шаблоны для разных типов записей.
- Экономить время на SEO-оптимизации.
- Обновлять метаданные при изменении контента.
Рассмотрим, как это реализовать.
Автоматическое изменение метаданных SEO через функции WordPress
Использование фильтра wpbit_filter_seo_metadata для генерации title и description
Для примера создадим функцию, которая динамически формирует метаданные на основе заголовка записи и категории. Подключим её к фильтру wp_head, чтобы выводить в <head> нужные теги.
function wpbit_generate_seo_metadata() {
if (is_singular('post')) {
global $post;
$title = get_the_title($post);
$categories = get_the_category($post->ID);
$cat_names = [];
if (!empty($categories)) {
foreach ($categories as $cat) {
$cat_names[] = $cat->name;
}
}
$description = wp_trim_words($post->post_content, 25, '...');
// Формируем title
$seo_title = $title . ' | ' . implode(', ', $cat_names) . ' - WPBit.ru';
// Выводим метатеги
echo "<title>" . esc_html($seo_title) . "</title>\n";
echo "<meta name=\"description\" content=\"" . esc_attr($description) . "\" />\n";
}
}
add_action('wp_head', 'wpbit_generate_seo_metadata');
Эта функция динамически формирует title из заголовка и категорий, а description — из первых 25 слов записи. Такой подход подходит для сайтов с большим количеством постов, где шаблонная SEO-заготовка актуальна.
Расширение функционала: условные метаданные для разных типов записей
Добавим логику для разных типов контента, например, для страниц и кастомных типов записей:
function wpbit_advanced_seo_metadata() {
if (is_singular()) {
global $post;
$post_type = get_post_type($post);
$title = get_the_title($post);
$description = wp_trim_words($post->post_content, 30, '...');
switch ($post_type) {
case 'post':
$categories = get_the_category($post->ID);
$cats = [];
if (!empty($categories)) {
foreach ($categories as $cat) {
$cats[] = $cat->name;
}
}
$seo_title = $title . ' | ' . implode(', ', $cats) . ' - WPBit.ru';
break;
case 'page':
$seo_title = $title . ' - WPBit.ru';
break;
case 'product':
$seo_title = $title . ' - Лучшие товары на WPBit.ru';
break;
default:
$seo_title = $title . ' - WPBit.ru';
}
echo "<title>" . esc_html($seo_title) . "</title>\n";
echo "<meta name=\"description\" content=\"" . esc_attr($description) . "\" />\n";
}
}
remove_action('wp_head', 'wpbit_generate_seo_metadata');
add_action('wp_head', 'wpbit_advanced_seo_metadata');
Такая функция позволяет гибко управлять SEO-тегами для любых типов контента, что особенно полезно при использовании кастомных типов записей.
Использование плагинов для автоматического управления SEO метаданными
Yoast SEO и его возможности для шаблонов метаданных
Плагин Yoast SEO позволяет создавать шаблоны для title и description, которые автоматически подставляются для всех записей, страниц и архивов.
Настройка происходит в разделе SEO → Внешний вид поиска. Там можно задать шаблоны с переменными, например:
%%title%% | %%category%% - WPBit.ru— для записей.%%title%% - WPBit.ru— для страниц.
Плюсы плагина — удобный интерфейс и богатый функционал для SEO без необходимости писать код.
Clearfy Pro и автоматизация SEO
Плагин Clearfy Pro способен оптимизировать метаданные, очищать лишние теги и управлять SEO автоматически. Он также позволяет добавлять дополнительные фильтры для метаданных через код.
Практические советы и рекомендации
Как протестировать автоматическое изменение метаданных
После добавления кода или установки плагина важно проверить, что метаданные выводятся корректно:
- Откройте исходный код страницы (Ctrl+U) и проверьте наличие правильных
<title>и<meta name="description">. - Используйте инструменты для веб-мастеров Google Search Console и Яндекс.Вебмастер.
- Проверьте, что нет дублирующихся или пустых метатегов.
Как избежать конфликтов с другими SEO-плагинами
Если на сайте уже установлен SEO-плагин (Yoast, Rank Math и др.), отключите автоматический вывод метаданных в вашем коде, чтобы не было дублирования тегов. Для этого можно условно проверять, активен ли плагин, или не использовать свои функции, если плагин уже выводит метаданные.
Дополнительные примеры расширения функционала
Можно добавить автоматическое добавление Open Graph тегов и Twitter Cards для соцсетей, используя похожий подход:
function wpbit_add_open_graph_tags() {
if (is_singular()) {
global $post;
$title = get_the_title($post);
$description = wp_trim_words($post->post_content, 25, '...');
$url = get_permalink($post);
$thumbnail = get_the_post_thumbnail_url($post, 'full');
echo "<meta property=\"og:title\" content=\"" . esc_attr($title) . "\" />\n";
echo "<meta property=\"og:description\" content=\"" . esc_attr($description) . "\" />\n";
echo "<meta property=\"og:url\" content=\"" . esc_url($url) . "\" />\n";
if ($thumbnail) {
echo "<meta property=\"og:image\" content=\"" . esc_url($thumbnail) . "\" />\n";
}
}
}
add_action('wp_head', 'wpbit_add_open_graph_tags');
Это поможет улучшить видимость сайта при шаринге ссылок в соцсетях.
Заключение
Автоматизация метаданных SEO — мощный инструмент для ускорения продвижения сайта на WordPress. Сочетание простых функций с фильтрами и проверенными плагинами (Yoast SEO, Clearfy Pro) позволяет легко управлять большими сайтами. Используйте приведённые примеры кода для своих проектов и адаптируйте под задачи.