robots.txt dla crawlerów AI: co dopuścić, co zablokować
Daj każdemu ważnemu crawlerowi AI własną grupę User-agent. Dopuść crawlery wyszukiwarek, takie jak OAI-SearchBot, Claude-SearchBot i PerplexityBot, jeśli chcesz być cytowany, a o tokenach treningowych, takich jak GPTBot, ClaudeBot, Google-Extended i Applebot-Extended, decyduj osobno. Nazwana grupa zastępuje dla danego crawlera grupę *.
robots.txt to zwykły plik tekstowy sięgający 1994 roku, który w 2022 roku stał się formalnym standardem RFC 9309. Większość dostawców AI zapewnia, że ich crawlery go przestrzegają, a kilku publikuje osobne tokeny dla wyszukiwania i dla trenowania. Dlatego robots.txt to najprostsze miejsce, by określić politykę wobec AI, pod warunkiem że reguły znaczą dokładnie to, co myślisz.
Na tej stronie
Jakich tokenów robots.txt używają crawlery AI
To tokeny opisane przez samych dostawców. Zgodnie z RFC 9309 wielkość liter przy dopasowaniu nie ma znaczenia.
- OpenAI:
OAI-SearchBot(wyszukiwanie ChatGPT),GPTBot(trenowanie),ChatGPT-User(wizyty na prośbę użytkownika; OpenAI podaje, że robots.txt może nie obowiązywać). - Anthropic:
Claude-SearchBot(wyszukiwanie),ClaudeBot(trenowanie),Claude-User(wizyty na prośbę użytkownika). - Perplexity:
PerplexityBot(wyszukiwanie),Perplexity-User(wizyty na prośbę użytkownika; Perplexity podaje, że zasadniczo ignoruje robots.txt). - Google:
Googlebot(Wyszukiwarka, w tym jej funkcje AI) orazGoogle-Extended, token bez własnego crawlera, który steruje użyciem w trenowaniu i groundingu Gemini. - Apple:
Applebot(Spotlight, Siri, wyszukiwanie w Safari) orazApplebot-Extended, który niczego nie przeszukuje, ale steruje użyciem do trenowania modeli bazowych Apple. - Meta:
meta-externalagent(trenowanie i indeksowanie na potrzeby produktów) orazmeta-webindexer(wyszukiwanie Meta AI). - Common Crawl:
CCBot, który buduje bezpłatne, publiczne archiwum danych z sieci Common Crawl.
Jak wygląda dobry robots.txt dla AI
Ten przykład wpuszcza wyszukiwanie AI i pobrania na żądanie użytkownika, wyłącza główne tokeny treningowe i zostawia jeden prywatny obszar zamknięty dla wszystkich:
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
Kilka wierszy User-agent z rzędu tworzy jedną grupę, więc reguły pod nimi obowiązują każdego z tych crawlerów. Jeśli chcesz, by Twoje treści były używane do trenowania, po prostu pomiń drugą grupę. Zablokowanie Google-Extended nie wpływa na Wyszukiwarkę Google: Google podaje, że nie wpływa to na uwzględnienie w Wyszukiwarce i nie jest czynnikiem rankingowym. Podobnie Apple podaje, że strony blokujące Applebot-Extended nadal mogą pojawiać się w jego wynikach wyszukiwania.
Jak crawlery wybierają, które reguły ich dotyczą
RFC 9309 definiuje to dokładnie, a szczegóły wyjaśniają większość niespodzianek:
- Crawler szuka grupy, której
User-agentpasuje do jego tokenu produktu, bez względu na wielkość liter. Jeśli pasuje kilka grup, ich reguły łączą się w jedną. - Dopiero gdy nie pasuje żadna grupa, crawler stosuje się do grupy
User-agent: *. Nazwana grupa niczego nie dziedziczy po*. - W obrębie grupy wygrywa reguła z najdłuższą pasującą ścieżką.
Allow: /blog/przeważa nadDisallow: /dla/blog/post. - Jeśli reguły
AllowiDisallowpasują z równą długością, należy zastosowaćAllow. *w ścieżce pasuje do dowolnych znaków, a$zakotwicza koniec, więcDisallow: /*.pdf$obejmuje każdy plik PDF.
Najczęstsze błędy w robots.txt
- Oczekiwanie, że nazwana grupa odziedziczy reguły po
*. Grupa dlaOAI-SearchBottylko zAllow: /otwiera wszystkie ścieżki, także te, które zablokowano dla*. - Adres robots.txt zwracający stronę HTML, często stronę 404 serwowaną ze statusem 200. Crawlery nie znajdują w niej poprawnych reguł.
- robots.txt zwracający błąd serwera. Według RFC 9309 crawler musi wtedy założyć, że cała witryna jest zablokowana. Kod 404 to co innego: oznacza brak ograniczeń.
- Zablokowanie tokenu wyszukiwarki zamiast tokenu trenowania, na przykład zablokowanie
PerplexityBotlubClaude-SearchBot, by uniknąć trenowania modeli. - Poleganie na robots.txt w zatrzymywaniu pobrań na żądanie użytkownika. Zarówno OpenAI, jak i Perplexity podają, że ich user agenty mogą go nie przestrzegać.
- Zapominanie o subdomenach. Każdy host ma własny robots.txt; dokumentacja Anthropic przypomina właścicielom stron o dodaniu reguł dla każdej subdomeny.
Czy mogę określić politykę użycia AI poza allow i disallow
Cloudflare zaproponował dla robots.txt wiersz Content-Signal z trzema sygnałami: search (budowanie indeksu wyszukiwania oraz pokazywanie linków i krótkich fragmentów), ai-input (używanie treści w czasie rzeczywistym w odpowiedziach AI) i ai-train (trenowanie lub dostrajanie modeli). Zarządzany robots.txt Cloudflare może dodać go za Ciebie.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Jak wszystko w robots.txt, to preferencje, a nie techniczna kontrola. Sam Cloudflare zaznacza, że przestrzeganie robots.txt jest dobrowolne. Ten wiersz jest opcjonalny i nie szkodzi, ale nie zastępuje opisanych wyżej grup dla poszczególnych crawlerów.
Ile trwają zmiany i jak je sprawdzić
RFC 9309 mówi, że crawlery nie powinny używać zapisanego w pamięci podręcznej robots.txt dłużej niż 24 godziny, a OpenAI i Perplexity podają, że zmiany mogą zacząć działać po około dobie. Pamiętaj też, że robots.txt nie jest kontrolą dostępu: firewall nadal może zablokować crawlera, którego dopuszczają Twoje reguły.
AISeeWhy analizuje Twój robots.txt według RFC 9309 dla każdego testowanego crawlera, oznacza pliki nieosiągalne lub serwowane jako HTML, pokazuje, gdzie reguły rozmijają się z zachowaniem serwera, i podaje gotowy diff do wprowadzenia zmiany.
Najczęstsze pytania
Czy zablokowanie GPTBot lub ClaudeBot szkodzi mojej widoczności w odpowiedziach AI?
Nie bezpośrednio. Obaj dostawcy używają do wyszukiwania osobnych crawlerów, OAI-SearchBot i Claude-SearchBot. Zablokowanie crawlera treningowego to kwestia Twojej polityki.
Czy Google-Extended zatrzymuje AI Overviews?
Nie. Google podaje, że funkcje AI w Wyszukiwarce używają Googlebota i zwykłych mechanizmów sterowania Wyszukiwarką, takich jak nosnippet i noindex. Google-Extended dotyczy trenowania i groundingu Gemini w innych produktach Google i nie wpływa na Wyszukiwarkę.
Czy crawlery AI obsługują Crawl-delay?
Nie jest on częścią RFC 9309. Anthropic podaje, że obsługuje Crawl-delay jako niestandardowe rozszerzenie; w przypadku innych dostawców sprawdź ich dokumentację.
Gdzie musi znajdować się robots.txt?
W katalogu głównym każdego hosta, na przykład https://example.com/robots.txt. Plik w podfolderze jest ignorowany, a każda subdomena potrzebuje własnego.
Źródła
- RFC 9309: Robots Exclusion Protocol
- OpenAI: przegląd crawlerów OpenAI
- Google: popularne crawlery, w tym Google-Extended
- Apple: informacje o Applebot
- Cloudflare: zarządzany robots.txt i Content Signals