Как настроить robots.txt для AI-ботов
Зачем robots.txt нужен AI-агентам, минимальный рабочий пример, правильно vs неправильно, типичные ошибки и как проверить.
Обновлено:
Что это
robots.txt — текстовый файл в корне сайта (/robots.txt), которым вы сообщаете
поисковым и AI-краулерам, какие разделы можно обходить. Формат стандартизирован
в RFC 9309. Для AI-эпохи у файла появилась вторая роль: явно обозначить отношение
к крупным AI-ботам (GPTBot, ClaudeBot, PerplexityBot и др.) — пускать их или нет.
Зачем это AI-агентам
Если AI-краулер не находит robots.txt или натыкается на запрет, он либо вовсе
не индексирует сайт, либо трактует правила консервативно. Нет индексации — нет
шансов попасть в ответы ChatGPT Search, Perplexity, Google AI Overview и
YandexGPT. Явный Allow для AI-ботов — это входной билет в GEO/AEO-выдачу.
Минимальный рабочий пример
# Общее правило
User-agent: *
Allow: /
# Явно пускаем основные AI-краулеры
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
Sitemap: https://example.com/sitemap.xml
Правильно vs неправильно
| Правильно | Неправильно |
|---|---|
Файл отдаётся по /robots.txt со статусом 200 и Content-Type: text/plain | Отдаётся 404, HTML-страница или редирект |
Явный Allow: / для нужных AI-ботов | Глухой Disallow: / для User-agent: *, отсекающий заодно AI |
Указана директива Sitemap: с абсолютным URL | Sitemap не указан — краулер не знает структуру |
Типичные ошибки
Disallow:без значения трактуется как «разрешено всё» — легко перепутать сDisallow: /.- Блок
User-agent: *сDisallow: /, который случайно режет и AI-ботов. - robots.txt отдаётся как HTML (SPA отдаёт index.html на любой путь) — для краулера это не валидный robots.
- Относительный путь в
Sitemap:— нужен абсолютный URL. - Кириллица/опечатки в именах ботов —
GPTBot, неGptBot.
Как проверить
Запустите бесплатный скан вашего сайта — проверка robots.txt входит в набор и
покажет статус, найденные правила и отсутствующие AI-боты. Вручную:
curl -sI https://example.com/robots.txt # ждём 200 + text/plain
curl -s https://example.com/robots.txt # смотрим содержимое