Что такое robots.txt?

Это простой текстовый файл, который находится в корне вашего сайта. Его основная задача — давать инструкции поисковым роботам (веб-краулерам), какие страницы или разделы сайта можно сканировать, а какие — нет.

Robots Exclusion Protocol (REP), или протокол исключений для роботов — это стандарт, который описывает, как веб-сайты могут общаться с веб-краулерами и другими роботами. Файл robots.txt является основной частью этого стандарта.

Когда поисковый бот, например Googlebot, заходит на ваш сайт, первым делом он обращается по адресу https://ваш-сайт.рф/robots.txt. Если он находит там инструкции, то следует им. Если файла нет, бот считает, что ему разрешено сканировать весь сайт без ограничений.

Важно понимать, что robots.txt — это не закон, а рекомендация. Большинство авторитетных краулеров, таких как Google, Yandex или Bing, строго соблюдают эти правила. Однако вредоносные боты могут их полностью игнорировать.

Зачем нужен robots.txt?

  • Управление краулинговым бюджетом. У поисковых систем есть лимиты на количество страниц, которые они сканируют за один визит. Закрывая ненужные разделы (например, страницы поиска, фильтрации, временные файлы), вы направляете роботов на более важный контент.
  • Предотвращение индексации дублированного контента. На сайте могут существовать страницы с одинаковым содержанием, доступные по разным URL (например, версии для печати). Robots.txt помогает указать канонический вариант.
  • Скрытие служебных разделов. Административные панели, личные кабинеты и другие технические страницы не должны попадать в поисковую выдачу.
  • Снижение нагрузки на сервер. Ограничение доступа для слишком активных ботов может помочь избежать перегрузки сервера.

Синтаксис и основные директивы

Файл robots.txt состоит из набора правил. Каждое правило начинается с указания робота (User-agent) и содержит директивы Disallow или Allow.

Директива Описание
User-agent Указывает, для какого именно робота предназначены следующие правила. Звездочка (*) означает "для всех роботов".
Disallow Запрещает сканирование указанной страницы, директории или файла.
Allow Разрешает сканирование, даже если родительская директория запрещена. Имеет более высокий приоритет, чем Disallow.
Sitemap Указывает путь к файлу Sitemap. Это помогает роботам быстрее находить все важные страницы сайта. Можно указывать несколько файлов Sitemap.
Crawl-delay Задает минимальный интервал в секундах между запросами робота к серверу. Важно: Googlebot не поддерживает эту директиву. Для управления скоростью сканирования Google использует настройки в Search Console. Yandex по-прежнему учитывает Crawl-delay.

Комментарии в файле начинаются с символа решетки (#). Все, что идет после него в строке, роботами игнорируется.

Практические примеры составления robots.txt

Разберем несколько типичных конфигураций на конкретных примерах.

Пример 1: Разрешить все для всех

Такой файл сообщает всем роботам, что они могут сканировать сайт без ограничений. Часто его создают пустым или с такими правилами:

# Разрешаем всем роботам сканировать весь сайт
User-agent: *
Disallow:

Пример 2: Запретить все для всех

Эта конфигурация полностью закрывает сайт от сканирования любыми роботами. Используется для сайтов в разработке.

# Запрещаем всем роботам сканировать сайт
User-agent: *
Disallow: /

Символ / после директивы Disallow означает запрет сканирования всего сайта, начиная с корня.

Пример 3: Запрет конкретной папки и файла

Допустим, нам нужно закрыть от индексации папку с административной панелью (/admin/) и временный файл (/temp.html).

User-agent: *
Disallow: /admin/
Disallow: /temp.html

Пример 4: Правила для конкретного робота

Вы можете задавать разные инструкции для разных поисковых систем.

# Общие правила для всех
User-agent: *
Disallow: /private/

# Специальное правило для робота Google
User-agent: Googlebot
Disallow: /for-yandex-only/

Пример 5: Комплексное правило с Allow

Предположим, нам нужно закрыть всю папку /media/, но оставить открытым для сканирования подкаталог /media/images/.

User-agent: *
Disallow: /media/
Allow: /media/images/

Robots.txt и AI-боты (GPTBot, Google-Extended)

С развитием генеративного искусственного интеллекта (Generative Artificial Intelligence) многие компании начали использовать веб-краулеры для сбора данных для обучения своих моделей. Если вы не хотите, чтобы контент вашего сайта использовался для этих целей, вы можете заблокировать их ботов.

AI-боты, как правило, соблюдают протокол robots.txt.

  • GPTBot: Краулер компании OpenAI, создавшей ChatGPT.
  • Google-Extended: Краулер Google, который собирает данные для моделей Bard и Vertex AI.

Чтобы заблокировать сбор данных для AI, добавьте в ваш robots.txt следующие правила:

# Блокировка краулера OpenAI
User-agent: GPTBot
Disallow: /

# Блокировка краулера Google для AI
User-agent: Google-Extended
Disallow: /

Многие новостные сайты и платформы, такие как The New York Times, Medium и Reddit, уже внедрили такие правила, чтобы защитить свой контент.

Распространенные ошибки при настройке

  1. Блокировка CSS и JavaScript файлов. Если вы закроете доступ к CSS и JS, Googlebot не сможет корректно отрисовать страницу и понять ее структуру. Это может негативно сказаться на ранжировании. Всегда оставляйте служебные файлы открытыми.
  2. Использование robots.txt для скрытия конфиденциальной информации. Это главная ошибка. Robots.txt лишь просит не сканировать страницу, но URL все еще может попасть в индекс, если на него есть внешние ссылки. Для надежного скрытия используйте meta-тег robots со значением noindex или закрывайте доступ на уровне сервера (например, паролем). Полагаться на robots.txt для безопасности — это "security through obscurity", что является ненадежной практикой.
  3. Синтаксические ошибки. Лишний символ, опечатка в директиве (например, Disalow вместо Disallow) или неправильный порядок правил могут сделать весь файл нерабочим.
  4. Использование кириллицы в путях. Все пути в файле robots.txt должны быть в кодировке Punycode, если они содержат нелатинские символы. Проще всего использовать URL-кодированные пути.
  5. Один файл на несколько поддоменов. У каждого поддомена (например, blog.example.com и shop.example.com) должен быть свой собственный файл robots.txt в его корневой директории.

Как проверить файл robots.txt

Перед тем как загружать файл на сервер, его необходимо проверить. Для этого существуют официальные инструменты от поисковых систем:

  • Google Search Console. Внутри сервиса есть специальный инструмент для проверки robots.txt. Он показывает, есть ли в файле ошибки, и позволяет проверить, не заблокирован ли доступ к конкретному URL.
  • Яндекс.Вебмастер. В разделе "Инструменты" есть "Анализ robots.txt", который выполняет аналогичную функцию для поисковой системы Яндекс.

Использование этих валидаторов поможет вам избежать случайной блокировки важных страниц и убедиться, что поисковые роботы правильно интерпретируют ваши инструкции.

Заключение

Файл robots.txt — это фундаментальный инструмент технического SEO, который служит первым рубежом общения с поисковыми системами. Он позволяет эффективно управлять сканированием сайта, экономить краулинговый бюджет и предотвращать индексацию ненужных страниц.

Однако важно помнить, что это лишь набор рекомендаций. Для задач, связанных с безопасностью или полным удалением страниц из индекса, следует использовать более надежные методы, такие как meta-тег noindex и аутентификация на сервере.