В современном SEO важную роль играют метаданные — title, description, ключевые слова и другие теги, которые помогают поисковым системам лучше понимать содержимое страниц. В WordPress стандартные метаданные зачастую статичны и не всегда отражают актуальное содержимое, особенно на динамических страницах или при использовании пользовательских типов записей.
Почему важны динамические метаданные в WordPress
Статические метаданные не учитывают изменения контента, пользовательские фильтры, пагинацию и другие параметры, что может негативно сказаться на индексации и ранжировании сайта. Динамические метаданные позволяют автоматически подстраиваться под контент страницы и улучшить релевантность в выдаче.
Например, если у вас магазин на WooCommerce, то title и description товара должны содержать уникальные данные о товаре, а для категории — информацию о текущей странице и фильтрах.
В результате динамические метаданные повышают CTR из поисковых систем и улучшают поведенческие факторы.
Как реализовать динамические метаданные в WordPress с примерами кода
Для добавления динамических метаданных мы будем использовать хуки WordPress wp_head и document_title_parts. Ниже приведён пример функции для генерации динамического title и description.
function wpqa_dynamic_meta_tags() {
if (is_singular()) {
global $post;
$title = get_the_title($post);
$description = get_post_meta($post->ID, '_yoast_wpseo_metadesc', true);
if (!$description) {
$description = wp_trim_words(strip_tags($post->post_content), 25);
}
echo '<title>' . esc_html($title) . '</title>\n';
echo '<meta name="description" content="' . esc_attr($description) . '" />\n';
} elseif (is_category()) {
$cat = get_queried_object();
$title = 'Категория: ' . $cat->name;
$description = category_description($cat);
echo '<title>' . esc_html($title) . '</title>\n';
echo '<meta name="description" content="' . esc_attr(strip_tags($description)) . '" />\n';
} else {
// Для остальных страниц можно задать базовые метаданные
echo '<title>' . get_bloginfo('name') . '</title>\n';
echo '<meta name="description" content="' . get_bloginfo('description') . '" />\n';
}
}
add_action('wp_head', 'wpqa_dynamic_meta_tags');Этот код выводит title и description в <head> в зависимости от типа страницы. Для записи берется заголовок и метаописание Yoast SEO, если оно есть, иначе создаётся описание из первых 25 слов контента. Для категории — название и описание категории.
Динамические метаданные для WooCommerce
Если у вас интернет-магазин, то важно сделать метаданные для товара и категорий максимально информативными.
function wpqa_woocommerce_dynamic_meta() {
if (is_product()) {
global $product;
$title = $product->get_name() . ' - Купить с доставкой';
$description = $product->get_short_description();
echo '<title>' . esc_html($title) . '</title>\n';
echo '<meta name="description" content="' . esc_attr(wp_strip_all_tags($description)) . '" />\n';
} elseif (is_product_category()) {
$term = get_queried_object();
$title = 'Категория товаров: ' . $term->name;
$description = term_description($term);
echo '<title>' . esc_html($title) . '</title>\n';
echo '<meta name="description" content="' . esc_attr(strip_tags($description)) . '" />\n';
}
}
add_action('wp_head', 'wpqa_woocommerce_dynamic_meta');Этот пример выводит для товаров уникальный title с добавкой «Купить с доставкой» и описание из короткого описания товара. Для категории — название и описание категории товаров.
Плагины для динамических метаданных: обзор и советы
Если вы не хотите писать код, есть готовые решения для динамических метаданных.
- Yoast SEO — самый популярный SEO плагин, который позволяет настраивать шаблоны для title и description с помощью переменных (%%title%%, %%category%% и др.). Позволяет автоматизировать создание метаданных на всех типах страниц.
- All in One SEO Pack — альтернатива Yoast с похожими функциями динамического формирования метаданных.
- Clearfy Pro — плагин оптимизации, в том числе может помочь в автоматизации и оптимизации метаданных, улучшая SEO без лишней нагрузки.
Если хотите гибко управлять метаданными на уровне кода, комбинируйте плагины с собственными функциями, чтобы получить лучший результат.
Учитываем пагинацию и фильтры в динамических метаданных
При работе с архивами, категориями и страницами с фильтрами очень важно учитывать пагинацию, иначе поисковики увидят дублированные метаданные, что плохо для SEO.
Для этого нужно добавлять в title и description суффиксы с номером страницы:
function wpqa_add_pagination_to_meta() {
if (is_paged()) {
global $paged;
echo '<title>' . wp_get_document_title() . ' – Страница ' . $paged . '</title>\n';
echo '<meta name="description" content="Страница ' . $paged . '" />\n';
}
}
add_action('wp_head', 'wpqa_add_pagination_to_meta', 11);Также для фильтров (например, по цвету, размеру) можно использовать параметры URL и включать их в метаданные, чтобы каждая вариация имела уникальные теги.
Пример для фильтра WooCommerce
function wpqa_woocommerce_filter_meta() {
if (is_product_category()) {
$filters = [];
if (isset($_GET['filter_color'])) {
$filters[] = 'Цвет: ' . sanitize_text_field($_GET['filter_color']);
}
if (isset($_GET['filter_size'])) {
$filters[] = 'Размер: ' . sanitize_text_field($_GET['filter_size']);
}
if ($filters) {
echo '<meta name="description" content="Фильтры: ' . esc_attr(implode(', ', $filters)) . '" />\n';
}
}
}
add_action('wp_head', 'wpqa_woocommerce_filter_meta', 12);Такой подход поможет избежать дублей и улучшить индексацию.
Как проверить корректность динамических метаданных
После внедрения динамических метаданных важно проверить их корректность:
- Используйте инструмент Google Search Console — раздел «Просмотр как Google».
- Проверьте исходный код страницы через браузер (Ctrl+U), убедитесь, что теги title и meta description меняются в зависимости от страницы.
- Проверьте валидность метатегов через сервисы типа W3C Validator.
При необходимости скорректируйте код или настройки плагина.
Заключение
Динамические метаданные — важный инструмент для улучшения SEO на WordPress сайтах. Их можно реализовать как с помощью кода, так и через плагины. Важно учитывать тип страницы, пагинацию, фильтры и особенности контента, чтобы метаданные были уникальными и релевантными.
Если вам нужна дополнительная помощь с оптимизацией метаданных или другими задачами WordPress, обратите внимание на плагины с wpshop.ru, например, Clearfy Pro — он отлично помогает с SEO-оптимизацией и автоматизацией.