На небольших и средних WordPress-сайтах архивы авторов, меток и часть таксономий часто попадают в индекс без пользы для поиска. В результате в выдаче появляются страницы с тонким контентом, дубли заголовков и лишние URL, которые конкурируют с основными материалами. Если задача не в том, чтобы полностью убрать архивы с сайта, а именно в том, чтобы они не индексировались, лучше разделить решение на два уровня: управление индексированием и контроль обхода.
Ниже разберём рабочую схему для WordPress: когда достаточно noindex, когда имеет смысл править robots.txt, как проверить результат и какие ошибки чаще всего ломают настройку.
Когда архивы авторов и меток действительно стоит закрывать
Не все архивы нужно прятать от поисковиков. Если у автора есть сильная редакционная страница с биографией, подборкой материалов и уникальным описанием, её можно оставить в индексе. То же самое касается меток, если они используются как полноценные тематические посадочные страницы, а не как технические ярлыки.
Закрывать от индексации обычно стоит:
- архивы авторов на сайтах с одним или двумя авторами, где страница автора дублирует список записей;
- метки, которые создаются автоматически и не несут самостоятельной ценности;
- пустые или почти пустые архивы таксономий;
- страницы пагинации архивов, если они не дают поисковому трафику и создают шум в индексе.
Диагностика: что именно уже индексируется
Перед правками проверьте, какие URL реально попали в поиск. Самый простой способ — запросы вида site:example.com author, site:example.com tag и поиск по конкретным шаблонам архивов. В Google Search Console полезно открыть отчёт по страницам и посмотреть, какие служебные URL получают статус «Проиндексировано».
Если на архиве уже есть теги noindex, но страница всё равно в индексе, причина обычно одна из трёх: поисковик ещё не переобходил URL, директива стоит не на той странице, либо архив закрыт только в robots.txt, но не помечен как noindex.
Что проверить до внедрения
- Есть ли на архиве уникальный текст или это просто список записей.
- Используется ли SEO-плагин, который уже управляет мета-robots.
- Не закрыт ли архив только через
Disallowвrobots.txtбезnoindex. - Не ломает ли текущая тема вывод архивов автора на фронтенде.
Пошаговое решение через код
Если нужен предсказуемый результат без зависимости от интерфейса плагина, можно добавить фильтры в functions.php дочерней темы или в небольшой mu-plugin. Этот вариант подходит, когда вы хотите закрыть именно архивы авторов и меток, а не весь сайт целиком.
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_author() || is_tag() ) {
$robots['noindex'] = true;
$robots['nofollow'] = false;
}
return $robots;
} );
add_action( 'template_redirect', function() {
if ( is_author() || is_tag() ) {
header( 'X-Robots-Tag: noindex, follow', true );
}
} );
Здесь есть два уровня. Первый добавляет мета-тег для HTML-страницы через wp_robots. Второй отправляет HTTP-заголовок X-Robots-Tag, что полезно для дополнительной страховки. В большинстве случаев достаточно одного способа, но на практике связка помогает, если тема или плагин переопределяют разметку в шаблоне.
Если нужно закрыть только метки, а архивы авторов оставить открытыми, условие можно сузить:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_tag() ) {
$robots['noindex'] = true;
}
return $robots;
} );
Что делать с robots.txt
robots.txt не убирает URL из индекса сам по себе. Он только ограничивает обход. Поэтому использовать его как единственный способ для удаления уже проиндексированных архивов — ошибка. Но как дополнительная мера он полезен, если вы хотите снизить нагрузку от обхода бесполезных страниц.
Пример аккуратной настройки:
User-agent: *
Disallow: /author/
Disallow: /tag/
Такой вариант имеет смысл только если вы понимаете последствия. Если поисковик не может обходить страницу, он может дольше видеть старую версию в индексе. Поэтому для удаления из поиска приоритет всё равно у noindex, а robots.txt — вторичный инструмент.
Сравнение подходов
| Подход | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
| SEO-плагин | Быстро, без кода, удобно для редакторов | Зависит от настроек и логики плагина | Если уже используется Yoast SEO, Rank Math или похожий плагин |
Код через wp_robots | Точно контролируете поведение | Нужно править тему или mu-plugin | Если нужен прозрачный и повторяемый результат |
robots.txt | Снижает обход служебных URL | Не удаляет URL из индекса напрямую | Как дополнение к noindex |
Проверка результата после внедрения
После правки не стоит сразу ждать исчезновения страниц из поиска. Сначала проверьте саму страницу.
- Откройте архив автора или метки в браузере.
- Посмотрите исходный код страницы и найдите
noindexв meta robots. - Проверьте заголовки ответа, если добавляли
X-Robots-Tag. - В Search Console отправьте URL на повторную проверку.
Для быстрой проверки заголовков можно использовать curl:
curl -I https://example.com/tag/sample/
В ответе должен быть виден заголовок X-Robots-Tag: noindex, follow, если вы его добавляли. Для HTML-страницы также проверьте наличие мета-тега в исходнике, а не только в визуальном DOM через DevTools, потому что некоторые скрипты могут менять разметку уже после загрузки.
Частые ошибки и как их исправить
Закрыли URL только через robots.txt
Это не удаляет страницу из индекса. Если URL уже известен поисковику, он может оставаться в выдаче. Исправление: добавьте noindex на саму страницу и дождитесь переобхода.
Поставили noindex не на тот шаблон
Иногда условие пишут слишком широко или слишком узко. Например, закрывают только is_archive(), но забывают про is_tag() и is_author(). Исправление: проверьте, какой именно тип архива открывается на проблемном URL.
SEO-плагин перезаписывает мета-robots
Если на сайте уже стоит Yoast SEO, Rank Math или другой SEO-плагин, он может управлять robots-метками сам. Тогда кастомный код нужно согласовать с настройками плагина, иначе получится конфликт. Исправление: либо настраивайте всё в одном месте, либо отключайте дублирующую логику.
Ожидают мгновенного удаления из поиска
Даже корректный noindex не работает мгновенно. Поисковик должен переобойти страницу. Исправление: отправьте URL на переобход и проверьте статус через несколько дней, а не через час.
Практические советы по безопасности и производительности
Если вы вносите код вручную, лучше не править основной functions.php на боевом сайте. Используйте дочернюю тему или mu-plugin, чтобы не потерять настройку при обновлении. Перед изменениями сделайте резервную копию и проверьте, нет ли на сайте кэширования HTML на уровне плагина или сервера: после внедрения может понадобиться очистка кэша, иначе вы увидите старую версию страницы.
Если на сайте много служебных архивов, имеет смысл не только закрыть их от индексации, но и сократить их генерацию там, где это возможно. Например, не плодить метки без редакционной необходимости. Для чистки дублей и технических страниц в WordPress иногда удобнее использовать Clearfy Pro, если нужен именно набор точечных SEO- и cleanup-настроек без ручного кода: https://wpshop.ru/plugins/clearfy.
Но даже при использовании плагина не отключайте проверку вручную: откройте страницу, посмотрите исходный код, заголовки и статус в Search Console. Это единственный способ убедиться, что настройка реально сработала, а не просто сохранилась в админке.