В WordPress дубли появляются не только из-за пагинации или архивов. Чаще всего индексируются служебные URL, страницы с параметрами, версии с тегами и категориями одновременно, а иногда — дубли из-за неправильных canonical или настроек плагина SEO. В результате поисковик тратит краулинговый бюджет на мусор, а в выдаче всплывают не те страницы, которые вы хотели продвигать.
Ниже — рабочая схема: как сначала найти источник дублей, затем закрыть их от индексации и проверить, что ничего важного не сломалось.
Какие дубли чаще всего появляются в WordPress
Перед правками полезно понять, что именно у вас дублируется. В WordPress типовые источники почти всегда одни и те же:
- архивы тегов и рубрик, которые повторяют контент записей;
- страницы пагинации вида
/page/2/; - страницы автора на небольших сайтах, где один автор и нет смысла держать отдельный архив;
- страницы поиска по сайту с параметром
?s=; - URL с UTM и другими параметрами, если они попадают в индекс;
- дубли из-за http/https, www/без www, слэша на конце и неправильных редиректов;
- страницы вложений медиафайлов, если они открыты как отдельные записи.
Если сайт уже живой, не пытайтесь закрыть всё подряд одним махом. Сначала проверьте, какие URL реально индексируются и какие из них дают трафик.
Диагностика: где искать проблему
Самый быстрый способ — посмотреть отчёт в Google Search Console по страницам и исключённым URL. Ищите признаки вроде «Просканировано, но не проиндексировано», «Дубликат, выбранная пользователем каноническая страница отличается» и страницы с параметрами.
Дополнительно проверьте сайт вручную:
- откройте рубрику, тег, автора и пагинацию;
- посмотрите исходный код и найдите
<link rel="canonical">; - проверьте, не отдаёт ли страница
noindexтам, где он не нужен; - сравните URL с и без слэша, с www и без него;
- проверьте, не создаёт ли тема или плагин отдельные страницы для вложений изображений.
Если у вас есть доступ к серверу, полезно посмотреть, какие URL чаще всего обходят боты. Это помогает отличить реальную проблему от единичных странных адресов.
Быстрая проверка через robots.txt и мета-теги
Не путайте robots.txt и noindex. Первый ограничивает обход, второй — индексацию. Если страница уже в индексе, один только Disallow не всегда быстро уберёт её из выдачи. Для дублей обычно нужен именно noindex плюс корректный canonical.
<meta name="robots" content="noindex,follow">Но ставить такой тег вручную на каждую страницу неудобно. В WordPress лучше управлять этим через SEO-плагин или код, если задача точечная.
Что закрывать, а что оставлять открытым
Не все архивы нужно прятать. Если рубрика или тег реально собирают трафик и имеют самостоятельную ценность, закрывать их от индексации не стоит. Аналогично с пагинацией: на крупных сайтах она может быть полезна для обхода, а на маленьких — только плодить мусор.
| Вариант | Когда подходит | Минус |
|---|---|---|
| Плагин SEO | Нужно быстро закрыть архивы, теги, автора, медиа | Меньше гибкости, чем в коде |
| Код в теме/плагине | Нужно точечно управлять отдельными типами страниц | Требует аккуратности и теста после обновлений |
| robots.txt | Нужно ограничить обход служебных URL | Не решает индексацию уже найденных страниц |
Если задача типовая, проще начать с настроек SEO-плагина. Если нужно закрыть только часть URL, лучше сделать это кодом, чтобы не ломать остальную структуру сайта.
Пошаговое решение через код
Ниже пример для случая, когда нужно закрыть от индексации архивы тегов, авторов и страницы вложений, но оставить рубрики открытыми. Код можно добавить в мини-плагин или в functions.php дочерней темы. Для боевого сайта мини-плагин безопаснее: при смене темы логика не потеряется.
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_tag() || is_author() || is_attachment() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
if ( is_search() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Этот вариант использует стандартный фильтр wp_robots, который есть в современных версиях WordPress. Он безопаснее, чем вручную печатать мета-тег в wp_head, потому что не конфликтует с ядром и другими плагинами.
Если нужно дополнительно убрать архивы автора с сайта, можно отключить саму страницу автора через редирект на 404 или на главную. Но делать это стоит только если вы уверены, что архив не нужен пользователям и не приносит трафик.
<?php
add_action( 'template_redirect', function() {
if ( is_author() ) {
wp_safe_redirect( home_url( '/' ), 301 );
exit;
}
} );Редирект — это уже более жёсткое решение. Оно подходит, когда архив автора не должен существовать вообще, а не просто быть закрытым от индексации.
Как сделать это через SEO-плагин
Если вы не хотите писать код, используйте настройки индексации в SEO-плагине. Смысл один и тот же: закрыть от индексации служебные архивы, а важные страницы оставить открытыми. В большинстве случаев это быстрее и безопаснее для контентного сайта.
Практический порядок такой:
- отключите индексацию тегов, если они дублируют рубрики и записи;
- проверьте архивы автора;
- закройте страницы поиска;
- убедитесь, что вложения перенаправляются на родительскую запись или закрыты от индексации;
- проверьте canonical на основных страницах.
Если на сайте много технического мусора, удобно сначала навести порядок в дублях и служебных страницах, а уже потом заниматься контентом. В таких задачах часто помогает Clearfy Pro: он закрывает часть типовых дублей и чистит лишние элементы без ручной правки шаблонов.
Проверка результата после внедрения
После изменений не ограничивайтесь визуальной проверкой. Нужно убедиться, что поисковик видит именно то, что вы задумали.
- Откройте страницу и проверьте исходный код: должен быть
noindex,followтам, где вы его ставили. - Проверьте canonical: он должен указывать на саму страницу или на основную версию URL.
- Посмотрите ответ сервера для старых URL с параметрами и дублей: должны быть редиректы или корректные мета-указания.
- В Search Console отправьте страницу на переобход через проверку URL.
- Через несколько дней сравните количество исключённых страниц и состояние индексации.
Для быстрой ручной проверки удобно использовать curl:
curl -I https://example.com/tag/sample/
curl -I https://example.com/author/admin/
curl -I https://example.com/?s=testЕсли вы видите 200 OK там, где ожидали редирект или закрытие от индексации, значит правка не сработала или её перебивает другой плагин.
Частые ошибки и как их исправить
Ставят noindex в robots.txt
Это частая путаница. robots.txt не управляет индексацией напрямую. Если страница уже в индексе, поисковик может продолжать её показывать. Для удаления из выдачи нужен noindex или редирект.
Закрывают всё подряд
Иногда после аудита выключают индексацию тегов, рубрик, автора, пагинации и поиска одновременно, а потом теряют полезные посадочные страницы. Сначала проверьте, какие архивы реально дают трафик и внутреннюю перелинковку.
Не проверяют canonical
Если canonical указывает не туда, поисковик может выбрать не ту версию страницы даже при правильном noindex. Особенно это заметно на страницах с параметрами и при смешении http/https или www/без www.
Делают редирект без анализа
Редирект автора или вложений на главную кажется удобным, но может ухудшить поведение пользователя и запутать поисковик. Если страница не нужна, чаще лучше отдавать 404/410 или закрывать её от индексации, а не отправлять всё на главную.
Правят только тему
Если логика индексации живёт в теме, при обновлении или смене шаблона она легко исчезает. Для технических правил лучше использовать мини-плагин или функциональность SEO-плагина.
Практические советы по безопасности и производительности
Чем меньше лишних архивов и служебных страниц открыто, тем меньше мусора обходит бот и тем проще поддерживать сайт. Это не «ускорение в два раза», а нормальная гигиена проекта.
- Не храните правила индексации в случайных сниппетах без контроля версий.
- После изменения robots/meta проверьте кэш: серверный, плагинный и CDN.
- Если используете кэш-плагин, очистите кэш после правок, иначе вы увидите старую версию страницы.
- Не закрывайте от индексации страницы, которые нужны для внутренней навигации и поиска по сайту.
- Если сайт большой, фиксируйте изменения в отдельном мини-плагине или в репозитории, а не в админке «на память».
Если проблема дублей системная, а не точечная, имеет смысл сначала привести в порядок техническую базу сайта, а уже потом заниматься контентом и ссылками. Иначе поисковик будет продолжать индексировать лишнее, даже если новые статьи написаны нормально.