robots.txt для AI-ботов: полный технический гайд для GEO-оптимизации

Шлюз контроля доступа для AI-краулеров

Что такое robots.txt и почему он важен для GEO?

robots.txt — текстовый файл в корне сайта, который сообщает краулерам, какие страницы можно посещать, а какие нет. Протокол называется Robots Exclusion Protocol и существует с 1994 года. Синтаксис прост: директива User-agent указывает бота, Allow — разрешает доступ, Disallow — запрещает.

В эпоху традиционного SEO файл настраивали под Googlebot и bingbot. В эпоху GEO (Generative Engine Optimization) в игру вступили десятки AI-краулеров. Если ваш robots.txt написан пять лет назад и с тех пор не обновлялся — почти наверняка он мешает AI-системам индексировать ваш контент.

Ключевое отличие AI-краулеров от поисковых: поисковик приводит пользователей на ваш сайт через ссылки, AI-модель цитирует ваш контент прямо в ответе. Чем лучше AI-бот понял ваш сайт — тем выше шанс попасть в генерируемые ответы ChatGPT, Perplexity, Claude и других систем.

Какие AI-боты существуют и как их идентифицировать?

Ниже — актуальный список AI-краулеров, которые нужно явно разрешать в robots.txt. Каждый идентифицируется строкой User-agent.

Актуальные AI-краулеры: платформы и назначение
Краулер Платформа Статус Назначение
GPTBot ChatGPT Официальный Основной краулер OpenAI для обучения и обновления базы знаний
OAI-SearchBot ChatGPT Search Официальный Специализированный бот для функции поиска в ChatGPT
PerplexityBot Perplexity AI Официальный Краулер Perplexity для реального времени и индексации
ClaudeBot Claude (Anthropic) Официальный Основной краулер Anthropic
anthropic-ai Claude (Anthropic) Официальный Второй user-agent Anthropic, используется параллельно с ClaudeBot
YandexBot Яндекс Нейро + поиск Официальный Единый бот для Яндекс Поиска и Яндекс Нейро
Googlebot Google AI Overviews Официальный Используется для обычного поиска и AI Overviews (SGE)
bingbot Bing → ChatGPT Официальный Индекс Bing частично питает ChatGPT Search через Bing API
meta-externalagent Meta AI Официальный Краулер Meta для обучения и ответов Meta AI
DeepSeek-Crawler DeepSeek Неофициальное название Краулер китайской LLM DeepSeek; официальное название уточняется

GPTBot — основной краулер OpenAI

GPTBot используется ChatGPT для пополнения базы знаний и обновления данных. Официально задокументирован OpenAI: при запрете через Disallow ваш контент не попадает в ответы ChatGPT. Важный нюанс — GPTBot и OAI-SearchBot это разные user-agent'ы, и разрешать нужно оба.

OAI-SearchBot — для ChatGPT Search

OAI-SearchBot запускается именно тогда, когда пользователь использует функцию веб-поиска в ChatGPT. Он работает в режиме реального времени, в отличие от GPTBot, который индексирует заранее. Блокировка OAI-SearchBot означает, что ваш сайт не будет показан в источниках ChatGPT Search.

PerplexityBot — Perplexity AI

Perplexity — один из самых активных AI-поисковиков с сотнями миллионов запросов в месяц. PerplexityBot индексирует страницы для ответов в реальном времени. Perplexity показывает источники прямо в ответе, что обеспечивает реферальный трафик — при условии, что бот имеет доступ.

ClaudeBot и anthropic-ai — два бота Anthropic

Anthropic использует два user-agent'а: ClaudeBot и anthropic-ai. На практике оба нужно явно разрешить. Исторически anthropic-ai появился раньше, ClaudeBot — более современное название. Если разрешить только один из них, второй может быть заблокирован правилом User-agent: *.

YandexBot — Яндекс Нейро и обычный поиск

YandexBot обслуживает и классический поиск Яндекса, и Яндекс Нейро — генеративный ответчик Яндекса, аналог AI Overviews. Для русскоязычных сайтов это критично: Яндекс Нейро активно берёт фрагменты из проиндексированных страниц. Запрет YandexBot = отсутствие в Нейро.

Googlebot — AI Overviews (SGE)

Google не разделяет краулеры для обычного поиска и AI Overviews. Тот же Googlebot питает SGE (Search Generative Experience). Блокировать Googlebot ради «защиты контента» — значит терять и обычную выдачу, и генеративные ответы Google разом.

bingbot — мост к ChatGPT

ChatGPT Search частично использует индекс Bing через API. Это означает, что запрет bingbot косвенно снижает ваше присутствие в ChatGPT Search, даже если GPTBot и OAI-SearchBot разрешены. Bing индексирует независимо, и ChatGPT Search обращается к нему для актуальных данных.

meta-externalagent — Meta AI

Meta AI встроен в Facebook, Instagram, WhatsApp и работает как отдельный ассистент на meta.ai. Краулер meta-externalagent собирает данные для обучения модели и ответов. Аудитория Meta насчитывает миллиарды пользователей — присутствие в Meta AI становится важным каналом охвата.

DeepSeek-Crawler — китайская LLM

DeepSeek — быстро растущая китайская языковая модель. Официальная документация по user-agent менее подробна, чем у OpenAI или Anthropic, но название DeepSeek-Crawler фигурирует в серверных логах и в сообществах GEO-специалистов. Стоит включить явное разрешение на случай, если официальное название будет подтверждено.

Как правильно написать robots.txt для AI-краулеров?

Базовый синтаксис

Файл robots.txt располагается строго по адресу https://ваш-сайт.ru/robots.txt. Каждый блок начинается с User-agent:, за которым следуют директивы Allow: или Disallow:. Порядок блоков имеет значение: более специфичные правила для конкретного бота перекрывают общие правила User-agent: *.

Директива Allow: / означает «разрешить доступ ко всему сайту». Это важно указывать явно, если в общем блоке User-agent: * есть ограничения — некоторые краулеры могут интерпретировать отсутствие явного Allow как разрешение по умолчанию, но надёжнее прописать явно.

Пустая строка между блоками обязательна — это синтаксическое требование протокола. Комментарии начинаются с # и игнорируются краулерами.

Готовый шаблон robots.txt для GEO

# robots.txt для GEO-оптимизации
# Последнее обновление: 2025

# OpenAI — ChatGPT обучение и база знаний
User-agent: GPTBot
Allow: /

# OpenAI — ChatGPT Search (реальное время)
User-agent: OAI-SearchBot
Allow: /

# Anthropic — Claude
User-agent: ClaudeBot
Allow: /

# Anthropic — второй user-agent
User-agent: anthropic-ai
Allow: /

# Perplexity AI
User-agent: PerplexityBot
Allow: /

# Яндекс — поиск и Нейро
User-agent: YandexBot
Allow: /

# Google — поиск и AI Overviews
User-agent: Googlebot
Allow: /

# Microsoft Bing — нужен для ChatGPT Search через Bing API
User-agent: bingbot
Allow: /

# Meta AI
User-agent: meta-externalagent
Allow: /

# DeepSeek
User-agent: DeepSeek-Crawler
Allow: /

# Все остальные боты
User-agent: *
Allow: /

# Карта сайта
Sitemap: https://ваш-сайт.ru/sitemap.xml

Этот шаблон разрешает доступ всем AI-краулерам и поисковым ботам. Если вы хотите закрыть отдельные разделы — прайс-листы, личные кабинеты, черновики — используйте Disallow: только для этих путей внутри нужного блока, не для корня /.

Боты-краулеры обходят сеть страниц

Какие типичные ошибки убивают GEO-видимость?

Ошибка 1: Disallow: / для всех — история про «временную» блокировку

Самая разрушительная ошибка выглядит так:

User-agent: *
Disallow: /

Этот блок закрывает сайт для всех краулеров без исключения — и Googlebot, и GPTBot, и PerplexityBot. Ни один AI-инструмент не сможет проиндексировать ни одну страницу.

Это правило часто появляется при разработке сайта — чтобы Google не индексировал незаконченный проект. Проблема в том, что агентство или разработчик забывают его убрать перед запуском. Сайт уходит в продакшн закрытым. Клиент месяцами удивляется, почему нет трафика и почему AI не цитирует контент.

Ошибка 2: Блокировка конкретных AI-ботов «на всякий случай»

Некоторые владельцы сайтов боятся, что AI-компании «украдут» их контент. Они блокируют GPTBot и ClaudeBot через Disallow. Результат: их конкуренты попадают в ответы AI, они — нет. Контент всё равно не защищён юридически через robots.txt, зато видимость теряется. GEO-стратегия требует обратного подхода: максимальной открытости для AI-краулеров.

Ошибка 3: Правило Disallow без явного Allow для AI-ботов

Представьте такую конфигурацию:

User-agent: *
Disallow: /private/
Disallow: /admin/

На первый взгляд всё нормально: закрыты только служебные разделы. Но если выше нет явных блоков для GPTBot, ClaudeBot и других AI-ботов с Allow: /, некоторые краулеры могут применять к себе общие правила. Надёжнее всегда прописывать AI-ботов явно.

Ошибка 4: Неправильный регистр user-agent

Gptbot и GPTBot — разные строки. Синтаксис robots.txt чувствителен к регистру для строк User-agent в некоторых реализациях краулеров. Используйте точное написание, задокументированное разработчиком: GPTBot, ClaudeBot, PerplexityBot, bingbot (строчными!), Googlebot.

Ошибка 5: Устаревший файл без новых ботов

Файл robots.txt написан в 2021 году — GPTBot тогда не существовал. OAI-SearchBot появился позже. DeepSeek-Crawler стал заметным в 2024–25 годах. Регулярный аудит robots.txt раз в полгода — обязательная практика для GEO.

Что такое llms.txt и зачем он нужен?

Назначение и концепция

llms.txt — новый стандарт (предложен на llmstxt.org), который дополняет robots.txt. Если robots.txt говорит краулеру «куда ходить», то llms.txt объясняет языковой модели «что на сайте самое важное и как его понимать».

robots.txt

Управляет доступом краулера: какие страницы можно посещать, а какие нет. Без корректного robots.txt AI-бот просто не придёт на сайт.

llms.txt

Объясняет языковой модели структуру сайта и расставляет приоритеты: что важно, что читать в первую очередь. Не контролирует доступ — влияет на понимание и цитируемость.

Файл хранится по адресу https://ваш-сайт.ru/llms.txt и написан в формате Markdown. Языковые модели хорошо парсят Markdown: он структурирован, читаем машиной и не требует рендеринга HTML. Это принципиальное отличие от sitemap.xml, который перечисляет URL без контекста.

llms.txt решает проблему навигации AI в сложном сайте: без него модель обходит все страницы подряд и сама угадывает, что важно. С llms.txt вы явно указываете приоритеты — документацию, ключевые страницы услуг, статьи-основания.

Структура llms.txt

Файл состоит из нескольких обязательных элементов:

Формат ссылки: [Название страницы](URL): Описание в одном предложении. Файл должен быть в кодировке UTF-8, без авторизации, публично доступен.

Пример llms.txt для GEO-курса

# geo-course.ru
> Образовательный ресурс по Generative Engine Optimization (GEO) — оптимизации сайтов для попадания в ответы AI-систем: ChatGPT, Perplexity, Claude, Яндекс Нейро.

## Обучение
- [Курс GEO-Спец](https://geo-course.ru/geo-spec): Флагманский курс по GEO-оптимизации — от технических основ до продвинутых стратегий
- [Программа курса](https://geo-course.ru/geo-spec#program): Модули, темы и практические задания курса GEO-Спец
- [Для кого курс](https://geo-course.ru/geo-spec#who): SEO-специалисты, маркетологи, владельцы сайтов

## Статьи и гайды
- [Что такое GEO](https://geo-course.ru/blog/chto-takoe-geo): Введение в Generative Engine Optimization, отличия от SEO
- [robots.txt для AI-ботов](https://geo-course.ru/blog/robots-txt-dlya-ai-botov): Полный гайд по настройке robots.txt и llms.txt для AI-краулеров
- [Структурированные данные для GEO](https://geo-course.ru/blog/strukturirovannye-dannye-geo): Schema.org разметка для AI-видимости

## О проекте
- [О курсе и авторе](https://geo-course.ru/about): Карим Смуди — автор курса, эксперт по GEO
- [Контакты](https://geo-course.ru/contacts): Связь с командой

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

Почему SSR критичен для AI-краулеров?

Проблема JavaScript-рендеринга

Большинство AI-краулеров не выполняют JavaScript. Это означает, что они видят только тот HTML, который сервер отдаёт в первом ответе — до того, как в дело вступают React, Vue, Angular или любой другой JS-фреймворк.

Если ваш сайт построен как SPA (Single Page Application) с клиентским рендерингом (CSR), то GPTBot или ClaudeBot при обходе страницы видят примерно следующее:

<!DOCTYPE html>
<html>
<head><title>Моя компания</title></head>
<body>
  <div id="app"></div>
  <script src="/bundle.js"></script>
</body>
</html>

Никакого контента. Только пустой div и ссылка на JavaScript-бандл, который краулер не запустит.

SSR как техническая основа GEO

Server-Side Rendering (SSR) означает, что сервер генерирует полный HTML с контентом до отправки браузеру. AI-краулер получает страницу с текстом, заголовками, структурированными данными — всем, что нужно для понимания и цитирования.

Для GEO важно, чтобы SSR обеспечивался для:

Если переход на SSR невозможен технически — используйте статическую генерацию (SSG, как в Next.js, Nuxt.js) или pre-rendering: страницы генерируются заранее и отдаются как статический HTML.

Как проверить рендеринг

Самый простой способ: откройте «Просмотр источника страницы» (Ctrl+U в браузере) и поищите ключевые слова вашего контента. Если они там есть — SSR работает. Если видите только теги разметки и скрипты — контент рендерится на клиенте.

Альтернатива: инструмент curl https://ваш-сайт.ru/страница | grep "ключевое слово" — аналогично тому, что делает AI-краулер.

Как использовать Bing Webmaster Tools для ChatGPT?

Связь Bing и ChatGPT Search

ChatGPT Search использует несколько источников данных: собственный индекс OpenAI (GPTBot), индекс Bing через API, и контент в реальном времени (OAI-SearchBot). Это значит, что ваше присутствие в Bing напрямую влияет на видимость в ChatGPT Search.

Bing Webmaster Tools — бесплатный инструмент Microsoft для управления присутствием сайта в поиске Bing. Для GEO-специалиста он важен как минимум по двум причинам: контроль индексации для bingbot и доступ к IndexNow.

Как подключить Bing Webmaster Tools

01

Зайдите на bing.com/webmasters.

02

Добавьте сайт и подтвердите владение.

Доступны три способа: DNS-запись, мета-тег или XML-файл.

03

Загрузите sitemap.

Bing начнёт обход страниц сразу после загрузки.

04

Проверьте раздел «Crawl».

Здесь отображается, какие страницы посетил bingbot и с какими ошибками.

После подключения через несколько дней в разделе «SEO» → «Robots.txt Tester» можно проверить, как bingbot интерпретирует ваш robots.txt для каждой конкретной страницы.

IndexNow — мгновенная индексация

IndexNow — протокол, позволяющий уведомить поисковики об изменении страниц в реальном времени, без ожидания планового обхода. Bing поддерживает IndexNow, а через Bing данные могут попасть в индекс быстрее, что ускоряет появление нового контента в ChatGPT Search.

Реализация проста: при публикации или обновлении страницы отправляется POST-запрос на api.indexnow.org с URL и ключом верификации. Большинство CMS (WordPress, Bitrix, Tilda Pro) имеют плагины или интеграции с IndexNow.

Щит над узлом сети — управление доступом ботов

Как проверить, что AI-боты посещают сайт?

Google Search Console для robots.txt

Google Search Console (GSC) предоставляет встроенный тестер robots.txt. Инструмент находится по пути: GSC → Настройки → Тестер robots.txt. Вы вводите URL любой страницы и видите, разрешает или блокирует ваш robots.txt доступ Googlebot.

Важно: GSC тестирует только Googlebot. Для остальных краулеров нужны другие методы. Дополнительно в GSC раздел «Покрытие» показывает страницы, заблокированные robots.txt. Если там отображаются важные страницы — это сигнал к ревизии файла.

Анализ серверных логов

Серверные логи — наиболее точный способ подтвердить визиты AI-краулеров. Каждый запрос к серверу записывается с user-agent, IP-адресом, временем и статусом ответа.

Пример строки в access.log nginx, принадлежащей GPTBot:

66.249.64.1 - - [22/Jun/2025:14:32:11 +0300] "GET /blog/chto-takoe-geo HTTP/1.1" 200 8432 "-" "GPTBot/1.0 (+https://openai.com/gptbot)"

Чтобы найти все визиты AI-краулеров, используйте grep по логу:

# Все AI-боты за последние 7 дней
grep -E "GPTBot|OAI-SearchBot|ClaudeBot|anthropic-ai|PerplexityBot|meta-externalagent|DeepSeek" \
  /var/log/nginx/access.log | tail -1000

# Статистика по каждому боту
grep -oE "GPTBot|OAI-SearchBot|ClaudeBot|PerplexityBot|meta-externalagent" \
  /var/log/nginx/access.log | sort | uniq -c | sort -rn

Регулярный мониторинг логов позволяет убедиться, что краулеры действительно обходят сайт, и выявить аномалии — например, необычно высокую нагрузку от одного бота.

Сторонние инструменты

Если нет прямого доступа к серверным логам (хостинг без SSH, облачные платформы), используйте:

FAQ по robots.txt и AI-краулерам

1. Нужно ли разрешать AI-ботов в robots.txt, если там стоит User-agent: * / Allow: /?
Формально нет — * распространяется на всех, включая AI. Но явное перечисление AI-ботов — хорошая практика: она защищает от случайного перекрытия правилами, добавленными позже, и сигнализирует, что вы осознанно управляете GEO-индексацией.
2. Блокировка GPTBot через robots.txt защищает авторское право?
Нет. robots.txt — это соглашение о добросовестном использовании, но не юридический инструмент. OpenAI и другие компании декларируют уважение к директивам robots.txt, но юридической защиты он не обеспечивает. Для настоящей защиты авторских прав нужны другие инструменты.
3. Нужно ли закрывать PDF и изображения для AI-краулеров?
Зависит от содержимого. Если PDF содержит ценные методические материалы, которые вы не хотите видеть в AI-ответах без ссылки на источник — можно закрыть через Disallow: /*.pdf. Если PDF — публичные материалы для скачивания — открывайте.
4. robots.txt влияет на AI Overviews Google?
Да. Googlebot используется для AI Overviews (SGE). Если страница заблокирована для Googlebot, она не попадает ни в обычную выдачу, ни в генеративные ответы Google.
5. Как часто обновлять robots.txt?
Рекомендуется аудит раз в 6 месяцев. Экосистема AI-краулеров меняется быстро: новые боты появляются, существующие переименовываются. Отслеживайте официальные документации OpenAI, Anthropic, Perplexity.
6. Что важнее для GEO — robots.txt или llms.txt?
Оба важны, но по-разному. robots.txt — необходимое условие (без него краулеры не придут вообще). llms.txt — оптимизация (помогает AI лучше понять контент и правильно приоритизировать). Начинайте с robots.txt, затем добавляйте llms.txt.
7. Перестанет ли Perplexity цитировать мой сайт, если заблокировать PerplexityBot?
Да, в значительной мере. Perplexity полагается на собственный индекс, который формируется PerplexityBot. Если бот не может обойти страницы, они не попадают в индекс Perplexity, и шансы на цитирование резко падают. Исключение — если страница проиндексирована Bing или Google, Perplexity иногда использует их данные.
8. Нужен ли отдельный robots.txt для поддоменов?
Да. Каждый поддомен (blog.example.ru, shop.example.ru) требует собственного файла robots.txt. Файл в корне основного домена не распространяется на поддомены.

Что вы получите на курсе GEO-Спец

На курсе geo-course.ru в рамках технического модуля доступны:

Шаблоны обновляются по мере появления новых AI-краулеров. Участники курса получают доступ к актуальным версиям.

Итог: минимальный чеклист технического GEO

Прежде чем переходить к контентной стратегии, убедитесь в базовом:

01

Проверьте robots.txt — нет ли Disallow: / для User-agent: *.

02

Добавьте все 10 AI-краулеров из таблицы выше с явным Allow: /.

03

Убедитесь в SSR — Ctrl+U и поиск ключевых слов в исходнике.

04

Создайте llms.txt — минимум H1, blockquote и 5–7 ссылок на ключевые страницы.

05

Подключите Bing Webmaster Tools — верификация и загрузка sitemap.

06

Настройте IndexNow — через плагин CMS или API.

07

Проверьте логи — убедитесь, что GPTBot и PerplexityBot уже ходят на сайт.

Технические ошибки в robots.txt — самая быстроисправляемая проблема в GEO. Одно изменение файла может разблокировать индексацию для десяти AI-платформ разом. Но знание, что разрешить, — только начало. Настоящая GEO-стратегия включает структуру контента, E-E-A-T сигналы, structured data и десятки других факторов.

Курс GEO-Спец на geo-course.ru — системный курс от базовой технической настройки до продвинутых методов попадания в AI-ответы. Практические задания, актуальные шаблоны, разбор реальных кейсов.