Если на сайте один автор, а архивы дат и служебные страницы уже успели попасть в индекс, поисковик начинает тратить обход на дубли и малополезные URL. На небольших проектах это часто выглядит как «вроде всё нормально, но в индексе мусор». Решение обычно не в полном запрете robots.txt, а в точечной настройке: какие архивы закрыть, какие оставить, и как проверить, что поисковый робот увидел именно то, что вы задумали.
Когда это действительно проблема
Сначала стоит понять, что именно мешает. Закрывать от индексации всё подряд не нужно: архивы авторов полезны на многопользовательских сайтах, а архивы дат иногда нужны новостным проектам. Но если у вас:
- один автор и архив автора дублирует главную или рубрики;
- архивы по датам пустые или почти пустые;
- в индексе есть страницы пагинации, которые не несут самостоятельной ценности;
- поиск показывает служебные URL вместо нормальных страниц;
тогда точечное закрытие от индексации оправдано. Важно не путать noindex и блокировку в robots.txt: если вы запретите обход, поисковик может не увидеть мета-тег noindex на странице и оставить её в индексе как «URL без контента». Для таких задач обычно безопаснее отдавать страницу с доступным HTML и мета-тегом noindex, follow.
Диагностика: что именно уже индексируется
Перед правками проверьте, какие URL реально попали в индекс и как они выглядят в выдаче. Это можно сделать без сложных инструментов:
- Вбейте в поиск
site:example.com author,site:example.com/2024/илиsite:example.com/page/. - Откройте несколько найденных страниц и посмотрите исходный код: есть ли
<meta name="robots" content="noindex,follow">. - Проверьте, не закрыты ли эти URL в
robots.txtраньше, чем вы добавилиnoindex. - Если используете SEO-плагин, убедитесь, что он не конфликтует с ручными правками в теме.
Если страница уже закрыта в robots.txt, а в индексе всё равно висит, это не редкость. Поисковик может помнить URL долго, особенно если на него есть внутренние ссылки. Поэтому сначала лучше убрать лишние ссылки и поставить noindex, а уже потом при необходимости ограничивать обход.
Пошаговое решение через код темы или мини-плагин
Самый предсказуемый вариант — добавить логику в мини-плагин или в functions.php дочерней темы. Так вы не зависите от конкретного SEO-плагина и можете точно управлять условиями.
1. Добавляем noindex для архивов автора и дат
Ниже пример, который добавляет noindex, follow на архивы автора, даты, поиск и служебные страницы пагинации. Его можно адаптировать под свой сайт: например, оставить архивы автора для многопользовательского блога и закрыть только даты.
add_action('wp_head', function () {
if (is_admin()) {
return;
}
if (is_author() || is_date() || is_search() || is_attachment()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
if (is_paged() && (is_home() || is_archive())) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
}, 1);Здесь есть важный нюанс: если на странице уже выводится robots-мета от SEO-плагина, вы можете получить два тега. Это не всегда критично, но лучше не плодить дубли. Если у вас установлен Yoast SEO, Rank Math или аналог, сначала проверьте, умеет ли он закрывать нужные типы архивов штатно. Код нужен тогда, когда стандартных настроек не хватает.
2. Убираем лишние ссылки на архивы автора
Даже если архив закрыт от индексации, на него могут вести внутренние ссылки из карточек постов, блока автора или хлебных крошек. Для одиночного сайта это часто лишнее. В таком случае можно заменить ссылку на имя автора на обычный текст.
add_filter('the_author_posts_link', function ($link) {
if (is_single() && !is_admin()) {
return wp_strip_all_tags($link);
}
return $link;
});Этот пример не универсален для всех тем, потому что некоторые темы формируют ссылку автора не через этот фильтр. Но как ориентир он полезен: если вы видите, что архив автора не нужен, уберите на него внутренние ссылки там, где это возможно.
Сравнение подходов: плагин, код, robots.txt
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть стандартные архивы | Меньше кода, есть интерфейс | Не всегда гибко, возможны конфликты с темой |
| Код в теме или мини-плагине | Нужны точные условия для конкретного сайта | Полный контроль, легко проверить логику | Нужно следить за обновлениями и совместимостью |
| robots.txt | Нужно ограничить обход отдельных технических URL | Просто и быстро | Не заменяет noindex, может оставить URL в индексе |
Если задача типовая, лучше сначала попробовать настройки SEO-плагина. Если у вас нестандартная структура архивов или конфликт с темой, код обычно надёжнее.
Проверка результата после внедрения
После правок не ограничивайтесь визуальной проверкой. Нужно убедиться, что поисковик видит именно тот ответ, который вы ожидаете.
- Откройте архив автора в браузере и посмотрите исходный код страницы.
- Проверьте наличие одного корректного robots-мета, без дублей.
- Убедитесь, что страница отдаёт
200 OK, а не редирект на главную без причины. - В Google Search Console отправьте URL на повторную проверку, если страница уже была в индексе.
- Проверьте внутренние ссылки: если архив больше не нужен, он не должен активно фигурировать в меню, блоках автора и хлебных крошках.
Если вы закрыли страницу от индексации, но она всё ещё показывается в выдаче, это не всегда ошибка. Поисковику нужно время, чтобы переобойти URL и обновить статус. Важнее, чтобы на самой странице уже был правильный noindex и не было новых внутренних ссылок, которые снова подталкивают её к индексации.
Частые ошибки и как их исправить
Закрыли в robots.txt, но не поставили noindex
Это самая частая ошибка. Поисковик может не увидеть мета-тег, если страница запрещена к обходу. Исправление простое: уберите запрет из robots.txt для конкретного URL и дайте странице отдать HTML с noindex, follow.
Добавили noindex дважды
Так бывает, когда код в теме дублирует настройку SEO-плагина. В исходнике появляются два одинаковых robots-мета. Обычно это не ломает сайт, но выглядит неаккуратно и усложняет диагностику. Оставьте один источник правды: либо плагин, либо код.
Закрыли архивы, но оставили ссылки на них в шаблоне
Если архив автора не нужен, не ограничивайтесь мета-тегом. Уберите ссылку из шаблона, иначе робот продолжит ходить по URL, а пользователи будут попадать на страницу, которая не несёт пользы.
Закрыли всё подряд, включая полезные страницы
Иногда под раздачу попадают рубрики, теги или страницы пагинации, которые реально нужны для навигации. Перед изменениями проверьте, какие архивы дают трафик и какие страницы участвуют во внутренней перелинковке. Не стоит закрывать то, что помогает пользователю и поисковику ориентироваться на сайте.
Безопасность и производительность: что учесть
С точки зрения производительности сам по себе вывод robots-мета почти ничего не стоит. Но если вы добавляете логику через PHP, следите, чтобы она была простой и не выполнялась на каждом запросе с тяжёлыми проверками. Не делайте лишних запросов к базе и не тяните внешние API ради такой задачи.
Если используете плагин для SEO и чистки дублей, проверьте, не отключает ли он одновременно канонические URL, хлебные крошки или разметку. Для подобных задач удобно держать изменения в одном месте и после каждого обновления темы сверять исходный код нескольких типовых страниц.
На практике хорошо работает такой порядок: сначала определить, какие архивы действительно лишние, затем закрыть их через noindex, follow, потом убрать внутренние ссылки и только после этого ждать переобхода в поиске. Это даёт предсказуемый результат без лишних побочных эффектов.