На небольших и средних WordPress-сайтах дубли чаще всего появляются не из-за контента, а из-за служебных архивов: /author/, /tag/, /date/, страниц пагинации и иногда вложенных таксономий. В итоге в индексе оказываются страницы, которые не несут самостоятельной ценности, а поисковик тратит обход на мусорные URL. Если сайт уже живой, задача обычно не в том, чтобы «всё закрыть», а в том, чтобы аккуратно оставить полезные архивы и убрать лишние.
Когда это действительно проблема
Сценарий узнаётся быстро: в site:-поиске всплывают архивы авторов без нормального текста, теги дублируют рубрики, а страницы по датам вообще не нужны для пользователя. В Search Console при этом можно увидеть, что часть таких URL попадает в индекс, а часть болтается как crawled - currently not indexed или Duplicate, Google chose different canonical. Это не всегда критично, но на контентных сайтах с ограниченным бюджетом обхода лучше не оставлять поисковику лишнюю работу.
Что проверить до изменений
Сначала нужно понять, какие архивы реально используются. Иногда авторские страницы нужны для медиа, экспертных блогов или редакций, а теги — это нормальная навигация. Ошибка здесь одна: закрыть всё подряд и потом удивляться, что исчезли полезные посадочные страницы.
- Есть ли у архивов авторов уникальные описания и список публикаций.
- Используются ли теги как полноценная навигация, а не как свалка меток.
- Нужны ли архивы по датам для пользователей или это просто технический след темы.
- Есть ли у рубрик и тегов заполненные title, description и canonical.
Диагностика: где именно появляются дубли
Самый практичный способ — посмотреть, какие шаблоны генерирует тема и что реально отдает сервер. Для этого не нужен сложный стек: достаточно открыть несколько URL и проверить заголовки, HTML и мета-теги.
Проверка через браузер и исходный код
Откройте архив автора, тег и дату. В исходнике ищите:
<meta name="robots" content="index,follow">или отсутствиеnoindex;<link rel="canonical" ...>— у архивов он должен указывать на саму страницу, а не на главную;- заголовки и описание, которые повторяются на десятках страниц;
- пагинацию, если она индексируется без необходимости.
Проверка через WP-CLI и поиск по базе
Если доступен WP-CLI, быстро найдите, какие архивы вообще существуют и как настроены записи. Это полезно, когда проблема не в SEO-плагине, а в теме или в кастомном коде.
wp post list --post_type=post --fields=ID পোস্ট_title --format=table
Команда выше не покажет архивы напрямую, но помогает понять, есть ли у сайта достаточно контента для смысловых рубрик и тегов. Если контента мало, архивы почти всегда будут слабее отдельных записей.
Пошаговое решение: закрываем только лишнее
Есть три рабочих подхода: через SEO-плагин, через код темы или через комбинацию обоих. Если у вас уже стоит плагин для SEO, проще и безопаснее использовать его настройки. Если нужен точечный контроль без лишних зависимостей, можно добавить фильтры в functions.php дочерней темы или в мини-плагин.
Вариант 1. Настроить noindex в SEO-плагине
У большинства SEO-плагинов есть отдельные переключатели для архивов авторов, дат и тегов. Логика простая: если архив не несет самостоятельной ценности, ставим noindex,follow, но не ломаем навигацию по сайту. Это лучше, чем закрывать URL в robots.txt, потому что поисковик все равно может увидеть ссылку и сохранить адрес в индексе без содержимого.
Если используете Clearfy Pro, там как раз есть инструменты для чистки дублей и технических страниц. Для типового блога это часто быстрее, чем вручную править шаблоны. Ссылка на продукт: Clearfy Pro.
Вариант 2. Добавить noindex для архивов кодом
Если нужен контроль без плагина, можно повесить фильтр на robots meta. Ниже пример для авторов, тегов и дат. Код нужно добавлять в дочернюю тему или в собственный плагин, а не в родительскую тему, иначе он слетит при обновлении.
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_author() || is_tag() || is_date() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );
Этот вариант хорош тем, что не зависит от интерфейса плагина. Но он не решает вопрос canonical и title, если тема выводит их криво. Поэтому после внедрения обязательно проверьте исходный HTML.
Вариант 3. Оставить только полезные архивы
Иногда лучше не закрывать все архивы подряд, а оставить, например, рубрики и один-двa сильных тега. Тогда схема такая: рубрики индексируются, теги и архивы дат закрываются, авторские страницы либо закрываются, либо получают уникальный контент. Это особенно полезно для сайтов, где рубрики — основная структура, а теги используются как вспомогательные метки.
| Подход | Когда подходит | Минус |
|---|---|---|
| SEO-плагин | Нужно быстро и без кода | Зависимость от интерфейса и настроек |
| Код в теме/плагине | Нужен точечный контроль | Требует аккуратного деплоя |
| Оставить только полезные архивы | Есть сильная структура контента | Нужно анализировать сайт вручную |
Проверка результата после внедрения
После изменений не ограничивайтесь просмотром кода страницы. Нужно проверить, как URL отдаются поисковику и не осталось ли конфликтов между noindex, canonical и sitemap.
Что смотреть в первую очередь
- Откройте архив и убедитесь, что в HTML есть
noindexдля нужных типов страниц. - Проверьте, что canonical указывает на сам архив, а не на главную.
- Посмотрите, не попали ли закрытые URL в XML-карту сайта.
- В Search Console отправьте страницу на повторную проверку после переобхода.
Быстрая проверка через curl
Если нужно убедиться без браузера, можно посмотреть HTML и заголовки ответа. Это особенно удобно на staging-окружении.
curl -I https://example.com/tag/sample/
curl -s https://example.com/tag/sample/ | grep -i robots
Если сервер или кэш отдают старую версию, вы увидите это сразу. В таком случае сначала очищайте кэш страницы и только потом проверяйте мета-теги.
Частые ошибки и как их исправить
Самая распространенная ошибка — закрыть архивы в robots.txt и считать задачу решенной. Это не гарантирует удаление URL из индекса, а иногда мешает поисковику увидеть noindex на самой странице. Для технической индексации это плохой путь.
Ошибка 1. Закрыли в robots.txt, но URL остались в индексе
Причина простая: поисковик уже знает адрес и может хранить его без обхода контента. Исправление — убрать блокировку в robots.txt, вернуть доступ к странице и поставить noindex,follow.
Ошибка 2. Поставили noindex на все архивы без разбора
Так часто ломают полезные рубрики. Если архивы приносят трафик или помогают навигации, их нельзя закрывать автоматически. Сначала проверьте данные по поисковым запросам и внутренним переходам.
Ошибка 3. Canonical указывает не туда
Некоторые темы или плагины по ошибке ставят canonical на главную, особенно на страницах пагинации. Это мешает индексации и создает путаницу. Исправление — обновить SEO-настройки темы или переопределить шаблон вывода canonical.
Ошибка 4. Кэш не сброшен после правок
Если стоит серверный кэш, CDN или плагин кэширования, старый HTML может жить дольше, чем вы ожидаете. После правок очищайте кэш страницы, объектный кэш и, если есть, кэш CDN. Иначе проверка будет показывать старую разметку.
Когда лучше не трогать архивы кодом
Если у вас уже есть SEO-плагин с понятными настройками, не стоит дублировать логику в functions.php. Два источника правды почти всегда приводят к конфликтам: один ставит noindex, другой убирает его, третий меняет canonical. В таком случае проще оставить один механизм и документировать, где именно он управляется.
Для проектов, где важна техническая чистота и регулярная публикация, удобнее держать такие настройки централизованно. Если нужен не только контроль дублей, но и чистка лишних служебных элементов, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy.
Мини-чек-лист перед выкладкой
- Проверены архивы авторов, тегов и дат.
- Определено, какие архивы должны остаться в индексе.
- Для лишних архивов включен
noindex,follow. - Canonical не указывает на главную страницу.
- XML-карта сайта не содержит закрытые URL.
- Кэш очищен на сайте и на CDN.
- Проверка в исходном HTML подтверждает новые мета-теги.
Если после правок в Search Console еще видны старые статусы, это нормально: поисковику нужно время на переобход. Важнее, чтобы новые ответы сервера были консистентными и не конфликтовали между собой. Тогда лишние архивы постепенно выпадут из индекса, а полезные страницы останутся доступными и для пользователей, и для роботов.