Практика та методологія

Як керувати AI-краулерами через robots.txt: GPTBot, ClaudeBot, PerplexityBot і Google-Extended

Як через robots.txt дозволити AI-пошук, але обмежити навчання моделей: GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended і користувацькі боти.

У robots.txt тепер вирішують не лише питання класичного SEO. Цей файл також показує AI-системам, чи можна автоматично обходити сайт для пошуку, цитування, дій за запитом користувача або потенційного навчання моделей. Проблема в тому, що різні компанії вже розділили ці сценарії на окремих ботів. Заблокувати "AI" одним рядком можна, але так легко випадково закрити сайт від ChatGPT Search, Claude Search або Perplexity, хоча ціль була лише обмежити використання контенту для навчання.

Нижче - практична схема для SEO-спеціаліста, власника сайту або технічної команди. Розберемо, чим відрізняються GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot і Google-Extended, які правила додавати в robots.txt, як не зламати видимість у AI-пошуку і чому сам файл не є захистом приватного контенту.

Схема доступу AI-краулерів через правила robots.txt
Схема доступу AI-краулерів через правила robots.txt

Що саме контролює robots.txt

robots.txt - це текстовий файл у корені сайту, наприклад https://example.com/robots.txt. Його читають автоматизовані клієнти, щоб зрозуміти, які URL власник сайту дозволяє або не дозволяє сканувати.

Базовий формат простий:

User-agent: ExampleBot
Disallow: /private/
Allow: /blog/

Sitemap: https://example.com/sitemap.xml

У RFC 9309 прямо сказано, що ці правила не є формою авторизації. Це важливий момент. robots.txt не закриває сторінку від людини, не приховує URL, не ставить пароль і не гарантує, що недобросовісний бот його виконає.

Файл корисний для керування добросовісними краулерами. Для приватних матеріалів потрібні інші механізми: авторизація, закриті розділи, WAF, paywall, noindex, видалення з індексу або обмеження на рівні сервера. Якщо URL не має бути публічним, не варто покладатися лише на robots.txt.

Ще одна деталь: правила діють для конкретного протоколу, хоста і порту. https://example.com/robots.txt не керує https://blog.example.com/, а http://example.com/ і https://example.com/ для краулерів теж різні зони. Google у своїй документації про robots.txt окремо описує цю логіку.

Чому AI-краулер - це вже не один тип бота

Раніше розмова часто зводилася до "пускати чи не пускати Googlebot". З AI-пошуком усе складніше. Один сервіс може мати різні user-agent для різних задач:

  • навчання або поліпшення фундаментальних моделей;
  • індексація для AI-пошуку;
  • відкриття сторінки за прямим запитом користувача;
  • технічна перевірка сторінок, реклами або безпеки.

Для бізнесу різниця практична. Можна хотіти, щоб сайт з'являвся у відповідях ChatGPT Search чи Perplexity, але не хотіти передавати контент у майбутні навчальні набори. Або навпаки: компанія не бачить цінності в AI-пошуку і хоче мінімізувати всі автоматичні візити.

Саме тому краще не писати один грубий блок:

User-agent: *
Disallow: /

Таке правило закриє не лише AI-ботів, а й звичайних пошукових краулерів. Для сайту, який залежить від органічного пошуку, це надто ризиковано.

Перед змінами в robots.txt варто розділити три сценарії.

robots.txt розділяє ботів за роллю: AI-пошук, навчання моделей і запити користувача
robots.txt розділяє ботів за роллю: AI-пошук, навчання моделей і запити користувача

СценарійЩо відбуваєтьсяДля чого це бізнесу
Навчання моделейКраулер збирає публічний контент, який може бути використаний для навчання або поліпшення майбутніх моделейКонтроль над тим, чи хочете ви віддавати матеріали для сценарію навчання
AI-пошук та індексаціяСервіс обходить сторінки, щоб показувати сайт у відповідях, джерелах і посиланняхВидимість бренду в ChatGPT Search, Claude, Perplexity та інших AI-пошукових сценаріях
Завантаження за запитом користувачаКористувач просить AI відкрити конкретний URL або виконати дію, і бот приходить за цією сторінкоюДоступність сайту в діалогах, коли користувач сам ініціює звернення до сторінки

Це не академічна різниця. У матеріалі про AI-видимість і SEO ми вже писали: бренд може втратити місце в моменті вибору не через позиції в Google, а через відсутність у відповіді моделі. Якщо закрити бот, який відповідає за AI-пошук, сайт може стати менш видимим саме в цьому шарі попиту.

Основні AI-боти і що вони означають

Станом на 3 червня 2026 року офіційні документації описують таку картину.

КомпаніяUser-agent або tokenОсновна рольЩо змінює блокування
OpenAIGPTBotКраулер для контенту, який може використовуватися для навчання генеративних фундаментальних моделейСигнал, що контент сайту не має використовуватися для такого навчання
OpenAIOAI-SearchBotКраулер для появи сайтів у пошукових функціях ChatGPTСайт може не показуватися в пошукових відповідях ChatGPT, хоча може лишатися навігаційним посиланням
OpenAIChatGPT-UserЗапити, ініційовані користувачем у ChatGPT або Custom GPTsЦе не автоматичне сканування; OpenAI пише, що robots.txt може не застосовуватися
AnthropicClaudeBotЗбір вебконтенту, який може потенційно потрапляти в навчальні набориСигнал виключити майбутні матеріали сайту з навчальних наборів
AnthropicClaude-SearchBotІндексація і поліпшення якості вебпошуку у ClaudeМенша видимість і точність у пошукових відповідях Claude
AnthropicClaude-UserДоступ до сторінок за запитом користувача ClaudeClaude може не отримати контент у відповідь на запит користувача
PerplexityPerplexityBotІндексація для пошукових результатів Perplexity і посиланьСайт гірше з'являється в Perplexity
PerplexityPerplexity-UserЗапити, ініційовані користувачем PerplexityДокументація Perplexity пише, що цей механізм зазвичай ігнорує robots.txt
GoogleGoogle-ExtendedRobots.txt token для контролю використання контенту в Gemini Apps, Vertex AI API for Gemini і groundingНе впливає на Google Search і не є сигналом ранжування

Посилання на першоджерела: OpenAI Crawlers, Anthropic Help Center, Perplexity Crawlers, Google common crawlers.

OpenAI: GPTBot, OAI-SearchBot і ChatGPT-User

OpenAI прямо розділяє пошук і навчання. У документації OpenAI OAI-SearchBot описаний як бот для пошуку, який допомагає показувати сайти в результатах пошуку ChatGPT. GPTBot - окремий бот для сканування контенту, який може використовуватися для навчання фундаментальних моделей.

Практичний сценарій для більшості публічних сайтів: дозволити ChatGPT Search, але закрити навчання.

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

Це не гарантує згадку бренду у відповіді ChatGPT. Модель усе одно обирає джерела за власною логікою. Але якщо закрити OAI-SearchBot, шанс потрапити в пошукові відповіді ChatGPT стає нижчим.

ChatGPT-User - окремий випадок. OpenAI пише, що цей user-agent використовується для певних дій користувача в ChatGPT і Custom GPTs, не для автоматичного вебкраулінгу. Оскільки дія ініційована користувачем, правила robots.txt можуть не застосовуватися. Якщо сторінку справді не можна відкривати через такий сценарій, потрібен контроль доступу на рівні сайту, а не лише рядок у robots.txt.

Anthropic: ClaudeBot, Claude-SearchBot і Claude-User

Anthropic також розділяє ботів за ролями. У довідці Claude описані три user-agent:

  • ClaudeBot - для вебконтенту, який може потенційно використовуватися для навчання моделей;
  • Claude-SearchBot - для поліпшення якості пошукових результатів у Claude;
  • Claude-User - для звернень до сайтів за запитом користувача.

Якщо хочете закрити навчання, але залишити видимість у пошукових сценаріях Claude, правило може виглядати так:

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-User
Allow: /

Anthropic окремо пише, що підтримує нестандартну директиву Crawl-delay для обмеження активності. Це корисно, якщо проблема не в самому доступі, а в навантаженні.

User-agent: ClaudeBot
Crawl-delay: 1

Тут є технічний нюанс. Якщо просто заблокувати IP-адреси бота на рівні firewall, бот може не прочитати ваш оновлений robots.txt. У результаті ви наче зробили opt-out, але сам краулер не бачить інструкцію. Тому спочатку варто переконатися, що /robots.txt доступний.

PerplexityBot і Perplexity-User

Perplexity у своїй документації про краулери пише, що PerplexityBot потрібен для появи і посилань на сайти в результатах Perplexity. Там же вказано, що PerplexityBot не використовується для сканування контенту для фундаментальних AI-моделей.

Отже, якщо ваша ціль - лишитися видимими в Perplexity, блокувати PerplexityBot не варто без окремої причини.

User-agent: PerplexityBot
Allow: /

Perplexity-User підтримує дії користувача. Документація Perplexity пояснює, що оскільки завантаження ініційоване користувачем, цей механізм зазвичай ігнорує правила robots.txt. Якщо це неприйнятно для вашого сайту, треба перевіряти не лише robots.txt, а й серверні правила доступу, WAF, paywall, авторизацію і логіку обмеження частоти запитів.

Для чутливих розділів краще не робити вигляд, що Disallow усе вирішує:

User-agent: Perplexity-User
Disallow: /clients/

Цей рядок може бути корисним сигналом, але не має бути єдиним бар'єром.

Google-Extended: не плутати з Googlebot

Google-Extended - найбільш незвичний елемент у цьому списку. Це не окремий HTTP user-agent, який ви побачите в логах. Google описує його як самостійний product token у robots.txt. Сканування виконується наявними Google user-agent, а Google-Extended працює як керуючий token.

Головне: Google-Extended не впливає на включення сайту в Google Search і не використовується як сигнал ранжування. У документації Google сказано, що цей token керує тим, чи може контент, який Google сканує на сайтах, використовуватися для навчання майбутніх поколінь моделей Gemini та для grounding у Gemini Apps і Grounding with Google Search on Vertex AI.

Якщо хочете залишити звичайний Google Search відкритим, але обмежити Google-Extended:

User-agent: Googlebot
Allow: /

User-agent: Google-Extended
Disallow: /

Не замінюйте це правилом для Googlebot, якщо не хочете закрити сайт від Google Search. Це одна з найнебезпечніших помилок у цій темі.

Готові сценарії robots.txt

Нижче - шаблони, які можна адаптувати. Перед публікацією перевірте їх на тестовому середовищі або хоча б у тестері robots.txt, якщо такий є у вашій CMS чи SEO-інструменті.

Сценарій 1. Дозволити AI-пошук, але закрити навчання

Підходить для блогу, SaaS, медіа або сервісного сайту, який хоче з'являтися у відповідях AI-пошуку, але не хоче віддавати контент у сценарій навчання.

User-agent: OAI-SearchBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

Це найчастіше збалансований варіант. Але він не гарантує видимість. Після зміни правил усе одно потрібно дивитися, чи потрапляють сторінки в AI-відповіді та які джерела моделі цитують. Для цього корисна методика з матеріалу як аналізувати джерела, на які спирається ШІ.

Сценарій 2. Закрити основних AI-ботів повністю

Підходить для сайту, де AI-видимість не є ціллю, або для контенту з підвищеним ризиком копіювання.

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-SearchBot
Disallow: /

User-agent: Claude-User
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Perplexity-User
Disallow: /

User-agent: Google-Extended
Disallow: /

Перед таким рішенням варто зафіксувати наслідок: ви свідомо зменшуєте шанси на видимість у частині AI-пошукових сценаріїв. Для деяких сайтів це нормально. Для комерційних категорій, де користувач уже питає ChatGPT або Perplexity "кого обрати", це може бути втратою точки контакту.

Сценарій 3. Закрити лише окремі розділи

Підходить, коли публічний блог, документація і сторінки послуг можуть бути доступні, а службові, клієнтські або архівні розділи - ні.

User-agent: GPTBot
Disallow: /clients/
Disallow: /internal/
Allow: /blog/
Allow: /services/

User-agent: OAI-SearchBot
Disallow: /clients/
Disallow: /internal/
Allow: /

Цей варіант ближчий до реального життя. Не весь сайт однаково цінний для AI-пошуку, і не весь контент однаково безпечно відкривати.

Підходить, коли сайт має залишатися в Google Search, але команда хоче обмежити Google-Extended.

User-agent: Googlebot
Allow: /

User-agent: Google-Extended
Disallow: /

Ще раз: Google-Extended не є заміною Googlebot.

Як перевірити, що правила справді працюють

Публікація рядків у robots.txt - лише перший крок. Перевірка важливіша.

  1. Відкрийте https://domain.com/robots.txt у браузері. Файл має віддавати 200 OK, не HTML-сторінку і не 403.
  2. Перевірте правила для кожного піддомену. Якщо блог живе на blog.example.com, йому потрібен власний robots.txt.
  3. Подивіться серверні логи за user-agent: GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot, Googlebot.
  4. Зіставляйте user-agent з офіційними IP-діапазонами, якщо провайдер їх публікує. Один лише user-agent можна підробити.
  5. Перевірте CDN і WAF. Cloudflare, AWS WAF, nginx, security plugins або WordPress-плагіни можуть блокувати бота ще до того, як він прочитає robots.txt.
  6. Дайте системам час. OpenAI і Perplexity у своїх документах говорять про затримку до приблизно 24 годин для застосування частини змін; інші краулери можуть оновлювати кеш інакше.

Окрема перевірка - чи не заблокували ви випадково власні пріоритетні сторінки. Якщо після зміни правил з AI-відповідей зникають сторінки, які раніше цитувалися, причина може бути саме в доступі. У матеріалі які сторінки сайту найчастіше потрапляють у відповіді ШІ є логіка, як визначати такі сторінки і не різати їх без потреби.

Типові помилки

Найбільше проблем виникає не через синтаксис, а через неправильну ціль. Команди закривають OAI-SearchBot, хоча хотіли закрити лише GPTBot. Блокують Googlebot замість Google-Extended і шкодять Google Search. Думають, що Disallow видаляє URL з індексу, хоча він забороняє сканування, а не деіндексує. Публікують у robots.txt приватні шляхи, які тепер стають відомими, бо файл публічний. Створюють правила тільки для основного домену, забуваючи про піддомени. Блокують /robots.txt чи офіційних ботів на рівні WAF. Або додають Crawl-delay і очікують, що всі краулери його підтримають, хоча це нестандартна директива.

Окремо варто пам'ятати головне обмеження файлу: robots.txt лише відкриває або закриває двері. Він не пояснює, чому саме вашу сторінку треба цитувати. Для цього працюють контент, структура, дані на сторінці й зовнішні згадки - якщо потрібен технічний шар, корисний матеріал як структуровані дані впливають на AI-видимість.

Яку політику обрати для різних сайтів

Немає універсальної відповіді. Рішення залежить від того, що для вас важливіше: максимальна AI-видимість, контроль використання контенту, менше навантаження або юридична обережність.

Тип сайтуПрактична політика
Блог або медіаЧасто має сенс дозволити AI-пошукових ботів, але окремо вирішити питання ботів для навчання
SaaS або сервісний сайтВідкрити сторінки продукту, блогу, FAQ, документації; закрити кабінети, тестові середовища, клієнтські розділи
E-commerceВідкрити категорії, картки товарів, довідку; закрити кошик, пошук, фільтри з параметрами, особисті кабінети
B2B-компаніяЗалишити доступними сторінки послуг, кейси, експертні матеріали; обережно поводитися з PDF, прайсами і клієнтськими матеріалами
Закрита база знаньНе покладатися на robots.txt; ставити авторизацію і серверний контроль доступу
Медичний, юридичний або фінансовий сайтРобити окремий review з юристом або compliance-командою, бо ціна помилки вища

Для багатьох сайтів нормальна стартова позиція така: дозволити AI-пошук, закрити сценарій навчання, перевірити логи, а через 2-4 тижні подивитися, чи змінилися цитування і навантаження.

FAQ

Якщо заблокувати GPTBot, сайт зникне з ChatGPT?

Не обов'язково. За пошукову видимість у ChatGPT відповідає OAI-SearchBot, а GPTBot стосується сценарію навчання. Але поведінку конкретних відповідей усе одно треба перевіряти в інтерфейсі та логах.

Чому бот усе ще приходить після Disallow?

Можливі причини: кеш robots.txt, інший user-agent, завантаження за запитом користувача, фальшивий user-agent, WAF не дає боту прочитати файл, або правило написане не для того хоста. Починайте з логів і перевірки фактичного запиту до /robots.txt.

Чи треба додавати всіх AI-ботів у robots.txt?

Не обов'язково. Краще почати з тих, які реально впливають на ваш бізнес: OpenAI, Anthropic, Perplexity, Google. Далі - дивитися логи і додавати правила для ботів, які справді відвідують сайт або створюють навантаження.

Підсумок

Технічний доступ AI-краулерів краще налаштовувати не за принципом "усіх пустити" або "усіх закрити", а за ролями. GPTBot, ClaudeBot і Google-Extended більше стосуються навчання або використання контенту в AI-продуктах. OAI-SearchBot, Claude-SearchBot і PerplexityBot ближчі до AI-пошуку та видимості. ChatGPT-User, Claude-User і Perplexity-User - окрема зона, бо їхні запити часто ініційовані користувачем.

Для більшості комерційних сайтів найрозумніша перша ітерація - дозволити AI-пошук, обмежити навчання, не чіпати Googlebot, перевірити WAF і подивитися логи. Так ви не втрачаєте канал AI-видимості без потреби, але зберігаєте контроль над тим, як публічний контент може використовуватися.

Що ще почитати

Спробуйте на своїх запитах

Подивіться, як AI бачить ваш бренд у VYDAI

Створіть акаунт, додайте домен і перевірте реальні запити: у відповідях яких моделей є бренд, які джерела його підтримують і хто з конкурентів з'являється поруч.

У звіті видно
  • згадки бренду в ChatGPT, Gemini та Claude;
  • джерела, URL і домени, на які спирається відповідь;
  • конкурентів, які стабільно виграють у важливих темах.

Читайте також

Що варто прочитати далі

Суміжні матеріали допоможуть перейти від теорії до практики або побачити, як тема працює на прикладі конкретного ринку.