Разберём, как закрыть от поисковой выдачи отдельную страницу, каталог, файл или весь сайт. Выбор способа зависит от задачи: robots.txt управляет обходом, директива noindex запрещает добавлять URL в поисковый индекс, а авторизация ограничивает доступ к содержимому.
Когда этот материал не подходит: если нужно скрыть конфиденциальные данные. Ни robots.txt, ни noindex не являются средствами защиты: страницу по-прежнему можно открыть по прямой ссылке. Для закрытого сайта используйте авторизацию, VPN или ограничение доступа по IP.
Кратко: какой способ выбрать
- Не давать роботам обходить служебный раздел:
robots.txt. - Убрать доступную страницу из поисковой выдачи:
meta robots noindex. - Запретить индексацию PDF, изображения или другого файла: HTTP-заголовок
X-Robots-Tag. - Закрыть тестовый или внутренний сайт: HTTP Basic Auth, VPN или ограничение по IP.
- Удалить страницу без замены: ответ
404 Not Foundили410 Gone. - Перенести страницу на новый адрес: постоянный редирект
301.
Почему Disallow в robots.txt не гарантирует удаление из поиска
Файл robots.txt сообщает поисковым роботам, какие URL им разрешено запрашивать. Например, следующая конфигурация запрещает обход всего сайта:
User-agent: * Disallow: /
Робот не сможет загрузить содержимое страниц, но их адреса всё равно могут попасть в поисковую выдачу, если на них ведут внешние или внутренние ссылки. В таком случае поисковая система знает URL, однако не может прочитать страницу и увидеть директиву noindex.
Disallow полезен для управления обходом и снижения лишней нагрузки, например для внутренних результатов поиска, бесконечных фильтров и технических URL:
User-agent: * Disallow: /search/ Disallow: /tmp/ Disallow: /*?sort=
Не указывайте в robots.txt секретные адреса в надежде спрятать их: файл доступен всем по адресу /robots.txt.
Запрет индексации HTML-страницы через meta robots
Для страницы, которая должна оставаться доступной посетителям, но не должна появляться в поиске, добавьте в раздел <head>:
<meta name="robots" content="noindex">
Поисковый робот должен иметь возможность открыть страницу и прочитать метатег. Поэтому URL с noindex нельзя одновременно закрывать директивой Disallow.
Если правило предназначено только для конкретной поисковой системы, можно указать имя робота:
<meta name="googlebot" content="noindex"> <meta name="yandex" content="noindex">
Обычно правильнее использовать общий вариант name="robots", чтобы директиву учитывали все основные поисковые системы.
X-Robots-Tag для PDF, файлов и серверных правил
HTTP-заголовок X-Robots-Tag работает без изменения HTML и подходит для PDF, документов, изображений, API-ответов и групп URL.
Пример для nginx
location /private-docs/ {
add_header X-Robots-Tag "noindex" always;
try_files $uri =404;
}
Для отдельных типов файлов:
location ~* \.(pdf|doc|docx)$ {
add_header X-Robots-Tag "noindex" always;
}
Пример для Apache и .htaccess
<IfModule mod_headers.c> <FilesMatch "\.(pdf|doc|docx)$"> Header set X-Robots-Tag "noindex" </FilesMatch> </IfModule>
Как и метатег, заголовок с noindex должен быть доступен роботу. Если файл закрыт в robots.txt, поисковая система может не увидеть HTTP-заголовок.
Как надёжно закрыть тестовый или внутренний сайт
Для staging-сайта, административной панели или внутреннего проекта используйте авторизацию. Это одновременно закрывает содержимое от поисковых систем и посторонних посетителей.
HTTP Basic Auth в nginx
server {
server_name stage.example.com;
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;
# Остальная конфигурация сайта
}
Файл паролей можно создать утилитой htpasswd:
htpasswd -c /etc/nginx/.htpasswd developer nginx -t && systemctl reload nginx
Для дополнительной страховки можно также вернуть заголовок X-Robots-Tag: noindex, но он не заменяет авторизацию.
Как удалить уже проиндексированную страницу
- Убедитесь, что URL не закрыт в
robots.txt: поисковый робот должен получить новое правило или HTTP-статус. - Если страница остаётся доступной, добавьте
noindexчерез метатег илиX-Robots-Tag. - Если страница удалена без замены, верните
404или410. - Если есть полноценная замена, настройте
301на новый URL. - Удалите URL из XML-карты сайта и внутренних ссылок, если страница больше не используется.
- Проверьте URL в Google Search Console, Яндекс Вебмастере и Bing Webmaster Tools. Инструмент временного удаления можно использовать для ускорения процесса, но он не заменяет постоянное техническое решение.
Не закрывайте страницу через Disallow сразу после добавления noindex. Сначала дождитесь, пока поисковая система повторно обойдёт URL и исключит его из индекса.
Почему rel="nofollow" не запрещает индексацию страницы
Атрибут rel="nofollow" относится к конкретной ссылке и не является запретом индексации целевого URL:
<a href="https://example.com/page/" rel="nofollow">Ссылка</a>
Поисковая система может обнаружить ту же страницу через карту сайта, другую ссылку или внешний ресурс. Чтобы исключить целевую страницу из поиска, настройте noindex на самой странице либо верните подходящий HTTP-статус.
Проверка результата
Проверить файл robots.txt:
curl -s https://example.com/robots.txt
Проверить метатег robots в HTML:
curl -s https://example.com/page/ | grep -i 'name="robots"'
Проверить HTTP-заголовок:
curl -I https://example.com/file.pdf
В ответе должна присутствовать строка:
X-Robots-Tag: noindex
Проверить закрытый авторизацией сайт:
curl -I https://stage.example.com/
Без логина и пароля сервер должен вернуть 401 Unauthorized.
Краевые случаи
- Страница закрыта в robots.txt и содержит noindex: робот может не увидеть
noindex, поэтому URL останется в выдаче. - Метатег добавляется только JavaScript-кодом: правило может обрабатываться непредсказуемо; отдавайте его сразу в HTML или HTTP-заголовке.
- Сервер возвращает noindex только для обычного браузера: проверьте, что CDN, кеш и правила по User-Agent не меняют ответ поисковому роботу.
- URL возвращает 200 OK с текстом «страница не найдена»: это soft 404. Возвращайте настоящий статус
404или410. - Закрыта только одна версия URL: проверьте HTTP/HTTPS, www/без www, параметры и альтернативные адреса страницы.
Безопасность
robots.txtпубличен и не скрывает адреса.noindexисключает страницу из поиска, но не запрещает открыть её напрямую.- Для персональных данных, резервных копий, служебных файлов и административных разделов используйте авторизацию и ограничения доступа.
- Не полагайтесь на неизвестные поисковые роботы: недобросовестный сканер может игнорировать любые директивы.
Производительность
Disallow может уменьшить число запросов роботов к бесполезным или бесконечным URL. Директива noindex, напротив, требует периодического обхода страницы, чтобы поисковая система могла увидеть и подтвердить запрет индексации.
Совместимость
meta name="robots"применяется к HTML-страницам.X-Robots-Tagподходит как для HTML, так и для файлов других типов.- Основные поисковые системы, включая Google, Яндекс и Bing, поддерживают директиву
noindex. - Неизвестные и недобросовестные роботы могут игнорировать правила.
Альтернативы
- HTTP 401/403: закрытый или ограниченный ресурс.
- HTTP 404/410: страница удалена без замены.
- 301 Redirect: содержимое окончательно перенесено на новый URL.
- Canonical: выбор основной версии среди дублей; это не надёжный способ удалить конфиденциальную или ненужную страницу из поиска.
Комментарии
0Нашли ошибку или хотите дополнить материал?