Главная разница в одном предложении
robots.txt запрещает сканирование страницы. noindex запрещает её индексацию.
Это разные процессы:
- Сканирование — поисковый бот зашёл на страницу, прочитал
- Индексация — содержимое страницы попало в поисковую базу
Можно сканировать, но не индексировать. Нельзя индексировать без сканирования (за редкими исключениями).
robots.txt — на уровне «бот не зайдёт»
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /cart/Поисковый бот не заходит на эти страницы. Не видит их содержимое.
Что важно: если на страницу есть ссылка с другого сайта или с самого вашего, Google всё равно может проиндексировать URL — без содержимого, только с anchor-текстом ссылки.
В выдаче появится:
> URL: https://example.com/admin/dashboard > Описание: «Нет информации. Заблокировано в robots.txt».
То есть закрытие в robots.txt не гарантирует отсутствия URL в индексе.
noindex — на уровне «не показывать в выдаче»
<meta name="robots" content="noindex, follow" />Или HTTP-заголовок:
X-Robots-Tag: noindexПоисковик сканирует страницу, читает содержимое, но не добавляет в индекс. В выдаче её нет.
Важно: чтобы noindex сработал, поисковик должен сначала просканировать страницу. То есть не должна быть закрыта в robots.txt.
Главное правило
Если хотите гарантированно убрать страницу из выдачи — используйте noindex, а НЕ robots.txt.
Самая частая ошибка: «закрою от индексации через robots.txt». Это не работает. Страница остаётся в индексе как «closed» URL.
Когда использовать robots.txt
1. Технические пути, на которые точно не должен заходить бот
Disallow: /api/
Disallow: /static/data/
Disallow: /admin/Сюда поисковику и так нечего делать. Закрытие — гигиена + экономия crawl budget.
2. Динамические URL с параметрами (для Яндекса)
Clean-param: utm_source&utm_campaign&sortЧистит дубли с UTM-метками и параметрами сортировки. Google использует canonical.
3. Медиа-серверы, не нужные для индексации
Disallow: /uploads/temp/4. Указание sitemap
Sitemap: https://example.com/sitemap.xmlКогда использовать noindex
1. Технические страницы, которые должны быть доступны пользователю
- Страница «Спасибо» после формы
- Страница оплаты успешной
- Страница 404 (хотя обычно автоматически noindex)
- Внутренний поиск с результатами
<meta name="robots" content="noindex, follow" />2. Дубли по контенту
Если у вас есть похожие страницы, которые технически нужны пользователю, но не должны конкурировать в поиске:
- Страницы фильтров с малым числом результатов
- Архивы по дате
- Страницы тегов с дублями
3. Целевые страницы рекламы (PPC landings)
Часто landing-страницы для контекстной рекламы не оптимизированы под органику. Лучше noindex.
4. Тонкий контент
Если у вас 100 карточек на сайте, и 30 из них тонкие — лучше noindex на них до улучшения.
Подробнее про индексацию карточек →
Когда использовать оба
В редких случаях — для двойной защиты:
Disallow: /private/+ на самой странице:
<meta name="robots" content="noindex, nofollow" />Но: если вы закрыли через robots.txt, noindex не сработает — поисковик не зайдёт и не увидит метатег.
То есть либо одно, либо другое, не оба.
Анти-паттерны
❌ noindex для всех «приватных» страниц без HTTP-аутентификации
Если страница содержит реально приватные данные (личный кабинет, документы), noindex не защищает.
Поисковик не отображает её в выдаче, но может проиндексировать содержимое.
Решение: HTTP-аутентификация (требует пароль) + noindex.
❌ Disallow в robots.txt + ссылки с сайта на эти страницы
Поисковик увидит ссылки → попытается зайти → не сможет (Disallow) → но проиндексирует URL по анкору.
Решение: убрать ссылки или использовать rel="nofollow" + noindex.
❌ noindex на странице, которая закрыта в robots.txt
Disallow: /private/И на странице:
<meta name="robots" content="noindex" />Не работает. Бот не зайдёт → не увидит метатег → если есть ссылки извне, страница может остаться в индексе.
❌ noindex на главной
Изменение CMS, тестирование, релиз — кто-то случайно ставит noindex на главную → через 2-7 дней главная вылетает из индекса → катастрофа.
Решение: в DevOps добавить проверку, что главная никогда не имеет noindex в production.
❌ Disallow всего сайта в production
User-agent: *
Disallow: /Часто остаётся с этапа разработки. После релиза в production забывают убрать.
Через 7-30 дней сайт выпадает из индекса.
Решение: при деплое в production автоматическая проверка robots.txt.
Чек-лист
- [ ] robots.txt для технических путей, не для блокировки от поиска
- [ ] noindex для приватных и тонких страниц
- [ ] Не сочетать robots.txt Disallow с noindex
- [ ] Главная страница в production без noindex
- [ ] Production robots.txt не имеет
Disallow: / - [ ] Регулярная проверка GSC «Покрытие индексирования»
- [ ] HTTP-аутентификация для реально приватных страниц
Итог
noindex — для гарантированного удаления из выдачи. robots.txt — для экономии crawl budget. Они решают разные задачи и не заменяют друг друга.