В WordPress существует множество способов контролировать отображение страниц и постов, и один из эффективных методов — использование meta-заголовков (meta tags). Они помогают улучшить SEO, задавать поведение поисковых систем и браузеров, а также управлять внешним видом страниц в социальных сетях. В этой статье разберём, как правильно добавлять и использовать meta-заголовки в WordPress, рассмотрим примеры реализации через код и популярные плагины, а также расскажем, как избежать типичных ошибок.
Что такое meta-заголовки и зачем они нужны в WordPress
Meta-заголовки — это специальные теги внутри <head> HTML-документа, которые не отображаются на странице, но несут важную информацию для браузеров и поисковых систем. Самый известный meta-заголовок — <title>, который задаёт заголовок вкладки браузера и является основным элементом для SEO.
Кроме <title> существуют и другие meta-теги: description, keywords, robots, viewport, og:title, og:description и многие другие. Они помогают:
- Улучшить видимость сайта в поисковых системах;
- Управлять индексацией страниц;
- Настраивать отображение превью в социальных сетях;
- Оптимизировать адаптивность и производительность.
В WordPress по умолчанию заголовки и description генерируются автоматически, но часто их нужно настраивать вручную или программно для улучшения результатов.
Как добавить meta-заголовки вручную через functions.php
Для тонкой настройки meta-тегов мы можем использовать хуки WordPress, чтобы добавить необходимый код в <head>. Рассмотрим пример функции для вывода meta description и meta robots, которые зависят от типа страницы.
function wpmagazin_add_meta_tags() {
if (is_singular()) {
global $post;
$description = get_post_meta($post->ID, '_wpmagazin_meta_description', true);
if (!$description) {
$description = wp_trim_words(strip_tags($post->post_content), 25);
}
echo '<meta name="description" content="'.esc_attr($description).'">\n';
echo '<meta name="robots" content="index, follow">\n';
} elseif (is_home() || is_front_page()) {
echo '<meta name="description" content="Добро пожаловать на наш сайт о WordPress, полезные статьи и советы.">\n';
echo '<meta name="robots" content="index, follow">\n';
} else {
echo '<meta name="robots" content="noindex, nofollow">\n';
}
}
add_action('wp_head', 'wpmagazin_add_meta_tags');В этом примере мы добавляем meta description для одиночных записей (post), используя кастомное поле _wpmagazin_meta_description. Если поле пустое, берём первые 25 слов из контента. Для главной страницы задаём статичный description, а для остальных страниц запрещаем индексацию.
Добавление пользовательского поля для meta description
Чтобы редактировать meta description из админки, можно добавить метабокс:
function wpmagazin_meta_description_metabox() {
add_meta_box(
'wpmagazin_meta_description',
'Meta Description',
'wpmagazin_meta_description_callback',
'post',
'normal',
'high'
);
}
add_action('add_meta_boxes', 'wpmagazin_meta_description_metabox');
function wpmagazin_meta_description_callback($post) {
wp_nonce_field('wpmagazin_save_meta_description', 'wpmagazin_meta_description_nonce');
$value = get_post_meta($post->ID, '_wpmagazin_meta_description', true);
echo '<textarea style="width:100%;" rows="3" name="wpmagazin_meta_description">'.esc_textarea($value).'</textarea>';
}
function wpmagazin_save_meta_description($post_id) {
if (!isset($_POST['wpmagazin_meta_description_nonce']) || !wp_verify_nonce($_POST['wpmagazin_meta_description_nonce'], 'wpmagazin_save_meta_description')) {
return;
}
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (isset($_POST['wpmagazin_meta_description'])) {
update_post_meta($post_id, '_wpmagazin_meta_description', sanitize_textarea_field($_POST['wpmagazin_meta_description']));
}
}
add_action('save_post', 'wpmagazin_save_meta_description');Этот код добавит поле для ввода meta description в редактор записей, что удобно для SEO-оптимизации без плагинов.
Использование плагинов для управления meta-заголовками
Если вы не хотите писать код, для управления meta-заголовками есть несколько проверенных плагинов:
- Yoast SEO — самый популярный SEO-плагин, который автоматически генерирует meta-теги и позволяет вручную их редактировать.
- All in One SEO Pack — альтернатива Yoast с похожим функционалом.
- Clearfy Pro — плагин для оптимизации WordPress, включающий удобные настройки для meta-заголовков и отключения лишних мета-тегов.
Например, в Clearfy Pro можно быстро отключить генерацию лишних meta-тегов и настроить вывод только нужных. Подробнее о Clearfy Pro и его возможностях можно узнать на wpshop.ru.
Использование Open Graph и Twitter Cards для социальных сетей
Современные meta-заголовки включают теги Open Graph (og:) и Twitter Card, которые отвечают за то, как ссылки на ваш сайт отображаются в социальных сетях.
Добавим пример кода для автоматической генерации Open Graph тегов в WordPress:
function wpmagazin_add_open_graph_tags() {
if (is_singular()) {
global $post;
$title = get_the_title($post->ID);
$description = get_post_meta($post->ID, '_wpmagazin_meta_description', true);
if (!$description) {
$description = wp_trim_words(strip_tags($post->post_content), 25);
}
$url = get_permalink($post->ID);
$image = get_the_post_thumbnail_url($post->ID, 'full');
if (!$image) {
$image = get_template_directory_uri() . '/images/default-og-image.jpg';
}
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';
echo '<meta property="og:image" content="'.esc_url($image).'">\n';
echo '<meta property="og:type" content="article">\n';
}
}
add_action('wp_head', 'wpmagazin_add_open_graph_tags');Этот код автоматически добавит основные Open Graph теги для одиночных записей. Для более продвинутого управления можно использовать плагин WPGPT на wpshop.ru, который среди прочего умеет помогать с SEO и социальными мета-тегами.
Советы по оптимизации meta-заголовков и избежанию ошибок
При работе с meta-заголовками важно помнить:
- Не дублируйте title и description на разных страницах — это негативно влияет на SEO.
- Используйте уникальные описания для важных страниц.
- Не забывайте про теги robots для управления индексацией.
- Проверяйте корректность и валидность тегов через инструменты разработчика и сервисы типа Google Search Console.
- Если используете плагины SEO, избегайте конфликтов с вашим собственным кодом — не дублируйте мета-теги.
Правильно настроенные meta-заголовки улучшают CTR в поисковой выдаче и повышают качество сайта в глазах поисковых систем и пользователей.