Если сайт давно работает, в индексе часто скапливаются страницы, которые не дают трафик, но создают дубли: архивы по датам, страницы авторов без контента, служебные таксономии, пустые страницы пагинации. Самая частая ошибка — закрывать всё подряд через robots.txt. Это не убирает URL из поиска и не решает проблему дублей на уровне HTML.
Ниже — рабочий сценарий: что именно закрывать, чем это отличается от удаления из индекса, как сделать это в теме или через небольшой mu-plugin, и как проверить результат без гадания.
Какая проблема обычно всплывает
Симптомы похожи:
- в поиске видны страницы авторов, хотя у автора нет отдельной редакционной страницы;
- индексируются архивы по датам, которые дублируют рубрики и теги;
- появляются страницы пагинации с тонким контентом;
- в Search Console растёт число «Просканировано, но не проиндексировано» или «Дубликат, выбранная каноническая страница отличается»;
- в выдаче всплывают URL, которые не должны конкурировать с основными страницами.
Что важно не перепутать
noindex — это указание не индексировать страницу. robots.txt — это запрет на обход, но не гарантированное удаление URL из индекса. Если страница уже в поиске, обычно нужен именно noindex или редирект, а не только закрытие в robots.
Диагностика: какие архивы реально мешают
Сначала посмотрите, какие типы страниц уже существуют на сайте и что из этого имеет смысл оставлять открытым. Для небольших проектов часто достаточно закрыть архивы авторов и даты, но для новостных сайтов архивы дат могут быть полезны. Поэтому решение должно зависеть от структуры контента, а не от шаблона.
Проверьте:
- есть ли у авторов отдельные биографии и подборки материалов;
- используются ли архивы дат как навигация;
- есть ли у рубрик и тегов уникальные описания и реальная ценность;
- не создаёт ли плагин SEO свои канонические правила, которые конфликтуют с темой.
Быстрый технический тест: откройте исходный код страницы архива и посмотрите, есть ли там <meta name="robots" content="noindex,follow"> и корректный canonical. Если canonical указывает на саму страницу, а noindex отсутствует, архив может продолжать индексироваться.
Пошаговое решение без лишних плагинов
Если у вас нет SEO-плагина, который уже управляет мета-тегами, проще всего добавить логику в дочернюю тему или в отдельный mu-plugin. Так решение не потеряется при обновлении темы.
1. Закрываем архивы авторов и дат
Добавьте в functions.php дочерней темы или в mu-plugin такой код:
<?php
add_action('wp_head', function () {
if (is_author() || is_date()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
}, 1);
add_filter('wp_robots', function (array $robots) {
if (is_author() || is_date()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Здесь лучше использовать и wp_robots, и вывод в wp_head. В современных версиях WordPress фильтр wp_robots — основной путь, но если на сайте есть старые шаблоны или конфликтующие плагины, явный meta-тег помогает быстрее диагностировать проблему.
2. Для архивов тегов и рубрик оставляем только нужные
Не стоит автоматически закрывать все таксономии. Рубрики часто полезны для индексации, а теги — нет, особенно если их много и они дублируют рубрики. Можно закрыть только теги:
<?php
add_filter('wp_robots', function (array $robots) {
if (is_tag()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Если у вас теги используются как полноценная навигация и у них есть уникальные описания, не закрывайте их автоматически. Сначала проверьте, есть ли у них поисковый потенциал.
3. Убираем архивы из XML-карты сайта, если они закрыты
Если страница закрыта от индексации, она не должна оставаться в sitemap. Иначе вы сами отправляете поисковику противоречивый сигнал. В SEO-плагинах это обычно настраивается отдельно. Если вы пишете код вручную, не генерируйте закрытые архивы в карту сайта.
Для самописной карты сайта логика простая: исключайте URL, для которых выставлен noindex или которые отдают 404/410/редирект. Если sitemap генерирует плагин, проверьте его настройки, а не пытайтесь «перебить» это в теме.
Когда лучше использовать плагин, а не код
Если на сайте уже стоит SEO-плагин, не дублируйте его логику в теме. Это частая причина конфликтов: один слой ставит noindex, другой снимает, третий меняет canonical. В такой ситуации проще управлять архивами через один инструмент.
| Подход | Плюсы | Минусы | Когда выбирать |
|---|---|---|---|
| Код в теме / mu-plugin | Быстро, прозрачно, без лишних зависимостей | Нужно поддерживать вручную | Небольшой сайт, понятная структура |
| SEO-плагин | Удобные настройки, sitemap и robots в одном месте | Риск конфликтов с темой и другими плагинами | Если уже используется SEO-стек |
| Только robots.txt | Просто изменить | Не решает индексацию как таковую | Почти никогда как единственное решение |
Если нужен аккуратный контроль дублей и служебных страниц, в экосистеме WPShop для этого часто используют Clearfy Pro: он закрывает типовые SEO-задачи без ручного кода. Но если задача точечная, код в теме остаётся самым предсказуемым вариантом.
Проверка результата после внедрения
После правки не ограничивайтесь просмотром страницы в браузере. Проверьте три уровня:
- исходный код страницы архива — есть ли
noindex,follow; - ответ сервера — нет ли редиректа или ошибки;
- Search Console — как Google видит страницу после повторного обхода.
Для быстрой проверки можно использовать curl:
curl -I https://example.com/author/admin/
curl -s https://example.com/author/admin/ | grep -i robotsЕсли страница отдает 200 и в HTML есть нужный meta robots, это уже хороший признак. Но окончательный статус в индексе меняется не мгновенно: поисковику нужно пересканировать URL.
Частые ошибки и как их исправить
- Закрыли архив в robots.txt, но URL всё равно в поиске. Это ожидаемо. Добавьте
noindexили настройте редирект/410, если страница больше не нужна. - Поставили
noindex, но оставили URL в sitemap. Уберите его из карты сайта, иначе сигнал противоречивый. - Сделали правило в теме, а SEO-плагин его перезаписывает. Оставьте один источник правды: либо плагин, либо код.
- Закрыли все архивы подряд. Рубрики могут быть полезны для внутренней перелинковки и поиска. Не отключайте их без анализа.
- Использовали
noindexна страницах с важным контентом. Проверьте, не потеряете ли вы трафик из длинного хвоста.
Практические советы по безопасности и производительности
Если вы вносите изменения через тему, лучше вынести код в дочернюю тему или mu-plugin. Так вы не потеряете настройку при обновлении. Не редактируйте родительскую тему на живом сайте.
Для сайтов с большим количеством архивов полезно дополнительно:
- сократить число тегов, если они дублируют рубрики;
- убрать пустые авторские архивы;
- проверить, не создаёт ли плагин автогенерацию страниц без контента;
- не плодить служебные URL через фильтры и параметры в шаблонах.
Если нужно не только закрыть архивы, но и почистить сайт от дублей, служебных страниц и лишних SEO-элементов, удобнее собрать это в одном месте, чем размазывать по теме и плагинам. Иначе через полгода никто не вспомнит, где именно стоит правило.
В итоге рабочая схема простая: определите, какие архивы реально нужны, закройте лишние через wp_robots, уберите их из sitemap и проверьте результат в исходнике и Search Console. Это надёжнее, чем пытаться лечить индексацию только через robots.txt.