Индексируемость: robots.txt и мета-тег robots
Что такое robots.txt и meta robots?
robots.txt — это файл в формате простого текста, расположенный в корневом каталоге сайта (например, https://example.com/robots.txt) и указывает ботам поисковых систем, какие каталоги или страницы они могут сканировать (crawl). Тег meta robots, в свою очередь, находится в HTML- <head> и контролирует, будет ли страница индексироваться в результатах поиска, даже если она уже была проиндексирована. Они работают на разных уровнях: один отвечает на вопрос «можете ли вы войти через эту дверь», а другой — «можете ли вы добавить эту комнату в каталог после входа».
Это различие часто путают, поскольку оба элемента обсуждаются в контексте «управления ботами», но их сферы действия совершенно разные, и неправильное их сочетание может привести к нежелательным результатам.
Файл robots.txt на самом деле представляет собой «запрос на соблюдение правил», а не меру безопасности: добросовестные боты (такие как Googlebot) следуют этим правилам, однако злонамеренные боты могут полностью игнорировать этот файл. Поэтому попытка «скрыть» конфиденциальный или чувствительный контент с помощью robots.txt является ошибочным представлением о безопасности.
Почему это важно?
Смешение этих двух механизмов может серьезно ухудшить видимость сайта. Если сканирование страницы заблокировано с помощью файла robots.txt, поисковая система может вообще не увидеть тег noindex — ведь для того, чтобы увидеть этот тег, поисковой системе сначала нужно проиндексировать страницу — и страница может по ошибке остаться в индексе (как правило, в виде записи без заголовка и описания).
При правильном использовании эти два инструмента позволяют точно управлять тем, какой контент будет отображаться в результатах поиска: файл robots.txt позволяет не тратить бюджет сканирования на несущественные разделы (например, панель управления, страницы результатов поиска), а мета-тег robots — исключить из индекса определенные страницы (например, страницу благодарности, варианты отфильтрованных списков).
На крупных сайтах бюджет сканирования — это ограниченный ресурс: при каждом посещении бот сканирует только часть сайта. Блокировка с помощью robots.txt несущественных областей (например, страниц результатов внутреннего поиска, комбинаций фильтров) позволяет боту тратить время на действительно важные страницы.
Как это исправить?
- Блокируйте с помощью файла robots.txt только те каталоги, сканирование которых вы действительно не хотите (например, панели управления, страницы корзины).
- Если вы хотите исключить страницу из индекса, делайте это не с помощью файла robots.txt, а с помощью тега
<meta name="robots" content="noindex">. - Не забывайте, что для того, чтобы атрибут noindex сработал, страница должна быть доступна для сканирования в файле robots.txt.
- Придерживайтесь принципа «единого источника правды»: не повторяйте один и тот же сигнал несколькими методами, создавая противоречия.
- Регулярно проверяйте файл robots.txt; в производственной среде могут случайно остаться ограничения из тестовой или промежуточной среды.
- Регулярно проверяйте отчет об охвате (coverage) в Google Search Console, чтобы узнать, какие страницы помечены как «не проиндексированные» или «исключенные из-за noindex».
Пример
User-agent: *
Disallow: /admin/
Allow: /
<meta name="robots" content="noindex, follow">
Плохой пример: сначала заблокировать страницу Disallow: /kampanya/ заблокировать в файле robots.txt, а затем добавить сам тег <meta name="robots" content="noindex"> — тег noindex не сработает, так как бот никогда не просканирует эту страницу, и она по-прежнему может отображаться в индексе.
Распространённые ошибки
Disallow: /и по ошибке закрыть для сканирования весь сайт.- Заблокировать страницу как с помощью файла robots.txt, так и с помощью тега noindex (тег не будет учтён, страница может остаться в индексе).
- Забыть перенести файл robots.txt с ограничениями из тестовой/промежуточной среды на рабочий сайт.
- Непреднамеренное добавление важных страниц в список Disallow.
- Перенос старых правил из файла robots.txt на новый сайт после переноса или редизайна сайта без их проверки; ограничение, имевшее смысл на старом сайте, в новой структуре может охватить и важные страницы.
- Отсутствие единой политики индексации для страниц, генерирующих параметры пагинации, фильтрации или сортировки; когда часть таких страниц остается в индексе, а часть исключается, это создает противоречивый сигнал для всего сайта.
- Противоречивое использование канонического тега (canonical) и атрибута noindex на одной и той же странице; например, установка атрибута noindex для одной страницы при одновременном указании другой страницы в качестве канонической приводит к появлению противоречивых сигналов.
- Забывать, что для всего сайта достаточно одного файла robots.txt, и пытаться устанавливать отдельные ограничения доступа в подкаталогах; файл robots.txt действует только в корневом каталоге.
- В отчете Seoraporu.co противоречивые сигналы, такие как «заблокировано в robots.txt, но есть и noindex», отмечаются отдельно; вместо того, чтобы использовать оба атрибута на одной странице, выберите только один из них.