В WordPress дубли чаще появляются не из-за «плохого SEO», а из-за штатной логики системы: архивы тегов, авторов, дат, страницы вложений, пагинация, параметры в URL и отдельные версии контента для поиска по сайту. Если это не контролировать, поисковик тратит обход на мусорные страницы, а важные URL получают слабее сигнал релевантности.
Ниже — рабочая схема: как найти источник дублей, что закрывать от индексации, а что лучше оставлять доступным, и как проверить, что изменения не сломали видимость сайта.
Какие дубли в WordPress встречаются чаще всего
Сначала полезно понять, что именно вы считаете дублем. Не каждая похожая страница — проблема. Например, архив рубрики и запись из этой рубрики не дублируют друг друга, а вот /tag/seo/, /author/admin/ и /page/2/ могут создавать много слабых страниц без самостоятельной ценности.
Типовые источники дублей
- архивы тегов, если теги используются как «вторые рубрики»;
- архивы авторов на сайте с одним автором;
- архивы дат, если они не несут редакционной пользы;
- страницы вложений медиафайлов;
- страницы пагинации архивов;
- URL с параметрами сортировки, фильтрации, UTM и внутреннего поиска;
- версии одной и той же страницы с разными canonical/redirect-настройками.
Если сайт небольшой, часто достаточно убрать из индекса несколько типов архивов и закрыть вложения. На крупных проектах уже приходится отдельно разбирать пагинацию, фильтры и параметры.
Диагностика: где именно у вас появляются дубли
Не стоит вслепую ставить noindex на всё подряд. Сначала посмотрите, какие URL реально попадают в индекс и какие из них повторяют основной контент.
Что проверить вручную
- Откройте
site:ваш-доменв поиске и посмотрите, какие типы страниц индексируются. - В Google Search Console проверьте отчёты по страницам и исключённым URL.
- Сравните заголовок, H1 и основной текст у архивов и вложений: если они почти пустые, это кандидат на закрытие.
- Проверьте, нет ли у страниц с параметрами отдельного индексационного следа.
Если у вас есть доступ к серверным логам или аналитике, полезно посмотреть, какие URL чаще всего обходятся ботом. Иногда проблема не в количестве дублей в индексе, а в том, что бот тратит время на бесконечные комбинации параметров.
Пошаговое решение: что закрывать, а что оставлять
Универсального набора нет, но для большинства контентных сайтов логика такая: закрываем слабые архивы и служебные страницы, оставляем полезные рубрики и страницы, которые реально помогают навигации.
1. Закройте страницы вложений и пустые архивы
Страницы вложений почти всегда проигрывают исходному материалу. Если медиафайл нужен только как часть записи, отдельная страница вложения обычно не нужна. Самый безопасный путь — редиректить вложения на родительскую запись или на сам файл, если это осознанная медиа-страница.
Для редиректа вложений можно использовать код в functions.php дочерней темы или в небольшом плагине:
add_action('template_redirect', function () {
if (is_attachment()) {
$parent = wp_get_post_parent_id(get_the_ID());
if ($parent) {
wp_safe_redirect(get_permalink($parent), 301);
exit;
}
wp_safe_redirect(home_url('/'), 301);
exit;
}
});Это не закрывает дубли через noindex, а убирает саму страницу из цепочки обхода. Для SEO это обычно лучше, чем просто прятать URL от индексации.
2. Ограничьте индексирование архивов тегов и авторов
Если теги на сайте используются формально и не дают отдельной ценности, их архивы лучше закрыть от индексации. То же касается архивов автора на сайте с одним автором. Но если у автора есть полноценные биографические страницы, подборки материалов и редакционная роль, архив может быть полезен.
Через Yoast SEO или Rank Math это обычно делается в интерфейсе. Если нужен кодовый вариант, можно управлять мета-роботами через фильтры плагина, но только если вы точно понимаете, какой SEO-плагин установлен. Универсальный вариант без привязки к плагину — убрать саму генерацию лишних архивов или редиректить их на более полезные страницы.
3. Настройте canonical для страниц с параметрами
Если у вас есть сортировка, фильтры или внутренний поиск, canonical должен указывать на чистую версию URL. Иначе поисковик может воспринимать параметры как отдельные страницы.
Пример для произвольной логики в шаблоне, если вы формируете страницу вручную:
<?php
if (is_page('catalog')) {
$canonical = get_permalink();
if (!empty($_GET['sort'])) {
$canonical = get_permalink();
}
echo '<link rel="canonical" href="' . esc_url($canonical) . '" />';
}
?>Если canonical уже выводит SEO-плагин, не дублируйте тег вручную. Двойной canonical — частая ошибка, из-за которой поисковик начинает игнорировать оба варианта.
4. Закройте технические страницы, которые не должны индексироваться
К таким страницам обычно относятся результаты внутреннего поиска, страницы авторизации, корзина, личный кабинет, служебные endpoints и некоторые системные архивы. В WordPress часть из них уже закрыта по умолчанию, но после установки плагинов это нужно перепроверить.
Если вы используете robots.txt, не пытайтесь им заменить noindex для уже проиндексированных URL. Robots.txt помогает ограничить обход, но не гарантирует удаление из индекса. Для уже известных поисковику страниц лучше использовать редирект, canonical или мета-роботы.
Сравнение подходов: плагин, код или редирект
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы и задать мета-роботы | Удобно, меньше риска сломать шаблон | Не всегда решает проблему параметров и дублей шаблонов |
| Код в теме/плагине | Нужна точечная логика для конкретных URL | Гибко, можно учесть бизнес-логику | Требует тестирования и поддержки |
| 301-редирект | Страница не нужна вообще | Убирает дубль из обхода и индекса | Нельзя применять ко всем страницам подряд |
На практике часто используют комбинацию: редирект для вложений и совсем лишних страниц, noindex для архивов, canonical для параметров.
Если нужен быстрый способ без ручной сборки
Когда на сайте много архивов и технических дублей, удобнее делать это через один инструмент, а не разносить логику по нескольким плагинам. Например, в Clearfy Pro есть функции для удаления дублей и чистки WordPress, которые помогают закрыть типовые служебные страницы и уменьшить шум в индексации. Если вы уже используете SEO-плагин, сначала проверьте, не дублируют ли они друг друга по настройкам.
Важно: не включайте одинаковые функции в двух местах одновременно. Если один плагин ставит canonical, а другой переписывает мета-роботы, итог может быть непредсказуемым.
Проверка результата после внедрения
После изменений не ограничивайтесь просмотром страницы в браузере. Нужно проверить, как URL отдают код ответа, какие мета-теги видит бот и не остались ли старые версии в индексе.
Что проверить технически
- код ответа для закрытых URL:
200,301или404в зависимости от сценария; - наличие одного canonical на странице;
- мета-robots на архивных страницах;
- отсутствие дублей в sitemap;
- исчезновение лишних URL из отчётов Search Console;
- корректность внутренних ссылок на новые канонические страницы.
Для быстрой проверки можно использовать curl:
curl -I https://example.com/attachment-page/
curl -I https://example.com/tag/seo/
curl -I https://example.com/page/2/Если вы настраивали редирект, в ответе должен быть 301 и заголовок Location с целевым URL. Если ставили noindex, страница должна открываться с кодом 200, но в HTML должен быть мета-тег robots с нужным значением.
Частые ошибки и как их исправить
Закрыли robots.txt, но URL остались в индексе
Это нормальная ситуация. Robots.txt не удаляет уже известные страницы из поиска. Если URL нужно убрать, используйте редирект, canonical или noindex с последующим обходом бота.
Поставили noindex на важную рубрику
Такое часто происходит, когда шаблонно закрывают все архивы. Проверьте, есть ли у рубрики трафик, внутренние переходы и уникальный смысл. Если рубрика — основная навигационная сущность сайта, закрывать её не стоит.
Сделали редирект всех архивов на главную
Это плохая идея. Поисковик видит массовую подмену релевантных страниц на нерелевантную главную, а пользователи теряют структуру сайта. Редирект должен быть логичным: вложение — на родительскую запись, устаревшая страница — на актуальную версию, мусорный архив — на ближайшую полезную категорию только если это действительно оправдано.
Два SEO-плагина одновременно управляют мета-тегами
Если один плагин выводит canonical, а другой переписывает robots, вы получите конфликт. Оставьте один источник правды для мета-данных и отключите дублирующиеся функции в остальных плагинах.
Практические советы по безопасности и производительности
Чем меньше лишних архивов и параметрических URL, тем меньше обхода и меньше нагрузки на сервер. Это особенно заметно на сайтах с большим количеством записей и таксономий. Но не стоит путать SEO-чистку с удалением полезной навигации.
- не удаляйте таксономии, если они используются в меню, фильтрах или хлебных крошках;
- не закрывайте в индекс страницы, которые приносят органический трафик;
- не правьте
functions.phpосновной темы без дочерней темы или мини-плагина; - после изменений очистите кеш страницы и кеш объекта, если он есть;
- проверьте sitemap: туда не должны попадать закрытые URL.
Если вы часто сталкиваетесь с дублями из-за служебных страниц, имеет смысл вынести SEO- и cleanup-настройки в отдельный инструмент, а не держать их в разрозненных сниппетах. Это проще сопровождать и легче откатывать при ошибке.
Когда всё настроено правильно, в индексе остаются только те страницы, которые действительно нужны пользователю и поисковику. Остальное либо редиректится, либо закрывается от индексации, либо получает canonical на основную версию. Именно это и нужно проверять в первую очередь, а не количество галочек в плагине.