Метаданные, которые показываются в сниппетах поисковых систем, — это важный элемент привлечения внимания пользователей и улучшения кликабельности вашего сайта. В WordPress по умолчанию используются заголовки, описания и другие данные, которые иногда необходимо изменить для оптимального SEO и маркетинга. В этой статье мы разберем, как изменить метаданные, отображаемые в сниппетах, на конкретных примерах, включая использование плагинов и кастомных функций.
Что такое метаданные сниппета и зачем их менять
Сниппет — это часть результата поиска, которая видна пользователю: заголовок, URL и описание. Метаданные сниппета — это заголовок страницы (title), мета-описание (meta description), а также дополнительные данные, например, микроразметка (schema.org), которые помогают поисковикам показать более информативный результат.
По умолчанию WordPress формирует title из заголовка поста или страницы и meta description из текста или специально заданного фрагмента. Но эти значения часто не оптимальны для SEO или маркетинга: описание может быть слишком длинным, нерелевантным, или отсутствовать.
Изменение метаданных дает возможность:
- Улучшить CTR (кликабельность) сниппета;
- Увеличить релевантность ключевых слов;
- Добавить структурированные данные для расширенных результатов;
- Избежать дублирования мета-тегов на сайте.
Как изменить title и meta description с помощью плагинов
Самый простой способ — использовать SEO-плагины, которые позволяют задавать мета-теги вручную для каждой страницы и поста, а также автоматически формировать их по шаблонам.
Yoast SEO
Один из самых популярных SEO-плагинов. Позволяет задавать title и description в редакторе записи. Также поддерживает шаблоны, например, %%title%% | %%sitename%%.
Пример настройки для поста:
- Откройте редактор поста;
- Прокрутите до блока Yoast SEO;
- В поля "SEO-заголовок" и "Мета-описание" введите желаемые значения;
- Сохраните изменения.
Плагин автоматически добавит эти метаданные в <head> сайта.
All in One SEO Pack
Альтернативный SEO-плагин, который тоже позволяет гибко управлять метаданными. Есть возможность массово задать шаблоны и вручную настраивать мета-теги для каждой записи.
Изменение метаданных сниппетов программно
Если нужны кастомные решения, можно реализовать изменение мета-тегов через добавление кода в файл functions.php вашей темы или в собственный плагин.
Изменение title с помощью фильтра wp_title
Фильтр wp_title позволяет изменить заголовок страницы:
function wpabout_change_wp_title($title) {
if (is_singular('post')) {
$custom_title = 'Статья: ' . get_the_title();
return $custom_title;
}
return $title;
}
add_filter('wp_title', 'wpabout_change_wp_title');
Этот код добавляет префикс «Статья:» к заголовку записи.
Добавление meta description через wp_head
Чтобы добавить или изменить описание, можно использовать хук wp_head:
function wpabout_add_meta_description() {
if (is_singular()) {
global $post;
$description = get_post_meta($post->ID, '_wpabout_meta_description', true);
if (!$description) {
$description = wp_trim_words(strip_tags($post->post_content), 25);
}
echo '<meta name="description" content="' . esc_attr($description) . '">';
}
}
add_action('wp_head', 'wpabout_add_meta_description');
Здесь мы пытаемся получить мета-поле _wpabout_meta_description, если оно отсутствует — берем первые 25 слов из текста поста.
Создание поля для мета-описания в админке
Чтобы задать описание вручную, добавим метабокс:
function wpabout_add_meta_box() {
add_meta_box('wpabout_meta_desc', 'Мета-описание для сниппета', 'wpabout_meta_box_callback', 'post');
}
add_action('add_meta_boxes', 'wpabout_add_meta_box');
function wpabout_meta_box_callback($post) {
wp_nonce_field('wpabout_save_meta_box_data', 'wpabout_meta_box_nonce');
$value = get_post_meta($post->ID, '_wpabout_meta_description', true);
echo '<textarea style="width:100%;" rows="4" name="wpabout_meta_description">' . esc_textarea($value) . '</textarea>';
}
function wpabout_save_meta_box_data($post_id) {
if (!isset($_POST['wpabout_meta_box_nonce']) || !wp_verify_nonce($_POST['wpabout_meta_box_nonce'], 'wpabout_save_meta_box_data')) {
return;
}
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (isset($_POST['wpabout_meta_description'])) {
update_post_meta($post_id, '_wpabout_meta_description', sanitize_textarea_field($_POST['wpabout_meta_description']));
}
}
add_action('save_post', 'wpabout_save_meta_box_data');
Теперь в админке у каждой записи появится поле для ввода мета-описания, которое потом выводится в <head>.
Добавление структурированных данных для сниппетов
Микроразметка (schema.org) позволяет поисковикам показывать расширенные сниппеты с рейтингами, ценами, авторством и другим. Это улучшает видимость и может повысить CTR.
Пример добавления микроразметки JSON-LD для статьи
function wpabout_add_jsonld_schema() {
if (is_singular('post')) {
global $post;
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => get_the_title($post),
'author' => [
'@type' => 'Person',
'name' => get_the_author_meta('display_name', $post->post_author),
],
'datePublished' => get_the_date('c', $post),
'dateModified' => get_the_modified_date('c', $post),
'publisher' => [
'@type' => 'Organization',
'name' => get_bloginfo('name'),
],
];
echo '<script type="application/ld+json">' . wp_json_encode($schema) . '</script>';
}
}
add_action('wp_head', 'wpabout_add_jsonld_schema');
Этот код вставит в <head> JSON-LD с базовой информацией о статье.
Рекомендации по выбору плагинов и доработке метаданных
Если нужно быстро настроить SEO, лучше использовать проверенные плагины, такие как Yoast SEO или All in One SEO Pack. Они покрывают большинство задач без программирования.
Если же у вас уникальные требования, например, динамическое формирование описаний или интеграция с внутренними сервисами, можно использовать приведённые коды в статье как отправную точку для своих решений.
Также полезно сочетать метаданные с инструментами оптимизации, такими как Clearfy Pro, которые помогут убрать лишние теги, оптимизировать скорость загрузки и улучшить индексацию.