Что такое 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, уже внедрили такие правила, чтобы защитить свой контент.
Распространенные ошибки при настройке
- Блокировка CSS и JavaScript файлов. Если вы закроете доступ к CSS и JS, Googlebot не сможет корректно отрисовать страницу и понять ее структуру. Это может негативно сказаться на ранжировании. Всегда оставляйте служебные файлы открытыми.
- Использование robots.txt для скрытия конфиденциальной информации. Это главная ошибка. Robots.txt лишь просит не сканировать страницу, но URL все еще может попасть в индекс, если на него есть внешние ссылки. Для надежного скрытия используйте meta-тег robots со значением
noindexили закрывайте доступ на уровне сервера (например, паролем). Полагаться на robots.txt для безопасности — это "security through obscurity", что является ненадежной практикой. - Синтаксические ошибки. Лишний символ, опечатка в директиве (например,
DisalowвместоDisallow) или неправильный порядок правил могут сделать весь файл нерабочим. - Использование кириллицы в путях. Все пути в файле robots.txt должны быть в кодировке Punycode, если они содержат нелатинские символы. Проще всего использовать URL-кодированные пути.
- Один файл на несколько поддоменов. У каждого поддомена (например,
blog.example.comиshop.example.com) должен быть свой собственный файл robots.txt в его корневой директории.
Как проверить файл robots.txt
Перед тем как загружать файл на сервер, его необходимо проверить. Для этого существуют официальные инструменты от поисковых систем:
- Google Search Console. Внутри сервиса есть специальный инструмент для проверки robots.txt. Он показывает, есть ли в файле ошибки, и позволяет проверить, не заблокирован ли доступ к конкретному URL.
- Яндекс.Вебмастер. В разделе "Инструменты" есть "Анализ robots.txt", который выполняет аналогичную функцию для поисковой системы Яндекс.
Использование этих валидаторов поможет вам избежать случайной блокировки важных страниц и убедиться, что поисковые роботы правильно интерпретируют ваши инструкции.
Заключение
Файл robots.txt — это фундаментальный инструмент технического SEO, который служит первым рубежом общения с поисковыми системами. Он позволяет эффективно управлять сканированием сайта, экономить краулинговый бюджет и предотвращать индексацию ненужных страниц.
Однако важно помнить, что это лишь набор рекомендаций. Для задач, связанных с безопасностью или полным удалением страниц из индекса, следует использовать более надежные методы, такие как meta-тег noindex и аутентификация на сервере.