Уникальные метаданные, такие как title, description и keywords, играют важную роль в SEO и улучшении видимости сайта в поисковых системах. В стандартной установке WordPress часто используются шаблонные значения метаданных, что не всегда оптимально. В этой статье мы подробно разберём, как добавить уникальные метаданные для каждой страницы WordPress без использования плагинов, используя функционал темы и кастомные поля.
Почему важно использовать уникальные метаданные для страниц WordPress
Поисковые системы считают метаданные важным сигналом для ранжирования. Если метаданные уникальны и релевантны содержимому страницы, это повышает вероятность попадания в топ выдачи. Кроме того, правильные title и description улучшают кликабельность сниппетов.
Часто разработчики используют универсальные шаблоны, которые генерируют одинаковые метаданные для множества страниц, что снижает SEO-эффективность. Создание индивидуальных метаданных для страниц поможет:
- Улучшить SEO-показатели;
- Повысить релевантность страниц;
- Сделать сниппеты более привлекательными для пользователей.
Добавление поддержки уникальных метаданных через кастомные поля
Стандартный способ добавить уникальные метаданные — использовать кастомные поля в редакторе страниц. Для этого нужно:
- Включить отображение метабоксов «Кастомные поля» в редакторе WordPress;
- Добавить поля, например
wpacademy_meta_title,wpacademy_meta_description,wpacademy_meta_keywords; - Вывести эти значения в шаблоне темы.
Пример кода, который выводит метаданные в <head> вашей темы, добавьте в файл functions.php вашей темы:
function wpacademy_add_custom_meta_tags() {
if (is_singular()) {
global $post;
$meta_title = get_post_meta($post->ID, 'wpacademy_meta_title', true);
$meta_description = get_post_meta($post->ID, 'wpacademy_meta_description', true);
$meta_keywords = get_post_meta($post->ID, 'wpacademy_meta_keywords', true);
if ($meta_title) {
echo '<title>' . esc_html($meta_title) . '</title>\n';
} else {
echo '<title>' . wp_get_document_title() . '</title>\n';
}
if ($meta_description) {
echo '<meta name="description" content="' . esc_attr($meta_description) . '" />\n';
}
if ($meta_keywords) {
echo '<meta name="keywords" content="' . esc_attr($meta_keywords) . '" />\n';
}
}
}
add_action('wp_head', 'wpacademy_add_custom_meta_tags', 1);Этот код проверяет наличие кастомных полей для текущей страницы и выводит их в <head>. Если поле «wpacademy_meta_title» отсутствует, используется стандартный заголовок.
Как добавить кастомные поля в редакторе
Чтобы включить поля в редакторе, нажмите на три точки в правом верхнем углу, выберите «Настройки» → «Панели» → включите «Кастомные поля».
Добавьте новые поля с ключами wpacademy_meta_title, wpacademy_meta_description и wpacademy_meta_keywords для каждой страницы. Так вы сможете задавать уникальные значения, которые выведутся в разметке.
Автоматизация добавления метаданных с помощью пользовательской метабоксы
Для удобства можно автоматизировать ввод метаданных через собственную метабоксу в админке. Ниже пример кода, который добавляет метабоксу на страницы:
function wpacademy_add_meta_box() {
add_meta_box(
'wpacademy_meta_box',
'Настройки метаданных',
'wpacademy_meta_box_callback',
'page',
'normal',
'high'
);
}
add_action('add_meta_boxes', 'wpacademy_add_meta_box');
function wpacademy_meta_box_callback($post) {
wp_nonce_field('wpacademy_meta_box_nonce', 'wpacademy_meta_box_nonce_field');
$meta_title = get_post_meta($post->ID, 'wpacademy_meta_title', true);
$meta_description = get_post_meta($post->ID, 'wpacademy_meta_description', true);
$meta_keywords = get_post_meta($post->ID, 'wpacademy_meta_keywords', true);
echo '<p><label for="wpacademy_meta_title">Meta Title:</label><br />';
echo '<input type="text" id="wpacademy_meta_title" name="wpacademy_meta_title" value="' . esc_attr($meta_title) . '" style="width:100%;" /></p>';
echo '<p><label for="wpacademy_meta_description">Meta Description:</label><br />';
echo '<textarea id="wpacademy_meta_description" name="wpacademy_meta_description" rows="4" style="width:100%;">' . esc_textarea($meta_description) . '</textarea></p>';
echo '<p><label for="wpacademy_meta_keywords">Meta Keywords:</label><br />';
echo '<input type="text" id="wpacademy_meta_keywords" name="wpacademy_meta_keywords" value="' . esc_attr($meta_keywords) . '" style="width:100%;" /></p>';
}
function wpacademy_save_meta_box_data($post_id) {
if (!isset($_POST['wpacademy_meta_box_nonce_field']) || !wp_verify_nonce($_POST['wpacademy_meta_box_nonce_field'], 'wpacademy_meta_box_nonce')) {
return;
}
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (!current_user_can('edit_post', $post_id)) {
return;
}
if (isset($_POST['wpacademy_meta_title'])) {
update_post_meta($post_id, 'wpacademy_meta_title', sanitize_text_field($_POST['wpacademy_meta_title']));
}
if (isset($_POST['wpacademy_meta_description'])) {
update_post_meta($post_id, 'wpacademy_meta_description', sanitize_textarea_field($_POST['wpacademy_meta_description']));
}
if (isset($_POST['wpacademy_meta_keywords'])) {
update_post_meta($post_id, 'wpacademy_meta_keywords', sanitize_text_field($_POST['wpacademy_meta_keywords']));
}
}
add_action('save_post', 'wpacademy_save_meta_box_data');Этот код добавляет удобный блок настроек метаданных в редактор страниц, где можно быстро ввести title, description и keywords.
Дополнительные советы по SEO метаданным и совместимость с плагинами
Если вы используете SEO плагины, например, Clearfy Pro, они могут автоматически управлять метаданными. В этом случае кастомные метаданные лучше интегрировать с их API или использовать фильтры, чтобы избежать конфликтов.
Также рекомендуется проверять правильность метаданных через инструменты Google Search Console и валидаторы.
Как проверить корректность вывода метаданных
Откройте исходный код страницы в браузере и убедитесь, что в разделе <head> присутствуют теги <title> и <meta name="description"> с уникальными значениями.
Для автоматической проверки можно использовать онлайн-сервисы, например, Meta Tags Analyzer.
Заключение
Добавление уникальных метаданных для страниц WordPress без плагинов — это простой и эффективный способ улучшить SEO вашего сайта. Использование кастомных полей и метабоксов позволяет гибко управлять значениями и интегрируется с любой темой. При необходимости автоматизации и расширенных функций можно дополнить эту реализацию плагинами, например, Clearfy Pro с wpshop.ru.