Ситуация типичная: на сайте появляются служебные страницы, дубли архивов, результаты поиска, страницы пагинации или тестовые материалы, которые не должны попадать в индекс. Если просто поставить общий SEO-плагин и включить все подряд, легко закрыть лишнее или, наоборот, оставить мусор в поиске. Ниже — рабочий сценарий, где видно, что именно закрывать, чем это делать и как проверить, что поисковики действительно перестали индексировать нужные URL.
Что именно нужно закрывать от индексации
Не все страницы одинаково полезны для поиска. На практике чаще всего закрывают:
- страницы поиска по сайту вида
?s=; - архивы автора на небольших или однопользовательских сайтах;
- служебные страницы: корзина, оформление, личный кабинет, если они есть;
- страницы пагинации с тонким контентом;
- теги и рубрики, которые дублируют основной контент;
- тестовые, черновые и технические страницы, если они уже опубликованы по ошибке.
Важно разделять запрет индексации и запрет обхода. Для поисковика это не одно и то же. Если вы закрыли URL только в robots.txt, робот может перестать его сканировать, но уже известный адрес иногда продолжит отображаться в выдаче без сниппета. Для удаления из индекса обычно нужен мета-тег noindex или заголовок X-Robots-Tag.
Диагностика: почему страница вообще попала в индекс
Перед правкой полезно понять, какой именно механизм сейчас работает. Иначе легко лечить не ту причину.
Проверка в исходном коде
Откройте страницу и посмотрите, есть ли в <head> строка вида <meta name="robots" content="noindex,follow">. Если её нет, страница может индексироваться без ограничений, даже если в админке где-то включена общая настройка.
Проверка robots.txt
Если URL закрыт только директивой Disallow, это не гарантирует удаление из индекса. Такой способ полезен для экономии краулингового бюджета, но не заменяет noindex.
Проверка в Google Search Console
Откройте проверку URL и посмотрите статус. Если страница «доступна, но запрещена к индексации» — это один сценарий. Если «обнаружена, но не проиндексирована» — другой. От этого зависит, нужно ли менять мета-тег, robots.txt или каноникал.
Пошаговое решение без плагина
Если задача точечная и вы контролируете тему или дочернюю тему, проще добавить логику в functions.php или в небольшой mu-plugin. Так вы не завязываетесь на интерфейс SEO-плагина и не трогаете лишние страницы.
1. Добавить noindex для выбранных шаблонов и архивов
Ниже пример, который ставит noindex,follow для поисковой выдачи по сайту, архивов автора и страниц тегов. Логику можно расширить под свои условия.
<?php
add_filter('wp_robots', function (array $robots) {
if (is_search() || is_author() || is_tag()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Этот вариант использует штатный фильтр wp_robots, который есть в современных версиях WordPress. Он безопаснее, чем ручная печать мета-тега в шаблоне, потому что не ломает другие настройки роботов.
2. Закрыть отдельную страницу по ID
Если нужно закрыть конкретную страницу, например страницу с внутренними инструкциями, можно проверить ID и добавить noindex только для неё.
<?php
add_filter('wp_robots', function (array $robots) {
if (is_page(123)) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
});Здесь важно не путать nofollow и follow. Если страница служебная и не должна передавать вес дальше, nofollow уместен. Если это обычный контент, но его не надо индексировать, чаще достаточно noindex,follow.
3. Добавить X-Robots-Tag для файлов или нестандартных ответов
Для PDF, выгрузок или отдельных типов ответов удобнее использовать заголовок X-Robots-Tag. Это полезно, если файл отдается не через обычный шаблон WordPress.
<?php
add_action('send_headers', function () {
if (is_page('download')) {
header('X-Robots-Tag: noindex, nofollow', true);
}
});Такой подход работает только если заголовки еще не отправлены. Если вы выводите что-то раньше времени, например через ранний echo, заголовок не установится.
Сравнение подходов: плагин, код, robots.txt
| Способ | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно закрыть много типов архивов без кода | Быстро, есть интерфейс | Легко включить лишнее, зависит от настроек плагина |
Код через wp_robots | Точечные правила для страниц и архивов | Прозрачно, без лишних зависимостей | Нужно аккуратно поддерживать код |
robots.txt | Нужно ограничить обход, а не удалять из индекса | Просто и быстро | Не решает задачу удаления уже известных URL |
Если на сайте уже стоит SEO-плагин, не обязательно от него отказываться. Но для точечной настройки лучше понять, где именно задается правило: в плагине, в теме или в серверных заголовках. Иначе можно получить конфликт, когда один источник ставит index, а другой — noindex.
Как проверить, что решение сработало
Проверка нужна не только в коде, но и на стороне поисковика. Иначе можно увидеть правильный мета-тег и при этом оставить старую версию страницы в индексе.
- Откройте страницу в браузере и проверьте исходный код: должен быть
noindexили заголовокX-Robots-Tag. - Проверьте ответ сервера через
curl -I https://example.com/page/и убедитесь, что заголовок действительно отдается. - В Google Search Console запустите проверку URL и посмотрите, как робот видит страницу.
- Если страница уже в индексе, отправьте её на повторную проверку после изменения правил.
Пример проверки заголовков:
curl -I https://example.com/download/В ответе ищите строку X-Robots-Tag: noindex, nofollow. Если её нет, значит условие не сработало или заголовок перезаписывается другим кодом.
Частые ошибки и как их исправить
Закрыли в robots.txt и ждете удаления из индекса
Это самая частая ошибка. Disallow ограничивает обход, но не гарантирует удаление URL из поиска. Если страница уже известна поисковику, добавьте noindex через мета-тег или заголовок.
Поставили noindex на все архивы без проверки
Иногда вместе с мусорными архивами закрывают и полезные страницы рубрик. В результате трафик падает не из-за алгоритмов, а из-за собственной настройки. Сначала проверьте, какие архивы реально нужны для навигации и поиска.
Конфликтуют два источника правил
Например, SEO-плагин ставит index,follow, а тема через wp_robots добавляет noindex. В итоге поведение становится непредсказуемым. Решение простое: оставьте один источник правды и уберите дублирующую логику.
Используют nofollow вместо noindex
nofollow не запрещает индексацию страницы. Он только влияет на переход по ссылкам. Если задача именно убрать страницу из поиска, нужен noindex.
Практические советы по безопасности и производительности
Если вы закрываете от индексации служебные страницы, не полагайтесь только на SEO-настройки. Для конфиденциальных разделов лучше ограничить доступ авторизацией, а не надеяться на роботов. Поисковый запрет не защищает от прямого захода по URL.
Для больших сайтов полезно не плодить лишние архивы и дубли на уровне структуры. Иногда проще отключить ненужные типы архивов, чем потом закрывать их по одному. Если нужен более широкий набор инструментов для чистки дублей и технических настроек, можно посмотреть на Clearfy Pro: https://wpshop.ru/plugins/clearfy.
И еще один практический момент: не меняйте правила индексации массово перед релизом без проверки шаблонов. На реальном сайте достаточно одной неверной функции в теме, чтобы закрыть от индексации весь контент.
Когда лучше использовать плагин, а когда код
Если у вас редакционный сайт с несколькими типами архивов, плагин удобнее для контент-менеджера. Если задача точечная — например, закрыть только страницу поиска, конкретный архив и один внутренний раздел — код надежнее и проще в сопровождении. В обоих случаях проверяйте результат не по галочке в админке, а по фактическому HTML и заголовкам ответа.
Рабочий ориентир простой: если вы можете однозначно ответить, какой URL закрываете, чем именно закрываете и как проверяете результат, значит настройка сделана правильно. Если хотя бы один из этих пунктов неясен, лучше сначала пройти диагностику, а потом уже вносить изменения.