Как исправить дубли title и meta description в WordPress

Дубли title и meta description в WordPress обычно появляются не из-за одной ошибки, а из-за наложения нескольких источников: тема выводит свои метатеги, SEO-плагин добавляет свои, а архивы, пагинация и таксономии создают одинаковые шаблоны для разных страниц. На практике это быстро превращается в мусор в индексе и в путаницу для поисковика.

Если у вас уже есть страницы, которые в выдаче выглядят одинаково, сначала нужно понять, откуда именно берутся дубли. Только после этого имеет смысл что-то отключать или переопределять.

Как понять, где именно возникает дубль

Проверка начинается не с кода, а с исходника страницы. Откройте проблемную страницу и посмотрите, сколько раз в <head> встречаются <title> и meta name="description". Если тегов несколько, это почти всегда конфликт темы и SEO-плагина. Если тег один, но одинаковые метаданные тянутся на разных URL, проблема в шаблонах или в логике генерации.

Что смотреть в первую очередь

  • исходный код страницы через «Просмотр кода страницы»;
  • настройки SEO-плагина, если он установлен;
  • файл header.php и функции темы, которые подключают метатеги вручную;
  • архивы рубрик, тегов, авторов и страниц пагинации;
  • кастомные типы записей и таксономии, если они используют один шаблон метаданных.

Если вы работаете на локальной копии или staging, удобно искать по проекту строки meta name="description", <title> и wp_head. Часто проблема находится за пару минут.

Типовые причины дублей title и description

Самая частая ситуация — тема уже выводит базовые метатеги, а затем SEO-плагин добавляет свои. Вторая по частоте — одинаковый шаблон для архивов и страниц пагинации. Третья — ручная правка в одном шаблоне, после которой забыли про остальные типы страниц.

ПодходКогда подходитМинус
Исправить в SEO-плагинеЕсли метатеги генерирует плагинНужно проверить шаблоны для всех типов страниц
Убрать ручной вывод из темыЕсли тема печатает title и description самаТребуется правка файлов темы или дочерней темы
Переопределить через хукЕсли нужен точечный контроль без редактирования ядра темыНадо понимать, какой именно фильтр используется

Пошаговое решение без лишних правок

Надежнее всего идти от источника к источнику: сначала отключить лишнее, потом задать шаблоны, затем проверить результат на нескольких типах страниц. Ниже — рабочая схема для типового сайта на WordPress.

1. Уберите ручной вывод метатегов из темы

Если в header.php или в подключаемом файле есть прямой вывод title или description, его нужно убрать. В современных темах заголовок страницы должен собираться через стандартный механизм WordPress, а описание — через SEO-плагин или отдельную логику, но не одновременно в двух местах.

<!-- Плохо: ручной вывод в теме -->
<title><?php echo get_bloginfo('name'); ?></title>
<meta name="description" content="<?php echo get_bloginfo('description'); ?>">

Если тема старая и использует такой код, лучше перенести логику в дочернюю тему или заменить её на стандартные механизмы WordPress и SEO-плагина.

2. Проверьте, не дублирует ли SEO-плагин метатеги тему

Если установлен плагин вроде Yoast SEO, Rank Math или аналогичный, он обычно сам управляет title и description. В этом случае ручной вывод в теме нужно отключить. Иначе поисковик увидит два набора метаданных, а браузер — конфликтующие значения.

Если вы не хотите лезть в шаблоны, можно точечно убрать лишний вывод через хук, но только если точно знаете, что именно добавляет тема. Для стандартного title лучше опираться на поддержку add_theme_support( 'title-tag' ).

<?php
// functions.php дочерней темы
add_action( 'after_setup_theme', function () {
    add_theme_support( 'title-tag' );
} );

После этого WordPress сам формирует <title>, а тема не должна печатать его вручную.

3. Настройте шаблоны для архивов и записей

Если дубли идут не из-за двойного вывода, а из-за одинаковых шаблонов, проверьте шаблоны SEO-плагина. На архиве рубрики и на странице записи не должно быть одного и того же description. Для архивов лучше использовать название рубрики и краткое пояснение, а для записей — уникальный текст, связанный с содержимым страницы.

Если у вас собственная логика, можно задать description через фильтр. Пример ниже показывает точечную подмену для записей и страниц.

<?php
add_filter( 'document_title_parts', function( $parts ) {
    if ( is_singular() ) {
        $parts['title'] = single_post_title( '', false );
    }
    return $parts;
} );

Этот код не решает проблему description напрямую, но показывает принцип: заголовок должен зависеть от типа страницы, а не быть одинаковым везде.

4. Уберите дубли на страницах пагинации

На страницах /page/2/, /page/3/ и дальше часто остаются те же самые метатеги, что и на первой странице архива. Это не всегда ошибка, но если у вас несколько страниц пагинации с одинаковым title и description, поисковику сложнее различать их назначение. Для таких страниц обычно достаточно либо уникализировать title, либо не давать им отдельный description, если он не несет пользы.

Если вы уже решали 404 на пагинации, это не означает, что метатеги там автоматически корректны. Нужно проверить именно HTML-вывод.

Пример точечной правки через фильтр

Иногда проще не трогать шаблоны, а изменить метаданные через фильтры WordPress. Это полезно, если проблема локальная: например, только у одной таксономии или у одного типа записей.

<?php
add_filter( 'pre_get_document_title', function( $title ) {
    if ( is_post_type_archive( 'news' ) ) {
        return 'Новости — ' . get_bloginfo( 'name' );
    }

    return $title;
} );

Для description стандартного универсального фильтра WordPress нет, поэтому его чаще правят через SEO-плагин или через собственную функцию в wp_head. Но если вы добавляете свой description вручную, не забудьте убрать старый вывод из темы.

<?php
add_action( 'wp_head', function() {
    if ( is_singular( 'post' ) ) {
        $excerpt = get_the_excerpt();
        if ( $excerpt ) {
            echo '<meta name="description" content="' . esc_attr( wp_strip_all_tags( $excerpt ) ) . '">' . "\n";
        }
    }
}, 1 );

Здесь важен приоритет 1: если тема или плагин печатает description позже, вы увидите дубль. В таком случае нужно не добавлять новый тег, а отключать старый.

Как проверить, что исправление сработало

Проверка должна быть не на одной странице, а минимум на нескольких типах URL: главная, одиночная запись, рубрика, тег, страница пагинации и, если есть, архив кастомного типа записей. Иначе можно случайно починить один шаблон и оставить дубли в другом.

  • откройте исходный код страницы и убедитесь, что <title> один;
  • проверьте, что meta name="description" тоже один;
  • сравните title на первой и второй странице архива;
  • посмотрите, не меняется ли description после очистки кеша;
  • проверьте мобильную и десктопную версии, если метатеги генерируются разными шаблонами;
  • прогоните URL через инструменты проверки сниппета в поисковой системе или через валидатор исходного кода.

Если после правки в исходнике все выглядит правильно, но в выдаче старые метатеги еще видны, это нормально: поисковику нужно время на переобход. Важно не путать кеш индекса с реальной ошибкой в коде.

Частые ошибки и как их исправить

Оставили старый код в теме

Самая банальная причина — метатеги убрали в одном файле, но забыли про подключаемый шаблон, хук или плагин для темы. Ищите не только header.php, но и functions.php, template-parts и файлы SEO-обвязки.

Сломали title, отключив не тот фильтр

Если вы удалили поддержку title-tag или отключили фильтр, который нужен теме, можно получить пустой title или некорректный заголовок в админке и на фронтенде. Перед правкой делайте копию файла и проверяйте на staging.

Сделали одинаковый description для всех архивов

Одинаковый description на всех рубриках — это не исправление, а перенос проблемы в другую форму. Для архивов лучше использовать осмысленный шаблон с названием рубрики, а не один общий текст на весь сайт.

Не очистили кеш

Если стоит page cache, object cache или CDN, старый HTML может сохраняться после правки. Очистка кеша обязательна, иначе вы будете проверять уже неактуальную версию страницы.

Что делать, если дублей много и править вручную неудобно

Если на сайте много архивов, кастомных типов записей и шаблонов, ручная правка быстро становится хрупкой. В такой ситуации лучше централизовать управление метаданными: через SEO-плагин, через один набор фильтров или через инструмент, который умеет чистить дубли и технический мусор. Например, Clearfy Pro часто используют именно для таких задач, когда нужно убрать лишние элементы и не держать десяток разрозненных правок в теме. Подробности есть на странице плагина.

Но даже с плагином логика не меняется: сначала находите источник дубля, потом отключаете лишний вывод, потом проверяете HTML на нескольких типах страниц. Иначе любой инструмент будет только маскировать проблему.

Практика безопасности и поддержки

Не редактируйте родительскую тему напрямую, если сайт уже в работе. После обновления изменения потеряются, а дубли вернутся. Используйте дочернюю тему или небольшой mu-plugin, если правка касается только логики метатегов.

Перед изменениями полезно сделать резервную копию файлов темы и базы данных. Это особенно важно, если вы правите wp_head или фильтры, которые влияют на весь сайт. Ошибка в таком месте может убрать не только description, но и другие важные элементы head-разметки.

Если нужно быстро локализовать проблему, временно отключите SEO-плагин на staging и сравните исходник страницы до и после. Это самый простой способ понять, кто именно печатает лишний тег.

Как исправить 404 на страницах пагинации в WordPress
15.09.2026
Как отключить XML-RPC в WordPress и проверить, что сайт не сломался
18.09.2026
Как исправить дубли title и meta description в WordPress
21.09.2026
Как запретить индексацию отдельных страниц в WordPress через robots.txt, noindex и каноникал
12.09.2026