robots.txt для AI-краулерів: що дозволити, що закрити
Дайте кожному важливому AI-краулеру власну групу User-agent. Дозвольте пошукові краулери на кшталт OAI-SearchBot, Claude-SearchBot і PerplexityBot, якщо хочете, щоб вас цитували, а токени навчання, такі як GPTBot, ClaudeBot, Google-Extended і Applebot-Extended, вирішуйте окремо. Іменована група замінює для цього краулера групу *.
robots.txt — простий текстовий файл, що з’явився ще 1994 року, а 2022-го став формальним стандартом RFC 9309. Більшість AI-вендорів заявляють, що їхні краулери його дотримуються, а деякі публікують окремі токени для пошуку й для навчання. Тому robots.txt — найпростіше місце, щоб зафіксувати політику щодо AI, за умови що правила означають саме те, що ви думаєте.
На цій сторінці
Які токени robots.txt використовують AI-краулери
Це токени, які описують самі вендори. За RFC 9309 регістр під час зіставлення не враховується.
- OpenAI:
OAI-SearchBot(пошук ChatGPT),GPTBot(навчання),ChatGPT-User(візити на запит користувача; OpenAI повідомляє, що robots.txt може не застосовуватися). - Anthropic:
Claude-SearchBot(пошук),ClaudeBot(навчання),Claude-User(візити на запит користувача). - Perplexity:
PerplexityBot(пошук),Perplexity-User(візити на запит користувача; Perplexity повідомляє, що загалом ігнорує robots.txt). - Google:
Googlebot(Пошук, зокрема його AI-функції) іGoogle-Extended— токен без власного краулера, який керує використанням у навчанні та grounding Gemini. - Apple:
Applebot(Spotlight, Siri, пошук Safari) іApplebot-Extended, який нічого не обходить, а керує використанням для навчання базових моделей Apple. - Meta:
meta-externalagent(навчання та індексація для продуктів) іmeta-webindexer(пошук Meta AI). - Common Crawl:
CCBot, який збирає безкоштовний публічний архів вебданих Common Crawl.
Як виглядає хороший robots.txt для AI
Цей приклад пускає AI-пошук і завантаження на запит користувача, вимикає основні токени навчання і тримає одну закриту ділянку недоступною для всіх:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
Кілька рядків User-agent поспіль утворюють одну групу, тож правила під ними діють на кожного з цих краулерів. Якщо ви хочете, щоб ваш контент використовувався для навчання, просто не додавайте другу групу. Блокування Google-Extended не впливає на Google Пошук: Google повідомляє, що воно не впливає на включення в Пошук і не є чинником ранжування. Так само Apple повідомляє, що сторінки, закриті для Applebot-Extended, усе одно можуть з’являтися в її результатах пошуку.
Як краулери вибирають, які правила до них належать
RFC 9309 описує це точно, і деталі пояснюють більшість несподіванок:
- Краулер шукає групу, в якій
User-agentзбігається з його токеном продукту, без урахування регістру. Якщо збігається кілька груп, їхні правила об’єднуються в одне. - Лише якщо жодна група не підійшла, краулер дотримується групи
User-agent: *. Іменована група нічого не успадковує від*. - Усередині групи перемагає правило з найдовшим відповідним шляхом.
Allow: /blog/має пріоритет надDisallow: /для/blog/post. - Якщо правила
AllowіDisallowзбігаються за довжиною, слід застосовуватиAllow. *у шляху відповідає будь-яким символам, а$прив’язує до кінця, тожDisallow: /*.pdf$охоплює всі PDF.
Найпоширеніші помилки в robots.txt
- Очікування, що іменована група успадкує правила від
*. Група дляOAI-SearchBotлише зAllow: /відкриває всі шляхи, зокрема ті, що ви закрили для*. - Адреса robots.txt, яка віддає HTML-сторінку, найчастіше сторінку 404 зі статусом 200. Краулери не знаходять у ній коректних правил.
- robots.txt, який повертає помилку сервера. За RFC 9309 тоді краулер має вважати, що весь сайт закритий. З відповіддю 404 інакше: вона означає відсутність обмежень.
- Блокування пошукового токена замість блокування навчання, наприклад заборона
PerplexityBotабоClaude-SearchBot, щоб уникнути навчання моделей. - Розрахунок на те, що robots.txt зупинить завантаження на запит користувача. І OpenAI, і Perplexity повідомляють, що їхні user agent можуть його не дотримуватися.
- Забуті піддомени. У кожного хоста свій robots.txt; документація Anthropic нагадує власникам сайтів додавати правила для кожного піддомену.
Чи можна задати політику використання AI не лише через allow і disallow
Cloudflare запропонував для robots.txt рядок Content-Signal із трьома сигналами: search (побудова пошукового індексу та показ посилань і коротких фрагментів), ai-input (використання контенту в реальному часі для AI-відповідей) і ai-train (навчання або донавчання моделей). Кероване robots.txt від Cloudflare може додати його за вас.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Як і все в robots.txt, це побажання, а не технічний контроль. Сам Cloudflare зауважує, що дотримання robots.txt добровільне. Рядок необов’язковий і шкоди не завдає, але не замінює описані вище групи для кожного краулера.
Скільки часу займають зміни та як їх перевірити
RFC 9309 каже, що краулери не повинні використовувати кешований robots.txt довше ніж 24 години, а OpenAI і Perplexity повідомляють, що зміни можуть застосовуватися близько доби. Пам’ятайте й те, що robots.txt не контроль доступу: файрвол усе одно може заблокувати краулера, якого дозволяють ваші правила.
AISeeWhy розбирає ваш robots.txt за RFC 9309 для кожного краулера, якого перевіряє, позначає недоступні файли та файли, що віддаються як HTML, показує, де ваші правила розходяться з поведінкою сервера, і дає готовий diff для зміни.
Поширені запитання
Чи шкодить блокування GPTBot або ClaudeBot моїй видимості в AI-відповідях?
Напряму ні. Обидва вендори використовують для пошуку окремі краулери, OAI-SearchBot і Claude-SearchBot. Блокування краулера навчання — питання вашої політики.
Чи зупиняє Google-Extended AI Overviews?
Ні. Google повідомляє, що AI-функції в Пошуку використовують Googlebot і звичайні засоби керування Пошуком, як-от nosnippet і noindex. Google-Extended стосується навчання та grounding Gemini в інших продуктах Google і на Пошук не впливає.
Чи підтримують AI-краулери Crawl-delay?
У RFC 9309 його немає. Anthropic повідомляє, що підтримує Crawl-delay як нестандартне розширення; в інших вендорів дивіться документацію.
Де має лежати robots.txt?
У корені кожного хоста, наприклад https://example.com/robots.txt. Файл у підпапці ігнорується, а в кожного піддомену має бути свій.
Джерела
- RFC 9309: Robots Exclusion Protocol
- OpenAI: огляд краулерів OpenAI
- Google: поширені краулери, зокрема Google-Extended
- Apple: про Applebot
- Cloudflare: кероване robots.txt і Content Signals