Коротко. Есть три способа закрыть контент от поисковиков, и они не взаимозаменяемы. Disallow в robots.txt запрещает роботу сканировать страницу, но не гарантирует, что адрес не появится в выдаче без сниппета, если на него ссылаются извне. Мета-тег noindex гарантированно убирает страницу из индекса, но требует, чтобы робот мог её просканировать — то есть противоречит одновременному запрету через robots.txt. Пароль на уровне сервера — единственный стопроцентный способ: робот вообще не может получить содержимое страницы. Для тестового сайта на этапе разработки нужен именно пароль, а не robots.txt — иначе есть риск, что сайт всё равно попадёт в индекс раньше запуска.
Почему один способ не решает все случаи
Задача «закрыть от индексации» звучит как одна задача, но на практике распадается на разные сценарии с разной ценой ошибки: закрыть страницу корзины на живом сайте — это одно, скрыть тестовую версию сайта на этапе разработки, чтобы её вообще никто не нашёл, — совсем другое. Три инструмента — robots.txt, noindex и пароль — решают эти сценарии по-разному, и выбор не «какой лучше», а «какой подходит под конкретную ситуацию». Ошибка, которая случается регулярно, — использовать Disallow там, где нужна гарантия полного скрытия, и получить страницу в выдаче месяц спустя, потому что на неё нашлась внешняя ссылка.
Способ 1: Disallow в robots.txt — запрет на сканирование, не на показ
Директива в файле robots.txt сообщает роботу: «сюда не заходи». Это работает для добросовестных роботов крупных поисковиков, но важно понимать границу метода — Disallow не удаляет страницу из индекса и не гарантирует, что адрес не появится в выдаче. Если на закрытую страницу ведёт внешняя ссылка с другого сайта, поисковик может знать о её существовании и показать URL в результатах поиска — без заголовка и описания, просто как голый адрес с пометкой «нет информации об этой странице», потому что прочитать содержимое ему запрещено, а сам факт существования адреса он всё равно видит по ссылке. Способ хорошо подходит для служебных разделов с большим объёмом технических URL — корзина, фильтры, результаты поиска по сайту — где внешних ссылок на конкретные адреса практически не бывает. Он плохо подходит, когда нужна гарантия, что конкретная страница не появится в поиске ни при каких обстоятельствах. Подробный разбор синтаксиса и того, какие директивы вообще стоит держать в robots.txt, — в материале про настройку robots.txt.
Способ 2: мета-тег noindex — гарантия исключения из индекса
Тег в коде страницы (или его аналог в HTTP-заголовке X-Robots-Tag для файлов, где нет HTML) — прямая команда поисковику не включать эту страницу в базу, даже если на неё есть внешние ссылки. Разница с Disallow принципиальная: чтобы увидеть noindex, робот должен сначала получить доступ к странице и прочитать её код, а значит, страница обязана быть открыта для сканирования. Отсюда правило, которое стоит держать в голове: не закрывайте страницу с noindex одновременно через Disallow — робот, которому запрещён вход, никогда не увидит тег внутри и запрет не сработает так, как задумано. Способ подходит для страниц, которые нужно исключить из поиска гарантированно, но не обязательно скрывать от людей и роботов вообще — например, страницы пагинации каталога или личные страницы пользователей, доступные по прямой ссылке.
Сколько времени занимает удаление уже проиндексированной страницы через noindex
Здесь нет мгновенного эффекта — исключение происходит только при следующем визите робота на страницу, а не в момент установки тега. На практике это занимает от нескольких дней до 2-3 недель в зависимости от того, как часто робот обходит конкретный раздел сайта. Ускорить процесс можно тем же способом, что и ускорение обычной индексации, — отправить URL на переобход вручную через панель Google Search Console или Яндекс.Вебмастера, это обычно сокращает срок до нескольких дней.
Способ 3: пароль на уровне сервера — единственная полная гарантия
HTTP-авторизация (базовая аутентификация) или защита паролем на уровне движка сайта закрывают доступ к содержимому раньше, чем робот вообще успевает что-то увидеть — запрос к странице возвращает требование ввести логин и пароль вместо содержимого. Это единственный из трёх способов, который не полагается на добросовестность робота и не оставляет технической лазейки: даже если на страницу ведёт тысяча внешних ссылок, без пароля никто, включая поисковик, не получит её содержимое. Обратная сторона — это неудобно для случаев, когда страница всё же должна быть доступна части посетителей без лишних барьеров, поэтому метод используют точечно: тестовые и промежуточные версии сайта на поддоменах вида staging.site.ru, черновики перед официальным запуском, внутренние инструменты компании.
| Способ | Гарантия скрытия | Требует доступности для робота | Когда применять |
|---|---|---|---|
| Disallow в robots.txt | Нет — адрес может появиться в выдаче без содержимого | Нет, запрещает сам вход | Служебные разделы без внешних ссылок: корзина, фильтры, внутренний поиск |
| Мета-тег noindex / X-Robots-Tag | Да, но не мгновенно | Да, обязательно открыта для сканирования | Страницы, которые не нужны в поиске, но доступны людям: пагинация, личные страницы |
| Пароль на сервере | Полная, со старта | Нет, доступ закрыт целиком | Тестовые версии сайта, черновики до запуска, внутренние инструменты |
Как закрыть сайт целиком на время разработки
Частый сценарий — новый сайт или редизайн собирают на отдельном адресе до официального запуска, и его нужно скрыть от поиска полностью. Здесь правильный порядок — пароль в первую очередь, robots.txt во вторую, но не наоборот. Причина в том же ограничении Disallow: если тестовый домен случайно попадёт в поле зрения робота раньше, чем поставили запрет (например, через staging-адрес, который кто-то использовал как пример в публичном обсуждении или закинул в сервис аналитики), Disallow не гарантирует, что этот адрес уже не начал индексироваться. Пароль исключает саму возможность визита робота с содержательным результатом. Полный блок правил в robots.txt на тестовом домене — разумное дополнение, но не замена пароля. Этот момент стоит держать в голове ещё на этапе постановки задачи на разработку сайта — правильнее сразу закладывать пароль на тестовый домен, а не вспоминать о нём после того, как обнаружится нежелательная индексация. Отдельная опасность здесь — забыть снять оба ограничения при переносе сайта на боевой адрес; это одна из самых частых причин, по которой только что запущенный сайт не индексируется.
Типичная ошибка: закрыть страницу двумя способами сразу
Комбинация Disallow и noindex на одной странице — не «двойная защита», а взаимоисключающие правила, которые в сумме работают хуже, чем каждое по отдельности. Робот видит Disallow, не заходит на страницу и, соответственно, не видит noindex внутри неё. Итог часто парадоксальный: страница, которую пытались закрыть максимально жёстко, остаётся в выдаче в виде голого адреса без сниппета — именно тот сценарий, которого пытались избежать способом Disallow в одиночку. Если нужна гарантия исключения из индекса — используйте только noindex и оставьте страницу открытой для сканирования; если страница не должна тратить краулинговый бюджет робота — используйте только Disallow и смиритесь с тем, что стопроцентной гарантии отсутствия в выдаче он не даёт.
FAQ
Можно ли закрыть от индексации только часть сайта, оставив остальное видимым?
Да, все три способа применяются точечно — к отдельным разделам, папкам или конкретным страницам, без необходимости трогать остальной сайт.
Что произойдёт, если поставить noindex, но забыть про уже существующие внешние ссылки?
Ничего страшного — noindex работает независимо от внешних ссылок, в отличие от Disallow. Страница гарантированно уйдёт из индекса после следующего визита робота.
Сколько времени в среднем занимает полное исчезновение страницы из выдачи после установки noindex?
От нескольких дней до 2-3 недель без ручного вмешательства, и заметно быстрее при отправке URL на переобход через панель вебмастера.
Защищает ли пароль на сайте от индексации так же надёжно, как noindex?
Да, даже надёжнее — пароль не даёт роботу получить содержимое вообще, тогда как noindex требует, чтобы робот сначала прочитал страницу и только потом исключил её.
Нужно ли что-то делать дополнительно после снятия пароля с тестового сайта при запуске?
Да — проверить robots.txt на предмет забытых директив Disallow, убедиться, что noindex не остался в шаблоне после разработки, и отправить актуальный sitemap.xml на индексацию.
Проверить, что сайт не закрыт от индексации по ошибке
Бесплатный аудит найдёт лишние noindex, некорректные правила в robots.txt и другие технические барьеры для индексации.
Готовый robots.txt для WordPress
Базовый набор правил: закрываем служебные каталоги, оставляем открытым ajax-обработчик и указываем карту сайта.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /*?replytocom
Allow: /wp-content/uploads/
Sitemap: https://example.ru/sitemap_index.xml