На небольшом и среднем WordPress-сайте чаще всего индексируются не только полезные страницы, но и служебные архивы: страницы авторов без контента, архивы по датам, теги с пустыми подборками, пагинация, которая не даёт ценности. Проблема не в самом наличии архивов, а в том, что поисковик тратит обход на слабые URL и начинает показывать в выдаче то, что вы не планировали продвигать.
Если задача именно в управлении индексацией, а не в удалении дублей или редиректах, правильный путь — точечно закрыть от индексации ненужные архивы и проверить, что важные страницы не пострадали. Ниже — рабочий сценарий для WordPress без выдуманных хуков и без лишней магии.
Когда noindex действительно нужен
Не все архивы надо закрывать. Например, рубрики с нормальной структурой и уникальными описаниями могут приносить трафик. А вот страницы авторов на сайте с одним редактором, архивы по датам и технические таксономии часто только создают шум. Сначала стоит понять, что именно вы хотите убрать из индекса:
- архивы авторов, если у автора нет отдельной ценности для поиска;
- архивы по датам, если сайт не новостной и такие страницы не используются как посадочные;
- теги, которые дублируют рубрики или создаются без системы;
- страницы пагинации архивов, если они не несут самостоятельной пользы;
- служебные архивы вложений и медиа-страниц, если они открыты для индексации.
Что не стоит закрывать автоматически
Не ставьте noindex на всё подряд. Если у рубрики есть нормальный контент, она может ранжироваться лучше отдельных записей по широкому запросу. То же касается авторских страниц в медиа-проектах, где профиль автора — часть доверия. Решение всегда зависит от структуры сайта, а не от универсального шаблона.
Диагностика: какие страницы уже попали в индекс
Перед изменениями проверьте, что именно поисковик видит сейчас. Для этого достаточно трёх источников: Google Search Console, Яндекс.Вебмастер и обычный поиск по сайту. В Search Console откройте отчёт по индексированию и посмотрите, какие типы страниц попадают в индекс чаще всего. Если в выдаче всплывают URL вида /author/, /date/, /tag/ или /page/2/, это хороший кандидат на настройку noindex.
Полезно также проверить исходный код страницы. Если в <head> уже есть мета-тег robots с noindex, но страница всё равно индексируется, значит, проблема может быть в кэше, в конфликте SEO-плагинов или в том, что поисковик ещё не переобходил URL.
Пошаговая настройка noindex без плагина
Самый предсказуемый способ — добавить мета-тег robots через wp_head только для нужных типов архивов. Это удобно, если вы не хотите зависеть от интерфейса SEO-плагина или вам нужно тонко управлять логикой.
<?php
add_action( 'wp_head', function () {
if ( is_author() || is_date() || is_tag() ) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
if ( is_paged() && ( is_category() || is_tag() || is_author() || is_date() ) ) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
}, 1 );Этот вариант простой, но у него есть нюанс: если на сайте уже работает SEO-плагин, он тоже может выводить robots. В таком случае в HTML можно получить два тега, а это уже плохая практика. Поэтому сначала проверьте, не дублируется ли разметка.
Как сделать это аккуратнее через фильтр
Если у вас установлен SEO-плагин, лучше использовать его штатные фильтры. Например, в Yoast SEO можно управлять robots через фильтры, а в Rank Math — через настройки конкретных архивов. Но если нужен кодовый путь без привязки к интерфейсу, можно ограничиться собственным выводом только тогда, когда SEO-плагин не активен или не управляет этой страницей.
Ниже пример для темы или мини-плагина, который добавляет noindex только на архивы авторов и дат, не трогая рубрики:
<?php
add_action( 'wp_head', function () {
if ( is_author() || is_date() ) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
}, 1 );Если нужно закрыть ещё и страницы вложений, лучше делать это отдельно и осознанно. Медиа-страницы часто создают бесполезные URL, но иногда на них завязаны внешние ссылки или старые материалы.
Сравнение подходов: плагин, код, ручная настройка
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы без кода | Удобно, есть интерфейс, меньше риска ошибиться | Легко забыть о конфликте настроек и дубликатах robots |
| Код в теме или mu-plugin | Нужна точная логика и контроль | Прозрачно, можно ограничить по условиям | Требует проверки после обновлений темы |
| Ручная правка robots.txt | Нужно ограничить обход, а не индексацию | Просто для закрытия отдельных путей | Не заменяет noindex и не убирает URL из индекса |
Важно не путать noindex и Disallow. Если вы закрыли путь в robots.txt, поисковик может не увидеть мета-тег на странице и не всегда корректно обработает её удаление из индекса. Для уже известных URL чаще безопаснее сначала поставить noindex,follow, а не рубить обход целиком.
Проверка результата после внедрения
После изменения откройте несколько страниц вручную и посмотрите исходный код. В браузере это можно сделать через просмотр HTML или через инструменты разработчика. На нужных архивных страницах должен появиться один корректный тег:
<meta name="robots" content="noindex,follow">Дальше проверьте:
- нет ли второго robots-тега от SEO-плагина;
- не закрылся ли случайно архив рубрик;
- не выводится ли noindex на главной странице;
- не кешируется ли старая версия страницы на стороне CDN или плагина кэша;
- видит ли Search Console обновлённый HTML после переобхода.
Если сайт использует агрессивный кэш, очистите его после правки. Иначе вы будете проверять старую версию страницы и решите, что код не работает.
Частые ошибки и как их исправить
Ставят noindex через robots.txt
Это частая ошибка. Robots.txt управляет обходом, а не индексацией в чистом виде. Для уже найденных страниц этого часто недостаточно. Если цель — убрать URL из выдачи, нужен мета-тег robots или заголовок X-Robots-Tag.
Закрывают все архивы без разбора
После такого решения можно потерять полезные страницы категорий и теги, которые реально собирали трафик. Сначала проверьте статистику и поисковые запросы по конкретным URL, потом закрывайте только слабые типы страниц.
Получают конфликт SEO-плагина и кода
Если плагин уже управляет robots, а вы добавили свой тег вручную, в HTML может появиться дубль. Исправление простое: либо оставляете настройку в плагине, либо отключаете её и переносите логику в код. Два источника управления одной и той же страницей — плохая идея.
Ожидают мгновенного исчезновения из поиска
После внедрения noindex поисковик не убирает URL сразу. Нужен переобход, а иногда и несколько циклов обновления. Это нормальное поведение, а не ошибка.
Практические советы по безопасности и производительности
Если вы вносите код в тему, лучше не править functions.php напрямую на боевом сайте. Используйте дочернюю тему или небольшой mu-plugin. Так изменение не потеряется после обновления и его проще отключить при проблеме.
Для сайтов с большим количеством архивов полезно дополнительно проверить, не генерируются ли лишние страницы пагинации и фильтров. Иногда проблема не в индексации как таковой, а в том, что WordPress создаёт слишком много слабых URL. В таких случаях noindex — только часть решения, а не замена нормальной архитектуре сайта.
Если нужен более широкий контроль над дублями, архивами и служебными страницами, иногда проще собрать это в одном SEO-решении, чем поддерживать отдельные куски кода. Например, в Clearfy Pro есть инструменты для чистки и отключения лишних элементов, но использовать их стоит только после проверки, какие именно URL вам нужны в индексе, а какие нет: https://wpshop.ru/plugins/clearfy.
Если после настройки вы хотите быстро проверить, какие страницы ещё открыты для индексации, удобнее смотреть не только HTML, но и карту сайта, отчёты Search Console и выборку по типам архивов. Тогда видно, где noindex сработал, а где логика темы или плагина его перезаписывает.