Как закрыть дубли страниц от индексации в WordPress без потери нужного трафика

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

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

Какие дубли в WordPress встречаются чаще всего

На практике проблема почти всегда упирается в один из этих сценариев:

  • одна и та же запись доступна по нескольким адресам из-за категорий, меток или пагинации;
  • архивы тегов и авторов создают тонкие страницы без ценности;
  • страницы вложений индексируются отдельно от родительской записи;
  • URL с параметрами вроде ?replytocom=, ?amp, ?utm_* или сортировками плодят копии;
  • страницы поиска по сайту и внутренние фильтры попадают в индекс;
  • дубли появляются после миграции, когда старые адреса и новые версии доступны одновременно.

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

Не начинайте с массового закрытия всего подряд. Сначала проверьте, какие URL уже индексируются и откуда они берутся. Для этого полезны:

  • отчёт Страницы в Google Search Console;
  • поиск site:example.ru по ключевым разделам;
  • краулер вроде Screaming Frog или Sitebulb;
  • логика внутренних ссылок: где WordPress сам генерирует архивы и пагинацию.

Диагностика проблемы: как понять, что это именно дубли

Если в индексе много похожих страниц, но трафик не растёт, проверьте не только title и description, а именно канонический URL и статус ответа. Частая ошибка — страница выглядит как дубль, но на деле отдаёт 200 OK и не имеет noindex или корректного canonical.

Быстрый чек вручную:

curl -I https://example.ru/tag/seo/
curl -I https://example.ru/author/admin/
curl -I https://example.ru/sample-post/attachment/image-name/

Если страница должна быть закрыта, но отвечает 200 OK и не содержит noindex, поисковик может продолжать её обходить и индексировать.

Что считать нормой, а что нет

Тип URLОбычно нужен в индексеЧто делать
Записи и важные страницыДаОставить индексируемыми
Категории с трафикомИногдаПроверить контент и спрос, не закрывать автоматически
Теги, авторы, датыЧаще нетЗакрыть или убрать из индекса по ситуации
Страницы вложенийПочти никогдаРедирект на родительскую запись или noindex
Поиск по сайтуНетЗакрыть от индексации

Пошаговое решение: как закрыть дубли в WordPress

1. Настройте архивы в SEO-плагине

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

Если нужен более широкий набор инструментов для чистки дублей, служебных страниц и технических настроек, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином важно понимать, что именно вы закрываете и зачем.

2. Закройте служебные страницы через noindex и canonical

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

<?php
add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_queried_object_id());
        if ($parent) {
            wp_safe_redirect(get_permalink($parent), 301);
            exit;
        }
    }
});

add_filter('wp_robots', function (array $robots) {
    if (is_search() || is_tag() || is_attachment()) {
        $robots['noindex'] = true;
        $robots['nofollow'] = true;
    }

    return $robots;
});

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

3. Уберите дубли от параметров URL

Параметры в URL часто появляются из-за шаринга, комментариев, фильтров или аналитики. Не все из них надо закрывать одинаково. UTM-метки обычно не проблема, если canonical указывает на чистый URL. А вот внутренние параметры сортировки, фильтрации и технические хвосты лучше не пускать в индекс.

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

<?php
add_filter('get_canonical_url', function ($canonical, $post) {
    if (is_string($canonical)) {
        $canonical = remove_query_arg(array('replytocom', 'sort', 'filter'), $canonical);
    }

    return $canonical;
}, 10, 2);

Здесь важно не переусердствовать. Нельзя бездумно вырезать все параметры подряд, если часть из них реально влияет на содержимое страницы.

4. Проверьте архивы тегов, авторов и дат

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

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

Проверка результата после внедрения

После изменений не ограничивайтесь открытием страницы в браузере. Проверьте три вещи: код ответа, robots-мета и canonical.

  • для закрытых страниц должен быть корректный noindex или редирект;
  • canonical должен вести на основную версию URL;
  • в sitemap не должно быть служебных страниц, которые вы закрыли;
  • внутренние ссылки должны вести на чистые URL без лишних параметров.

Проверка через curl:

curl -s https://example.ru/tag/seo/ | grep -i robots
curl -s https://example.ru/sample-post/ | grep -i canonical

Если используете Search Console, отправьте на переобход несколько страниц, которые изменили. Для закрытых URL нормально, если они ещё какое-то время остаются в отчётах — индекс не обновляется мгновенно.

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

Закрыли всё подряд, включая полезные категории

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

Поставили noindex, но оставили страницу в sitemap

Так поисковик получает противоречивые сигналы. Страница одновременно объявлена важной в карте сайта и закрыта от индексации. Лучше убрать её из sitemap, если она не должна индексироваться.

Сделали редирект на все вложения без проверки родителя

Если у вложения нет родительской записи, редирект на главную может быть слишком грубым. Иногда лучше отдать 404/410 для удалённого медиафайла, чем отправлять пользователя и робота на нерелевантную страницу.

Использовали canonical вместо реального закрытия

Canonical — это подсказка, а не жёсткий запрет. Для некоторых дублей этого достаточно, но если страница не должна существовать в индексе вообще, нужен noindex или редирект.

Безопасность и производительность: что не сломать по пути

Любые правки в functions.php лучше делать в дочерней теме или через отдельный mu-plugin. Иначе при обновлении темы вы потеряете изменения. Перед внедрением проверьте, нет ли уже похожей логики в SEO-плагине, чтобы не получить двойной noindex или конфликт canonical.

Если сайт большой, не добавляйте тяжёлые проверки на каждый запрос. Простые условия вроде is_tag() и is_search() безопасны. А вот сложные запросы к базе в фильтрах robots и canonical лучше не делать без необходимости.

Когда лучше решать это плагином, а когда кодом

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

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

Мини-чек-лист перед публикацией изменений

  • Проверили, какие архивы реально дают трафик.
  • Закрыли только лишние типы страниц, а не весь сайт целиком.
  • Убрали закрытые URL из sitemap.
  • Проверили canonical и robots на нескольких типах страниц.
  • Убедились, что вложения и параметры URL не создают новые копии.
  • Отправили важные URL на переобход в Search Console.

Если после правок в индексе всё ещё остаются старые адреса, это не всегда ошибка. Сначала проверьте, не ведут ли на них внутренние ссылки, нет ли внешних ссылок и не отдаются ли они с кодом 200 OK. В WordPress именно такие мелочи чаще всего и удерживают дубли в поиске.

Вам также может быть интересно:

Как отключить emoji-скрипты в WordPress и сохранить совместимость
11.09.2026
Как отключить XML-RPC в WordPress без поломки мобильного приложения и внешних сервисов
07.09.2026
Как закрыть дубли страниц от индексации в WordPress без потери нужного трафика
03.09.2026
Как отключить XML sitemap для ненужных типов записей в WordPress
10.09.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее