robots.txt dla botów AI: jak zezwolić lub zablokować GPTBot, ClaudeBot i PerplexityBot
Krótka odpowiedź: robots.txt dla botów AI określa, bot po bocie, czy dany system AI może czytać twoją stronę. Są trzy rodzaje botów: boty treningowe (GPTBot, ClaudeBot), boty wyszukujące (OAI-SearchBot, Claude-SearchBot, PerplexityBot) oraz boty, które pobierają stronę, bo poprosił o to użytkownik (ChatGPT-User, Claude-User). Jeśli chcesz, żeby twoje treści mogły być cytowane w odpowiedziach wyszukiwania AI, zezwól botom wyszukującym. To, czy zgadzasz się na trenowanie modeli, jest twoją decyzją. Wszystko załatwia jeden mały plik, ale jeden drobny błąd w jego budowie sprawia, że reguły przestają działać.
Dlaczego robots.txt dla botów AI to więcej niż jedna reguła
Kiedyś wystarczało User-agent: *. W przypadku AI to zbyt grube narzędzie, bo ta sama firma wystawia różne boty do różnych zadań. OpenAI mówi to wprost: każde ustawienie jest niezależne od pozostałych. Możesz zezwolić botowi OAI-SearchBot, żeby twoja strona mogła pojawiać się w wynikach wyszukiwania ChatGPT, i zablokować GPTBot, żeby twoje treści nie były przeznaczone do trenowania podstawowych modeli (OpenAI).
To znaczy, że kto blokuje tylko GPTBot w nadziei, że zniknie z ChatGPT, osiąga coś innego, niż zamierzał. A kto z ostrożności blokuje wszystko, zamyka drogę także botom, które mogłyby cytować jego stronę w odpowiedziach.
Trzy rodzaje botów AI
| Rodzaj | Boty | Co się stanie, gdy je zablokujesz |
|---|---|---|
| Trenowanie | GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (Google) | Sygnalizujesz, że twoje treści nie powinny służyć do trenowania. Wyszukiwarka Google pozostaje nietknięta |
| Wyszukiwanie | OAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic), PerplexityBot (Perplexity) | Twoja strona nie jest pokazywana albo jest pokazywana rzadziej w odpowiedziach wyszukiwania tej usługi |
| Na prośbę użytkownika | ChatGPT-User (OpenAI), Claude-User (Anthropic) | W przypadku OpenAI reguły robots.txt mogą nie obowiązywać, bo pobranie wywołuje człowiek. Anthropic pisze, że możesz sterować Claude-User, a blokada może obniżyć widoczność w wyszukiwaniu sterowanym przez użytkownika |
Co sami operatorzy piszą na ten temat, w skrócie:
- OpenAI: strony, które wykluczają OAI-SearchBot, nie pojawiają się w odpowiedziach wyszukiwania ChatGPT, ale nadal mogą być pokazywane jako linki nawigacyjne. Po zmianie robots.txt może minąć około 24 godzin, zanim systemy się dostosują.
- Anthropic: ograniczenie ClaudeBot jest sygnałem, że przyszłe materiały mają zostać wyłączone ze zbiorów treningowych. Jeśli wyłączysz Claude-SearchBot albo Claude-User, widoczność twojej strony w wynikach wyszukiwania może spaść. Anthropic respektuje robots.txt, nie omija CAPTCHA i obsługuje niestandardowy wiersz
Crawl-delay(Anthropic). - Perplexity: PerplexityBot ma pokazywać strony w wynikach wyszukiwania Perplexity i do nich linkować. Nie służy do zbierania treści dla podstawowych modeli, a Perplexity zaleca, żeby mu zezwolić (Perplexity).
- Google: Google-Extended nie jest osobnym botem, tylko tokenem w robots.txt. Określa, czy treści pobrane przez Google mogą służyć do trenowania przyszłych modeli Gemini i do groundingu. Nie wpływa na obecność w wyszukiwarce Google i nie jest sygnałem rankingowym (Google).
Operatorzy zmieniają swoje listy. Zajrzyj na te strony, zanim skopiujesz jakąkolwiek regułę.
Trzy przykłady do dopasowania
1. Zezwól na wszystko, zamknij tylko wewnętrzne API. Tak robi sam seogrinder.com: jedna grupa z kilkoma wierszami User-agent nad jednym zestawem reguł.
User-agent: *
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Disallow: /api/
Allow: /
Sitemap: https://www.example.com/sitemap.xml
2. Zezwól na wyszukiwanie, odmów trenowania.
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
Disallow: /
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
To decyzja właściciela, a nie rekomendacja. Jeśli zależy ci na jak najszerszym wykorzystaniu treści, weź przykład 1. Pamiętaj, że Google-Extended obejmuje poza trenowaniem także grounding w aplikacjach Gemini i w Vertex AI. Nie dotyczy wyszukiwarki Google ani Przeglądów od AI (AI Overviews).
3. Odmów wszystkim botom AI. Wpisz Disallow: / pod każdym z wymienionych wyżej botów. Wtedy będziesz się pojawiać w odpowiedziach wyszukiwania ChatGPT, Claude i Perplexity rzadziej albo wcale (linki nawigacyjne i pobrania na prośbę użytkownika nadal są możliwe). Przeglądami od AI w Google sterujesz przez Googlebota, a nie przez te identyfikatory. Ma to sens tylko wtedy, gdy dokładnie tego chcesz.
Pułapka: własna grupa bota zastępuje grupę z *
Według RFC 9309 crawler stosuje się do grupy, która pasuje do jego nazwy. Jeśli ma własną grupę, grupa z * go nie dotyczy (RFC 9309).
Przykład: pod User-agent: * masz Disallow: /internal/. Później dodajesz osobną grupę dla GPTBot, która zawiera tylko Allow: /. Od tej chwili /internal/ nie jest już dla GPTBot zamknięte. Powtórz reguły w każdej grupie albo umieść kilka wierszy User-agent nad tym samym zestawem reguł, jak w przykładach wyżej.
Dwie kolejne zasady z tej samej specyfikacji pomagają, gdy reguły się kłócą: wygrywa najbardziej szczegółowe dopasowanie (najdłuższa ścieżka), a jeśli Allow i Disallow mają tę samą długość, obowiązuje Allow.
Opcjonalny wiersz, który mówi, jak wolno używać twoich treści: Content-Signal
Poza zezwalaniem i blokowaniem jest opcjonalny wiersz, który we wrześniu 2025 roku wprowadził Cloudflare. Mówi, do czego twoje treści mogą służyć:
Content-Signal: search=yes, ai-input=yes, ai-train=no
search obejmuje indeksy wyszukiwania i snippety, ai-input oznacza użycie treści bezpośrednio w odpowiedziach AI, a ai-train dotyczy trenowania. To deklaracja, a nie zamek: przestrzeganie jest dobrowolne. Cloudflare pisze, że content signals wyrażają preferencje, nie są technicznymi środkami zaradczymi i że niektóre firmy mogą je po prostu ignorować (Cloudflare).
Trwają też prace nad standardami. Dokumentacja crawlerów Google podaje, że Google zamierza na początku 2027 roku obsługiwać wspólny, odczytywalny maszynowo sygnał preferencji dotyczący trenowania, AIPREF, zapisywany jako user-agent: __usage_ai-training (Google). Do tego czasu Google-Extended pozostaje przełącznikiem dla trenowania Gemini i groundingu.
robots.txt to nie ochrona dostępu
Specyfikacja mówi to jasno: protokół nie zastępuje prawdziwych zabezpieczeń, a ścieżki wymienione w robots.txt widzi każdy. Bota, który ignoruje reguły, twój plik nie zatrzyma. Dla treści, które nie mogą być publiczne, potrzebujesz logowania albo reguł zapory sieciowej. Anthropic ostrzega ponadto, że blokada po adresie IP nie działa niezawodnie jako rezygnacja, bo wtedy bot w ogóle nie może przeczytać twojego robots.txt.
Jak sprawdzić robots.txt dla botów AI
- Otwórz
https://twoja-strona.pl/robots.txtw przeglądarce. Każda subdomena ma własny plik. - Otwórz SEOgrinder, wpisz swój adres i uruchom analizę. Konto nie jest potrzebne.
- Przejdź do karty Gotowość na AI i znajdź w sekcji „Kontrole dla agentów AI” punkt „Sterować botami AI”. Jeśli jest spełniony, wiersz podaje, ile robotów AI objęto regułami, ile z nich jest dozwolonych, a ile zablokowanych. Jeśli jest otwarty, nie znaleziono jawnej reguły dla treningu i wyszukiwania.
- Spełniony punkt można rozwinąć: zobaczysz tekst, który znaleziono w twoim pliku.
- Kliknij Kopiuj prompt dla agenta i wklej go do swojego asystenta programistycznego. Jeśli reguły brakuje, prompt opisuje, co dodać; jeśli reguła istnieje, prosi asystenta o jej przejrzenie i zmianę tylko tego, co jest błędne. Zezwolenie lub blokada zostają decyzją właściciela.
- Po zmianie kliknij Sprawdź ponownie. Raporty są przechowywane w pamięci podręcznej do 24 godzin, a ten przycisk wymusza świeże sprawdzenie (kilka razy na godzinę).
Zaplanuj mniej więcej dobę, zanim systemy OpenAI i Perplexity zaczną stosować nowe reguły.
Prawdziwe wizyty: logi i zakresy IP
To, czy bot naprawdę odwiedza twoją stronę, zobaczysz w logach serwera, w polu user agent. Ponieważ każdy może podać się za GPTBot, operatorzy publikują zakresy adresów IP do porównania: OpenAI podaje je dla każdego bota jako plik JSON, na przykład openai.com/gptbot.json, a Anthropic odsyła do własnej listy. Jeśli wizyta nie pochodzi z tych zakresów, bardzo prawdopodobnie nie pochodzi od danego operatora, nawet gdy nazwa się zgadza. Przydaje się to, gdy chcesz analizować wizyty albo wyłapywać fałszywe boty na zaporze sieciowej. Pamiętaj przy tym o ostrzeżeniu Anthropic: nie blokuj prawdziwych botów po adresach IP, bo wtedy nie przeczytają twojego robots.txt.
Najczęstsze błędy
- Zostawiony
Disallow: /dla wszystkich. Strona testowa trafia na produkcję, a blokada ze środowiska testowego siedzi dalej w robots.txt. Sprawdzaj to przy każdym starcie strony. - Blokowanie samego GPTBot, żeby zniknąć z ChatGPT. To reguluje trenowanie, a nie wyszukiwanie.
- Pusty wiersz wewnątrz grupy. Niektóre parsery, na przykład robotparser z Pythona, odrzucają wtedy nazwy znajdujące się nad nim. Trzymaj wiersze
User-agentbezpośrednio jeden pod drugim. - Względny wiersz Sitemap. Wpisz pełny adres z
https://. - Plik w złym miejscu. Musi leżeć w katalogu głównym:
/robots.txt, a nie w podkatalogu. - Zbyt duże oczekiwania wobec Content-Signal i llms.txt. Oba rozwiązania są opcjonalne, a wpływ na pozycje lub cytowania nie jest potwierdzony. O drugim z nich piszemy w artykule llms.txt: co to jest, jak go stworzyć i czy naprawdę działa.
Najczęstsze pytania
Czy zezwalać botom AI?
To zależy od twojego celu. Jeśli chcesz, żeby twoje treści były cytowane w odpowiedziach wyszukiwania AI, zezwól botom wyszukującym. Zezwolenie na trenowanie albo odmowa to decyzja biznesowa, a oba ustawienia możesz wybrać niezależnie.
Czy zniknę z Google, jeśli zablokuję Google-Extended?
Nie. Google pisze, że Google-Extended nie wpływa na obecność w wyszukiwarce Google i nie jest sygnałem rankingowym.
Jak szybko działa zmiana?
OpenAI i Perplexity podają, że zmiana robots.txt zaczyna działać po czasie do około 24 godzin.
Czy llms.txt to to samo co robots.txt?
Nie. robots.txt steruje dostępem. llms.txt to proponowany plik z podsumowaniem twojej strony dla modeli językowych. Według relacji z drugiej ręki Google go nie obsługuje (Search Engine Roundtable). Wpływ nie jest potwierdzony.
Czy mogę ustawić różne reguły dla różnych folderów?
Tak. Wewnątrz grupy ustawiasz Disallow i Allow osobno dla każdej ścieżki. Wygrywa najbardziej szczegółowe dopasowanie.
Twój następny krok
Otwórz swój robots.txt i sprawdź, czy przez pomyłkę nie zablokowano w nim botów wyszukujących. Potem uruchom bezpłatne skanowanie i zobacz, czy w karcie Gotowość na AI punkt „Sterować botami AI” jest spełniony, czyli czy trenowanie i wyszukiwanie mają po jednej jawnej regule. To, czy reguła zezwala, czy blokuje, podaje wynik sprawdzenia.