У robots.txt тепер вирішують не лише питання класичного SEO. Цей файл також показує AI-системам, чи можна автоматично обходити сайт для пошуку, цитування, дій за запитом користувача або потенційного навчання моделей. Проблема в тому, що різні компанії вже розділили ці сценарії на окремих ботів. Заблокувати "AI" одним рядком можна, але так легко випадково закрити сайт від ChatGPT Search, Claude Search або Perplexity, хоча ціль була лише обмежити використання контенту для навчання.
Нижче - практична схема для SEO-спеціаліста, власника сайту або технічної команди. Розберемо, чим відрізняються GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot і Google-Extended, які правила додавати в robots.txt, як не зламати видимість у AI-пошуку і чому сам файл не є захистом приватного контенту.
Що саме контролює 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-ботів, а й звичайних пошукових краулерів. Для сайту, який залежить від органічного пошуку, це надто ризиковано.
Навчання, AI-пошук і завантаження за запитом користувача: у чому різниця
Перед змінами в robots.txt варто розділити три сценарії.
| Сценарій | Що відбувається | Для чого це бізнесу |
|---|---|---|
| Навчання моделей | Краулер збирає публічний контент, який може бути використаний для навчання або поліпшення майбутніх моделей | Контроль над тим, чи хочете ви віддавати матеріали для сценарію навчання |
| AI-пошук та індексація | Сервіс обходить сторінки, щоб показувати сайт у відповідях, джерелах і посиланнях | Видимість бренду в ChatGPT Search, Claude, Perplexity та інших AI-пошукових сценаріях |
| Завантаження за запитом користувача | Користувач просить AI відкрити конкретний URL або виконати дію, і бот приходить за цією сторінкою | Доступність сайту в діалогах, коли користувач сам ініціює звернення до сторінки |
Це не академічна різниця. У матеріалі про AI-видимість і SEO ми вже писали: бренд може втратити місце в моменті вибору не через позиції в Google, а через відсутність у відповіді моделі. Якщо закрити бот, який відповідає за AI-пошук, сайт може стати менш видимим саме в цьому шарі попиту.
Основні AI-боти і що вони означають
Станом на 3 червня 2026 року офіційні документації описують таку картину.
| Компанія | User-agent або token | Основна роль | Що змінює блокування |
|---|---|---|---|
| OpenAI | GPTBot | Краулер для контенту, який може використовуватися для навчання генеративних фундаментальних моделей | Сигнал, що контент сайту не має використовуватися для такого навчання |
| OpenAI | OAI-SearchBot | Краулер для появи сайтів у пошукових функціях ChatGPT | Сайт може не показуватися в пошукових відповідях ChatGPT, хоча може лишатися навігаційним посиланням |
| OpenAI | ChatGPT-User | Запити, ініційовані користувачем у ChatGPT або Custom GPTs | Це не автоматичне сканування; OpenAI пише, що robots.txt може не застосовуватися |
| Anthropic | ClaudeBot | Збір вебконтенту, який може потенційно потрапляти в навчальні набори | Сигнал виключити майбутні матеріали сайту з навчальних наборів |
| Anthropic | Claude-SearchBot | Індексація і поліпшення якості вебпошуку у Claude | Менша видимість і точність у пошукових відповідях Claude |
| Anthropic | Claude-User | Доступ до сторінок за запитом користувача Claude | Claude може не отримати контент у відповідь на запит користувача |
| Perplexity | PerplexityBot | Індексація для пошукових результатів Perplexity і посилань | Сайт гірше з'являється в Perplexity |
| Perplexity | Perplexity-User | Запити, ініційовані користувачем Perplexity | Документація Perplexity пише, що цей механізм зазвичай ігнорує robots.txt |
Google-Extended | Robots.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-пошуку, і не весь контент однаково безпечно відкривати.
Сценарій 4. Не чіпати SEO, але обмежити Gemini-related use
Підходить, коли сайт має залишатися в Google Search, але команда хоче обмежити Google-Extended.
User-agent: Googlebot
Allow: /
User-agent: Google-Extended
Disallow: /
Ще раз: Google-Extended не є заміною Googlebot.
Як перевірити, що правила справді працюють
Публікація рядків у robots.txt - лише перший крок. Перевірка важливіша.
- Відкрийте
https://domain.com/robots.txtу браузері. Файл має віддавати200 OK, не HTML-сторінку і не 403. - Перевірте правила для кожного піддомену. Якщо блог живе на
blog.example.com, йому потрібен власнийrobots.txt. - Подивіться серверні логи за user-agent:
GPTBot,OAI-SearchBot,ClaudeBot,Claude-SearchBot,PerplexityBot,Googlebot. - Зіставляйте user-agent з офіційними IP-діапазонами, якщо провайдер їх публікує. Один лише user-agent можна підробити.
- Перевірте CDN і WAF. Cloudflare, AWS WAF, nginx, security plugins або WordPress-плагіни можуть блокувати бота ще до того, як він прочитає
robots.txt. - Дайте системам час. 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-видимості без потреби, але зберігаєте контроль над тим, як публічний контент може використовуватися.