Как найти и удалить дублирующиеся заголовки и meta description в WordPress

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

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

Где обычно появляются дубли title и description

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

Типовые источники проблемы

  • архивы рубрик и тегов с одинаковым шаблоном title;
  • страницы пагинации вида /page/2/, /page/3/ с тем же description, что и у первой страницы;
  • страницы автора, если на сайте один автор и шаблон не различает контент;
  • вложения медиафайлов, которые индексируются как отдельные страницы;
  • дубли из-за двух SEO-плагинов или одновременной работы темы и плагина;
  • канонические URL настроены верно, а title/description всё равно повторяются — это уже отдельная задача, не путайте её с canonical.

Диагностика: как быстро найти источник дублей

Начинать лучше не с кода, а с проверки того, кто вообще выводит мета-теги. В WordPress это может быть тема, плагин SEO, кастомный functions.php или даже вставка через wp_head. Если править вслепую, легко получить пустые мета-теги или сломать вывод на части страниц.

Что проверить вручную

  1. Откройте проблемную страницу и посмотрите исходный код.
  2. Найдите <title> и <meta name="description">.
  3. Сравните их на нескольких страницах одного типа: записи, рубрики, теги, пагинация.
  4. Проверьте, не дублируется ли вывод через SEO-плагин и тему одновременно.
  5. Посмотрите, нет ли одинаковых шаблонов для архивов в настройках SEO-плагина.

Если нужен быстрый технический осмотр, можно временно вывести текущий URL и заголовок страницы в админке или логах, но чаще достаточно обычного просмотра исходника и отчёта Search Console.

Мини-проверка через PHP

Когда нужно понять, какой шаблон реально формируется на стороне WordPress, удобно временно добавить отладочный вывод в functions.php или в mu-plugin. Ниже пример, который пишет в лог текущий тип страницы и заголовок, если включён WP_DEBUG_LOG.

add_action('wp_head', function () {
    if (defined('WP_DEBUG') && WP_DEBUG && current_user_can('manage_options')) {
        error_log('URL: ' . home_url(add_query_arg([], $_SERVER['REQUEST_URI'])));
        error_log('Title: ' . wp_get_document_title());
    }
}, 1);

Это не решение, а способ быстро понять, где именно формируется дубль. После диагностики код нужно убрать.

Как исправить дубли title и meta description без лишнего риска

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

Подход 1: исправить шаблоны в SEO-плагине

Проверьте настройки title и description для:

  • записей;
  • рубрик;
  • меток;
  • страниц автора;
  • медиа-вложений;
  • страниц пагинации.

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

Подход 2: убрать дубли программно

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

add_filter('document_title_parts', function ($parts) {
    if (is_category()) {
        $parts['title'] = single_cat_title('', false) . ' — рубрика';
    } elseif (is_tag()) {
        $parts['title'] = single_tag_title('', false) . ' — метка';
    } elseif (is_author()) {
        $parts['title'] = get_the_author_meta('display_name') . ' — автор';
    }

    if (is_paged()) {
        $parts['title'] .= ' — страница ' . max(2, get_query_var('paged'));
    }

    return $parts;
});

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

add_action('wp_head', function () {
    if (is_singular()) {
        return;
    }

    $description = '';

    if (is_category()) {
        $description = term_description();
    } elseif (is_tag()) {
        $description = term_description();
    } elseif (is_author()) {
        $description = get_the_author_meta('description');
    }

    $description = wp_strip_all_tags($description);
    $description = trim(preg_replace('/\s+/', ' ', $description));

    if ($description !== '') {
        echo '<meta name="description" content="' . esc_attr($description) . '">' . "\n";
    }
}, 20);

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

Когда лучше не писать код

Если дубли идут из-за настроек SEO-плагина, сначала отключите лишний источник вывода. Два одинаковых <title> или два meta description в исходнике — это не «плохой шаблон», а конфликт. Кодом это лечить можно, но сначала нужно убрать саму причину.

ВариантЧто даётОграничение
Настройки SEO-плагинаБыстро исправляет шаблоны без правки темыНе всегда хватает для точечных условий
Код в теме или mu-pluginМожно закрыть редкие кейсы и архивыНужно тестировать после обновлений
Отключение лишнего выводаУбирает дубли из исходникаТребует понимания, кто именно печатает мета-теги

Пошаговый порядок работ

  1. Снимите список URL, где дубли повторяются чаще всего.
  2. Проверьте исходный код этих страниц и найдите источник вывода.
  3. Убедитесь, что title и description не печатаются дважды.
  4. Исправьте шаблоны в SEO-плагине или теме.
  5. Если нужно, добавьте точечный фильтр для архивов и пагинации.
  6. Очистите кеш страницы и кеш CDN, если он есть.
  7. Переобойдите проблемные URL в Search Console после проверки.

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

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

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

Если используете Search Console, не ждите мгновенного пересчёта. Сначала проверьте HTML на сервере, потом уже смотрите отчёты индексации.

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

Два SEO-плагина одновременно

Классическая ошибка после миграции сайта. Один плагин оставляет старые мета-теги, второй добавляет новые. В итоге в коде два title или два description. Решение простое: оставить только один источник SEO-метаданных и удалить лишний вывод из темы.

Одинаковый шаблон для всех архивов

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

Автогенерация description из первого абзаца

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

Правки в теме вместо дочерней темы или mu-plugin

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

Безопасность и производительность

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

Если на сайте много ручных правок в functions.php, лучше вынести их в отдельный mu-plugin. Так меньше шанс потерять изменения при обновлении темы и проще отключать проблемный код на тестовом стенде.

Для сайтов, где нужен более системный контроль дублей и технической чистки, можно посмотреть в сторону Clearfy Pro: у него есть инструменты для удаления лишнего SEO-мусора и части технических дублей. Но даже с плагином всё равно полезно понимать, какой именно шаблон создаёт повторяющиеся мета-теги.

Если после правок дубли остались, проблема часто не в title и description, а в том, что один и тот же контент доступен по нескольким URL. Тогда уже нужно отдельно разбирать каноникал, редиректы и правила индексации.

Как создать автоматический бэкап базы данных WordPress с помощью кода
12.09.2026
Программное отключение неиспользуемых методов оплаты в WooCommerce
12.09.2026
Автоматическое удаление старых черновиков в WordPress
12.09.2026
Как удалить все посты из категории в WordPress
20.09.2026
Как программно отключить WooCommerce Cart Fragments для ускорения сайта
16.09.2026

Разработка под WordPress: подробные руководства, список встроенных функций, готовые решения.