Поисковые системы: Как запретить индексацию сайта или страницы

Разберём, как закрыть от поисковой выдачи отдельную страницу, каталог, файл или весь сайт. Выбор способа зависит от задачи: 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, но он не заменяет авторизацию.

Как удалить уже проиндексированную страницу

  1. Убедитесь, что URL не закрыт в robots.txt: поисковый робот должен получить новое правило или HTTP-статус.
  2. Если страница остаётся доступной, добавьте noindex через метатег или X-Robots-Tag.
  3. Если страница удалена без замены, верните 404 или 410.
  4. Если есть полноценная замена, настройте 301 на новый URL.
  5. Удалите URL из XML-карты сайта и внутренних ссылок, если страница больше не используется.
  6. Проверьте 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: выбор основной версии среди дублей; это не надёжный способ удалить конфиденциальную или ненужную страницу из поиска.

Документация

up: Просмотров: 1.8k
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram