Уникальные meta description — важная часть SEO-оптимизации любого сайта на WordPress. Они помогают улучшить кликабельность страниц в поисковой выдаче и повысить общий рейтинг сайта. В этой статье мы подробно разберём, как автоматически создавать уникальные meta description для страниц и записей на WordPress, избегая дублирования и вручную написанного текста.
Зачем нужны уникальные meta description и как они влияют на SEO
Meta description — это краткое описание содержимого страницы, которое поисковые системы показывают в сниппете результатов поиска. Если description уникален и точно отражает содержание страницы, вероятность привлечь целевой трафик значительно увеличивается.
Проблема многих сайтов — одинаковые или пустые мета описания, что негативно сказывается на позициях и пользовательском опыте. Особенно это актуально для крупных сайтов с сотнями и тысячами записей, где ручная генерация description невозможна.
Автоматизация создания уникальных description позволяет решить эту проблему и системно улучшить SEO. Ниже рассмотрим несколько способов, включая плагины и кастомные решения для WordPress.
Использование плагинов для автоматического создания meta description
Самый простой путь — воспользоваться специализированными SEO-плагинами. Вот несколько популярных вариантов:
- Yoast SEO — умеет автоматически генерировать description из первых абзацев статьи или настраиваемых шаблонов.
- All in One SEO Pack — предлагает схожие возможности с гибкой настройкой шаблонов meta тегов.
- Clearfy Pro — минималистичный плагин от WPSHOP с модулем SEO, который также позволяет автоматизировать генерацию уникальных мета описаний с помощью шаблонов.
Например, в Yoast SEO можно задать шаблон meta description в настройках:
%%excerpt%% - %%sitename%%
Это автоматически вставит первые 160 символов анонса записи и название сайта. Но этот подход не всегда даёт уникальный результат, особенно если анонсы похожи.
Кастомное решение: как программно создавать уникальные meta description в WordPress
Если по каким-то причинам вы не хотите использовать сторонние плагины или хотите полностью контролировать генерацию description, можно написать собственный код, который при выводе страницы автоматически создаст уникальное описание.
Основная идея генератора meta description
Мы можем взять несколько источников для формирования description:
- Краткий отрывок поста (excerpt) — если он есть.
- Первые 150-160 символов из контента записи.
- Кастомные поля (например, SEO meta описание, если пользователь его заполнил).
Приоритет нужно задавать логически, чтобы всегда был заполнен meta description, и он был максимально уникален.
Пример кода для functions.php темы на wpshab.ru
function wpshab_generate_meta_description() {
if (is_singular()) {
global $post;
// Проверяем, есть ли кастомное поле 'meta_description'
$custom_desc = get_post_meta($post->ID, 'meta_description', true);
if (!empty($custom_desc)) {
return esc_attr(wp_strip_all_tags($custom_desc));
}
// Если есть excerpt, используем его
if (has_excerpt($post->ID)) {
return esc_attr(wp_trim_words(get_the_excerpt(), 25, '...'));
}
// Иначе берем первые 160 символов из контента
$content = strip_shortcodes($post->post_content);
$content = wp_strip_all_tags($content);
$desc = mb_substr($content, 0, 160);
// Обрезаем до последнего пробела, чтобы не резать слово
$desc = preg_replace('/\s+?\S+?$/', '', $desc);
return esc_attr($desc);
}
return '';
}
// Добавляем в head мета тег description
function wpshab_add_meta_description() {
$description = wpshab_generate_meta_description();
if (!empty($description)) {
echo '<meta name="description" content="' . $description . '" />\n';
}
}
add_action('wp_head', 'wpshab_add_meta_description');
Этот код автоматически выводит уникальный meta description на страницах записей, используя кастомное поле, если оно задано, либо excerpt, либо первые 160 символов содержимого.
Как добавить поле для meta description в админке WordPress
Чтобы авторы могли задавать уникальный meta description вручную, добавим метабокс в редактор записи:
function wpshab_meta_description_metabox() {
add_meta_box(
'wpshab_meta_description',
'Meta Description',
'wpshab_meta_description_callback',
'post',
'normal',
'high'
);
}
add_action('add_meta_boxes', 'wpshab_meta_description_metabox');
function wpshab_meta_description_callback($post) {
wp_nonce_field('wpshab_meta_description_nonce', 'wpshab_meta_description_nonce');
$value = get_post_meta($post->ID, 'meta_description', true);
echo '<textarea style="width:100%;" rows="3" name="wpshab_meta_description">' . esc_textarea($value) . '</textarea>';
}
function wpshab_save_meta_description($post_id) {
if (!isset($_POST['wpshab_meta_description_nonce']) || !wp_verify_nonce($_POST['wpshab_meta_description_nonce'], 'wpshab_meta_description_nonce')) {
return;
}
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (isset($_POST['wpshab_meta_description'])) {
update_post_meta($post_id, 'meta_description', sanitize_textarea_field($_POST['wpshab_meta_description']));
}
}
add_action('save_post', 'wpshab_save_meta_description');
Теперь при редактировании записи вы увидите поле для ввода уникального meta description, которое будет использоваться в приоритетном порядке.
Тонкости и рекомендации по оптимизации meta description
При автоматической генерации meta description важно учитывать несколько моментов:
- Длина: оптимально от 120 до 160 символов — больше поисковики могут обрезать.
- Уникальность: избегайте одинаковых описаний для разных страниц, чтобы не снижать SEO.
- Привлекательность: description должен мотивировать пользователя перейти на страницу, не быть сухим и техническим.
- Запрет на дублирование: проверяйте, что автоматически сгенерированный description отличается от других.
Если у вас много страниц без описания, можно периодически запускать скрипт, который будет подставлять дефолтные уникальные шаблоны с переменными, например, названием категории или тегами.
Заключение
Автоматическая генерация уникальных meta description в WordPress — задача вполне решаемая как с помощью готовых SEO-плагинов, так и кастомных скриптов. Приведённый пример кода легко модифицируется под ваши нужды и позволяет повысить SEO-качество сайта без лишних затрат времени.
Для дополнительной оптимизации и автоматизации рекомендую обратить внимание на Clearfy Pro — плагин с расширенными SEO-возможностями, который идеально впишется в ваш WordPress-проект.