Мета-описание (meta description) играет важную роль в SEO и привлечении пользователей из поисковых систем. Для сайтов на WordPress часто требуется гибко и автоматически изменять мета-описание страниц и записей, чтобы улучшить CTR и релевантность выдачи.
Почему важно автоматическое изменение мета-описания
Ручное заполнение мета-описаний для всех страниц становится неудобным и трудоемким, особенно для больших сайтов. Автоматизация позволяет:
- Экономить время при публикации контента.
- Избежать дублирования описаний.
- Динамически учитывать изменения контента на странице.
- Улучшить SEO за счет более релевантных описаний.
Например, для интернет-магазина можно автоматически вставлять название товара, цену и ключевые характеристики в мета-описание.
Основные способы автоматического изменения мета-описания в WordPress
Использование SEO-плагинов с динамическими шаблонами
Самый простой способ — использовать популярные SEO-плагины, которые поддерживают шаблоны для мета-описаний:
- Yoast SEO — позволяет задать шаблон, например:
%%title%% – Купить по выгодной цене на wp-kurs.ru. - All in One SEO Pack — аналогично, поддерживает переменные для динамического заполнения.
- Clearfy Pro — оптимизация SEO с возможностью гибко настраивать мета-теги.
Преимущество — не требует программирования, легко настраивается в админке.
Автоматическое изменение мета-описания через код в functions.php
Если нужен более гибкий и уникальный подход, можно написать собственный код, который будет изменять мета-описание динамически в зависимости от условий.
Добавьте следующий пример в файл functions.php вашей темы или в собственный плагин:
function wp_kurs_dynamic_meta_description() {
if (is_singular('post')) {
global $post;
$custom_description = get_post_meta($post->ID, '_wp_kurs_custom_meta_desc', true);
if ($custom_description) {
echo '<meta name="description" content="' . esc_attr($custom_description) . '" />';
} else {
$excerpt = wp_trim_words(strip_tags($post->post_content), 25);
echo '<meta name="description" content="' . esc_attr($excerpt) . '" />';
}
} elseif (is_home() || is_front_page()) {
echo '<meta name="description" content="Добро пожаловать на wp-kurs.ru — полезные статьи и руководства по WordPress." />';
}
}
add_action('wp_head', 'wp_kurs_dynamic_meta_description');Этот код проверяет, есть ли у записи пользовательское поле с мета-описанием, и если нет — формирует краткое описание из первых 25 слов контента. Для главной страницы выводится статичное описание.
Как добавить пользовательское поле для мета-описания в админке
Чтобы добавить удобный интерфейс для заполнения пользовательского мета-описания, используйте следующий пример с мета-боксом:
function wp_kurs_add_meta_box() {
add_meta_box('wp_kurs_meta_desc_box', 'Мета-описание', 'wp_kurs_meta_desc_box_callback', 'post', 'normal', 'high');
}
add_action('add_meta_boxes', 'wp_kurs_add_meta_box');
function wp_kurs_meta_desc_box_callback($post) {
wp_nonce_field('wp_kurs_save_meta_desc', 'wp_kurs_meta_desc_nonce');
$value = get_post_meta($post->ID, '_wp_kurs_custom_meta_desc', true);
echo '<textarea style="width:100%;" rows="4" name="wp_kurs_custom_meta_desc">' . esc_textarea($value) . '</textarea>';
}
function wp_kurs_save_meta_desc($post_id) {
if (!isset($_POST['wp_kurs_meta_desc_nonce']) || !wp_verify_nonce($_POST['wp_kurs_meta_desc_nonce'], 'wp_kurs_save_meta_desc')) {
return;
}
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (isset($_POST['wp_kurs_custom_meta_desc'])) {
update_post_meta($post_id, '_wp_kurs_custom_meta_desc', sanitize_text_field($_POST['wp_kurs_custom_meta_desc']));
}
}
add_action('save_post', 'wp_kurs_save_meta_desc');Так вы сможете вручную задавать мета-описание для каждой записи, а если поле пустое — сработает автоматический вариант из предыдущего раздела.
Рекомендации по оптимизации мета-описаний
При создании мета-описаний учитывайте следующие правила:
- Длина должна быть около 120-160 символов, чтобы полностью отображаться в поиске.
- Используйте ключевые слова, релевантные содержанию страницы.
- Избегайте дублирования описаний на разных страницах.
- Пишите привлекательный и информативный текст, стимулирующий переход.
Если используете плагины, например, Clearfy Pro или Yoast, они помогают контролировать эти аспекты.
Автоматическое изменение мета-описаний для таксономий и архивов
Для страниц категорий, меток и архивов также полезно динамически задавать мета-описания. Пример кода для категорий:
function wp_kurs_meta_description_category() {
if (is_category()) {
$category = get_queried_object();
if ($category->description) {
$desc = strip_tags($category->description);
} else {
$desc = 'Статьи категории ' . $category->name . ' на wp-kurs.ru';
}
echo '<meta name="description" content="' . esc_attr($desc) . '" />';
}
}
add_action('wp_head', 'wp_kurs_meta_description_category');Аналогично можно расширить для архивов по дате, автору и другим таксономиям.
Плагины для более продвинутого управления мета-описаниями
Если нужны более сложные сценарии (например, на основе пользовательских полей, условий или данных из сторонних API), обратите внимание на плагины:
- Clearfy Pro — многофункциональный плагин для оптимизации и SEO.
- WPRemark — для автоматического обновления и управления контентом.
Эти инструменты позволяют создавать гибкие правила и шаблоны для мета-тегов без глубоких знаний программирования.