В WordPress дубли чаще всего появляются не из-за «плохого SEO», а из-за стандартной логики CMS: архивы рубрик, теги, страницы вложений, пагинация, параметры в URL и отдельные версии контента для поиска. Если это не контролировать, поисковик тратит краулинговый бюджет на мусорные страницы, а в индексе остаются не те URL, которые вы хотите продвигать.
Ниже — рабочий сценарий: как найти источники дублей, что закрывать от индексации, а что лучше оставлять доступным, и как проверить, что после правок сайт не потерял важные страницы.
Какие дубли в WordPress встречаются чаще всего
Сначала важно понять, что именно вы называете дублем. Не каждый повтор URL — проблема. Например, пагинация архива или страница автора могут быть полезны для навигации, но бесполезны для индексации. А вот страницы вложений, поисковая выдача сайта и архивы тегов без контента часто создают шум.
Типовые источники дублей
- архивы тегов, если теги используются как «мусорные» метки;
- архивы авторов на сайте с одним автором;
- страницы вложений медиафайлов;
- внутренний поиск вида
?s=; - страницы с параметрами сортировки и фильтрации;
- пагинация архивов, если она не нужна в индексе;
- версии URL со слешем и без слеша, если сервер или плагины настроены криво.
Если сайт уже давно работает, дубли часто видны не в админке, а в Google Search Console: много страниц в индексе, которые не должны там быть, или странные URL в отчете по страницам.
Диагностика: где искать проблему до правок
Не начинайте с массового закрытия всего подряд. Сначала проверьте, какие URL реально индексируются и откуда они берутся. Иначе легко закрыть то, что приносит трафик.
Что смотреть в первую очередь
- Отчет Страницы в Google Search Console: какие URL попали в индекс, а какие исключены.
- Результаты поиска по сайту:
site:example.comплюс отдельные запросы по тегам, авторам и вложениям. - Карты сайта: нет ли там архивов, которые вы не хотите продвигать.
- Настройки SEO-плагина: что уже закрыто, а что нет.
- Код темы: не выводит ли она лишние архивы в хлебных крошках, меню и sitemap.
Если у вас установлен плагин для SEO, проверьте, не дублирует ли он логику темы. Частая ошибка — тема ставит canonical, а SEO-плагин поверх него генерирует другой canonical или robots-мета-тег.
Какой подход выбрать: плагин, код или оба варианта
Для большинства сайтов лучше комбинировать настройки SEO-плагина и точечные правки в коде. Полностью решать задачу только кодом имеет смысл, если у вас кастомная тема и понятная архитектура URL.
| Подход | Когда подходит | Минус |
|---|---|---|
| SEO-плагин | Нужно быстро закрыть теги, авторов, архивы и вложения | Не всегда удобно для точечных исключений |
| Код в теме/плагине | Нужен контроль над конкретными типами страниц | Требует аккуратности и тестирования |
| Комбинированный | Сайт уже в индексе, есть несколько источников дублей | Нужно следить за конфликтами canonical и robots |
Если нужен именно технический контроль без лишнего мусора в админке, можно использовать Clearfy Pro как инструмент для чистки дублей и служебных страниц: https://wpshop.ru/plugins/clearfy. Но даже с плагином полезно понимать, что именно он меняет.
Пошаговое решение: закрываем дубли без потери полезных страниц
1. Отключите индексацию страниц вложений
Страницы attachment почти никогда не нужны в поиске. Если медиафайл открывается на отдельной странице без полезного контента, это типичный дубль. В SEO-плагинах обычно есть настройка редиректа вложений на сам файл или на родительскую запись. Это безопаснее, чем оставлять такие страницы в индексе.
Если делаете через код, можно перенаправлять attachment-страницы на родительскую запись или на сам файл:
<?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;
}
$file = wp_get_attachment_url(get_the_ID());
if ($file) {
wp_safe_redirect($file, 301);
exit;
}
}
});Этот вариант лучше использовать только если вы понимаете структуру медиа на сайте. Если вложения уже где-то используются как посадочные страницы, сначала проверьте трафик на них.
2. Закройте внутренний поиск и служебные архивы
Страницы поиска по сайту почти всегда создают тонкий контент и дубли. Их можно оставить доступными для пользователей, но закрыть от индексации через noindex. То же касается архивов автора на блоге с одним автором и архивов тегов, если они не несут самостоятельной ценности.
Пример для добавления noindex,follow на поисковые страницы и архивы тегов:
<?php
add_filter('wp_robots', function ($robots) {
if (is_search() || is_tag()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Если у вас уже стоит SEO-плагин, проверьте, не делает ли он это сам. Два разных источника robots-мета — частая причина странного поведения в индексе.
3. Ограничьте индексацию пагинации там, где она не нужна
Пагинация архивов полезна для навигации, но не всегда нужна в поиске. Если у вас небольшой сайт, страницы /page/2/ и дальше редко дают ценность. Но на больших медиа-проектах или каталогах их нельзя закрывать без анализа.
Практичный вариант — не трогать пагинацию глобально, а закрывать только те архивы, где контент на второй и последующих страницах не имеет самостоятельной ценности. Это обычно делается через SEO-плагин, а не вручную в коде.
4. Уберите архивы, которые не должны существовать
Если на сайте один автор, архив автора часто дублирует главную или блог. Если теги используются хаотично, архивы тегов превращаются в набор почти пустых страниц. В таких случаях правильнее либо отключить архивы, либо привести структуру тегов к норме, чем надеяться на магию noindex.
Для отключения архивов автора на сайте с одним автором можно использовать редирект:
<?php
add_action('template_redirect', function () {
if (is_author()) {
wp_safe_redirect(home_url('/'), 301);
exit;
}
});Но если у вас многопользовательский сайт, так делать нельзя: архивы авторов могут быть полезны и для пользователей, и для поиска.
Проверка результата после внедрения
После правок не ограничивайтесь открытием пары страниц в браузере. Нужно проверить и HTML, и поведение сервера, и индексацию.
- Откройте проблемный URL и убедитесь, что в исходном коде есть нужный
noindexили редирект. - Проверьте ответ сервера через
curl -I https://example.com/page/— для редиректа должен быть статус 301. - Посмотрите, не остались ли эти URL в sitemap.
- В Google Search Console отправьте проверку конкретного URL через инструмент проверки страницы.
- Через несколько дней проверьте, уменьшилось ли количество мусорных страниц в отчете по индексированию.
Если вы используете кэш, очистите его после изменений. Иначе можно проверить старую версию страницы и решить, что правка не сработала.
Частые ошибки и как их исправить
Ошибка 1. Закрыли страницу в robots.txt вместо noindex
Если URL уже в индексе, запрет в robots.txt не всегда решает проблему быстро. Поисковик может оставить URL в индексе без контента. Для уже существующих дублей чаще нужен noindex или 301-редирект.
Ошибка 2. Поставили noindex на важные архивы
Иногда под раздачу попадают полезные рубрики или страницы пагинации, которые реально помогают находить контент. Перед массовым закрытием проверьте, есть ли у архива входящий трафик и внутренние ссылки.
Ошибка 3. Получили конфликт canonical и redirect
Если страница редиректится на другой URL, canonical на ней уже не нужен. Когда SEO-плагин и тема одновременно управляют canonical, поисковик может видеть противоречивые сигналы. Оставьте один источник логики.
Ошибка 4. Закрыли теги, но не почистили sitemap
Если URL исключен из индекса, но продолжает попадать в карту сайта, вы сами подсказываете поисковику лишние страницы. После изменения настроек проверьте sitemap и уберите оттуда нецелевые архивы.
Практические советы по безопасности и производительности
Чистка дублей влияет не только на SEO, но и на нагрузку. Чем меньше мусорных архивов и служебных страниц, тем меньше лишних запросов к базе и обхода ботами. Это особенно заметно на сайтах с большим количеством тегов, фильтров и медиа.
- не генерируйте десятки пустых тегов ради «SEO-структуры»;
- не оставляйте открытыми страницы поиска и вложений без необходимости;
- проверяйте, не создают ли плагины фильтров параметры URL, которые индексируются;
- после изменений очищайте серверный и фронтенд-кэш;
- не ставьте несколько SEO-плагинов одновременно.
Если нужен более системный подход к чистке дублей, служебных страниц и лишних мета-тегов, имеет смысл смотреть в сторону инструментов, которые умеют не только ставить noindex, но и убирать лишнюю обвязку сайта. Но даже в этом случае сначала определите, какие URL реально должны остаться в индексе, а какие — нет.
Хорошая проверка — открыть сайт как поисковый бот и как обычный пользователь. Если пользователь видит нормальную навигацию, а в индексе остаются только полезные страницы, задача решена правильно.