На живом сайте чаще всего нужно не «закрыть весь сайт от поиска», а точечно убрать из индексации конкретные страницы: служебные шаблоны, страницы с пустым или дублирующимся контентом, внутренний поиск, архивы с плохой ценностью, страницы пагинации в отдельных разделах. Если сделать это грубо через robots.txt, можно получить обратный эффект: URL останется в индексе без сниппета, а поисковик продолжит тратить краулинговый бюджет на мусорные адреса.
Надёжнее работать через noindex в HTML-мета-теге или через HTTP-заголовок X-Robots-Tag, а robots.txt использовать только как вспомогательный инструмент. Ниже — практический сценарий: как закрыть отдельные страницы WordPress, не сломать индексацию полезных материалов и проверить, что всё сработало.
Когда это действительно нужно
Не каждая «неважная» страница должна быть закрыта. Сначала проверьте, есть ли у URL самостоятельная ценность. Если страница нужна пользователю, но не должна ранжироваться, это хороший кандидат на noindex. Если страница техническая и не должна даже обходиться ботом, тогда можно дополнительно ограничить доступ, но это уже другой сценарий.
Типичные кандидаты на noindex
- страницы внутреннего поиска;
- архивы с пустым или почти пустым содержимым;
- страницы пагинации в разделах, где они создают дубли;
- служебные страницы авторизации, регистрации, восстановления пароля;
- страницы с фильтрами, которые генерируют много почти одинаковых URL;
- отдельные шаблоны, которые выводят мало уникального текста.
Диагностика: что именно сейчас индексируется
Перед правками посмотрите, какие URL уже попали в индекс и как они выглядят в HTML. Частая ошибка — закрыть не тот шаблон или поставить noindex только на часть страниц, а дубли остаются в других вариантах URL.
Что проверить вручную
- есть ли на странице мета-тег
<meta name="robots" content="noindex,follow">; - не закрыта ли страница одновременно в
robots.txtи черезnoindex; - не создаёт ли тема или плагин отдельный шаблон без нужных SEO-меток;
- не дублируется ли контент через параметры URL, архивы, пагинацию или поиск.
Если у вас есть доступ к исходному HTML, откройте страницу и найдите строку с robots. Если мета-тега нет, значит решение нужно внедрять на уровне темы, плагина или SEO-модуля.
Какой способ выбрать: плагин, код или заголовок
| Подход | Когда использовать | Плюсы | Ограничения |
|---|---|---|---|
| SEO-плагин | Если нужно быстро закрыть конкретные типы страниц без кода | Удобно для редактора и администратора | Не всегда гибко для нестандартных шаблонов |
| Код в теме или плагине | Если нужен точечный контроль над отдельными URL и шаблонами | Точно, предсказуемо, без лишних зависимостей | Нужно аккуратно тестировать после обновлений |
| X-Robots-Tag | Если нужно закрыть не HTML-страницу или управлять индексированием на уровне ответа сервера | Работает и для файлов, и для некоторых нестандартных ответов | Сложнее отлаживать, чем HTML-мета-тег |
Пошаговое решение через код
Если вам нужно закрыть от индексации конкретные страницы по условию, проще всего добавить фильтр в мини-плагин или в functions.php дочерней темы. Для WordPress это безопаснее, чем править шаблоны вручную в нескольких местах.
Вариант 1: добавить noindex на выбранные страницы
Пример ниже закрывает от индексации страницу поиска, страницу входа и несколько служебных шаблонов. Логику можно расширить под свой сайт.
<?php
add_filter( 'wp_robots', function( $robots ) {
if ( is_search() || is_page( array( 'login', 'register', 'password-reset' ) ) ) {
$robots['noindex'] = true;
$robots['nofollow'] = false;
}
return $robots;
} );
Фильтр wp_robots есть в современных версиях WordPress, и он удобен тем, что не требует вручную печатать мета-тег в шаблоне. WordPress сам соберёт корректный robots-мета-вывод.
Вариант 2: закрыть архивы или пагинацию по условию
Если проблема не в одной странице, а в целой группе URL, используйте более точные условия. Например, можно закрыть от индексации вторую и последующие страницы архива, если они не несут самостоятельной ценности.
<?php
add_filter( 'wp_robots', function( $robots ) {
if ( is_paged() && ( is_category() || is_tag() || is_author() ) ) {
$robots['noindex'] = true;
}
return $robots;
} );
Здесь важно не переборщить. Если у раздела сильная внутренняя перелинковка и полезные страницы глубокой пагинации, закрытие может ухудшить обход. Решение нужно проверять на конкретной структуре сайта.
Вариант 3: X-Robots-Tag для нестандартного ответа
Если нужно отдать noindex через заголовок, это можно сделать на уровне PHP. Такой способ полезен для файлов, выгрузок или нестандартных endpoint'ов, где HTML-мета-тег не подходит.
<?php
add_action( 'send_headers', function() {
if ( is_page( 'download' ) ) {
header( 'X-Robots-Tag: noindex, nofollow', true );
}
} );
Этот вариант не заменяет нормальную SEO-настройку для обычных страниц, но иногда удобен для точечных сценариев. Главное — не дублировать противоречивые правила в теме, плагине и серверной конфигурации одновременно.
Если используете SEO-плагин
На практике многие закрывают страницы через SEO-плагин, а код оставляют только для нестандартных случаев. Это нормально, если вы понимаете, где именно плагин пишет мета-теги и как он взаимодействует с шаблонами.
Например, в плагинах уровня Clearfy Pro есть инструменты для управления дублями и индексацией служебных страниц. Это удобно, когда нужно быстро привести в порядок несколько типов URL без ручного кода. Но даже в этом случае полезно проверить итоговый HTML и не полагаться только на галочки в админке.
Как проверить, что решение сработало
После внедрения не ограничивайтесь визуальной проверкой в админке. Нужно посмотреть фактический ответ страницы и убедиться, что поисковик видит именно то, что вы задали.
Чек-лист проверки
- откройте страницу в браузере и проверьте исходный код;
- найдите
meta name="robots"или заголовокX-Robots-Tag; - убедитесь, что нет конфликтующих директив вроде
indexв одном месте иnoindexв другом; - проверьте URL в Google Search Console, если сайт уже там подключён;
- посмотрите, не осталась ли страница в sitemap.xml, если вы сознательно не хотите её продвигать.
Для быстрой проверки заголовков удобно использовать инструменты разработчика браузера или curl:
curl -I https://example.com/login/
Если вы используете X-Robots-Tag, в ответе должен быть виден нужный заголовок. Если работает только HTML-мета-тег, заголовок может не меняться — это нормально.
Частые ошибки и как их исправить
Закрыли страницу в robots.txt вместо noindex
Это самая частая ошибка. Если URL уже известен поисковику, запрет в robots.txt не гарантирует удаление из индекса. В ряде случаев страница останется в выдаче без нормального сниппета. Для удаления из индекса нужен именно noindex или другой корректный сигнал для поисковика.
Поставили noindex, но оставили ссылку в sitemap
Если URL не должен индексироваться, не стоит одновременно активно подталкивать его через XML-карту сайта. Иначе вы создаёте противоречивые сигналы. Для служебных страниц лучше убрать их из sitemap на уровне SEO-плагина или генератора карты сайта.
Закрыли не тот шаблон
Иногда разработчик добавляет правило в шаблон страницы входа, а фактически WordPress отдаёт другой шаблон или плагин подменяет вывод. В итоге мета-тег не появляется. Проверяйте именно итоговый HTML, а не только код темы.
Смешали noindex и canonical без логики
Если страница закрыта от индексации, canonical должен вести на осмысленный канонический URL, а не на случайную главную. Неправильный canonical не всегда ломает индексацию сразу, но создаёт лишний шум и мешает поисковику понять структуру сайта.
Практические советы по безопасности и производительности
Точечная настройка индексации сама по себе не ускоряет сайт напрямую, но помогает убрать мусорные URL из обхода и уменьшить количество бесполезных страниц в индексе. Это особенно заметно на больших сайтах с архивами, фильтрами и внутренним поиском.
- не редактируйте
functions.phpосновной темы без дочерней темы или отдельного мини-плагина; - не закрывайте полезные посадочные страницы только потому, что они «похожи» на дубли;
- не используйте одновременно несколько SEO-плагинов с одинаковыми функциями;
- после изменений очистите кеш страницы и серверный кеш, если он есть;
- проверяйте, не генерирует ли тема отдельные архивы или страницы поиска с тем же контентом.
Если задача повторяется на нескольких проектах, имеет смысл вынести правила в небольшой собственный плагин. Так вы не потеряете настройки при смене темы и не будете искать правки по шаблонам через полгода.
Если нужен более широкий контроль над дублями, архивами и служебными страницами, иногда удобнее комбинировать ручной код с SEO-инструментами уровня Clearfy Pro: это не отменяет проверку HTML, но экономит время на рутине. Ссылка на продукт: https://wpshop.ru/plugins/clearfy.
Когда лучше не закрывать страницу от индексации
Если у страницы есть поисковый спрос, уникальный ответ на запрос пользователя или она поддерживает внутреннюю структуру сайта, не спешите ставить noindex. Иногда проблема не в самой странице, а в слабом контенте, плохом заголовке или дублирующем шаблоне. В таком случае правильнее доработать страницу, а не прятать её от поисковика.
Хорошее правило простое: если URL нужен только для навигации или технической работы — закрывайте. Если он может приносить трафик и решать пользовательскую задачу — сначала проверьте, можно ли сделать его полезнее.