Roboty AI dzielą się na trzy grupy: treningowe (GPTBot, ClaudeBot, CCBot), wyszukiwania (OAI-SearchBot, Claude-SearchBot, PerplexityBot) i pobierające stronę na prośbę użytkownika (ChatGPT-User, Claude-User, Perplexity-User). W robots.txt każdą grupę ustawia się osobno, więc strona może zostać w odpowiedziach wyszukiwarek AI i jednocześnie zgłosić sprzeciw wobec treningu. Google-Extended i Applebot-Extended to znaczniki decyzji, a nie osobne roboty.
Robot treningowy, robot wyszukiwania i pobranie na żądanie: czym się różnią
Roboty AI pełnią trzy różne role i każdą z nich ustawia się w robots.txt osobno. Robot treningowy zbiera treści, które mogą trafić do trenowania modeli. Robot wyszukiwania buduje indeks, z którego asystent odpowiada z linkami do źródeł. Pobranie na żądanie następuje wtedy, gdy użytkownik zadaje pytanie, a asystent otwiera konkretną stronę, żeby na nie odpowiedzieć.
Ten podział wprowadzili sami producenci. OpenAI pisze w dokumentacji swoich robotów, że ustawienia są od siebie niezależne: można wpuścić OAI-SearchBot, żeby pojawiać się w wynikach, i zablokować GPTBot, żeby zgłosić sprzeciw wobec treningu. Anthropic w opisie robotów Claude wymienia trzy roboty i skutek wyłączenia każdego z nich. Perplexity w dokumentacji swoich robotów deklaruje, że PerplexityBot nie zbiera treści do trenowania modeli.
| Rola | Do czego służy | Przykłady | Czy stosuje robots.txt |
|---|---|---|---|
| Trening modeli | Zbiera treści, które mogą trafić do treningu przyszłych modeli | GPTBot, ClaudeBot, CCBot oraz tokeny Google-Extended i Applebot-Extended | Tak |
| Wyszukiwanie | Buduje indeks, z którego asystent odpowiada z linkami do źródeł | OAI-SearchBot, Claude-SearchBot, PerplexityBot, a w wyszukiwarkach także Googlebot, bingbot i Applebot | Tak |
| Pobranie na żądanie | Otwiera stronę w chwili, gdy użytkownik zadał pytanie albo zlecił zadanie | ChatGPT-User, Claude-User, Perplexity-User, Google-Agent | Różnie: Anthropic deklaruje, że tak; OpenAI pisze, że reguły mogą nie mieć zastosowania; Perplexity i Google, że zwykle są pomijane |
Weźmy kancelarię z Krakowa, która publikuje poradniki o prawie spadkowym. Jeżeli zależy jej na tym, żeby ChatGPT, Claude i Perplexity cytowały te poradniki z linkiem, musi wpuścić roboty wyszukiwania. Zgoda na trening to osobna decyzja, wynikająca z polityki firmy wobec jej tekstów. Roboty pobierające na żądanie trudno kontrolować samym plikiem, co opisujemy niżej. Mechanizm, w którym model odpowiada na podstawie pobranych stron, wyjaśniamy w przewodniku, w części o tym, jak powstaje odpowiedź z przypisami.
Lista robotów AI: identyfikatory, właściciele i skutki blokady
Tabela zbiera roboty opisane w dokumentacji OpenAI, Anthropic, Perplexity, Google, Apple, Common Crawl i Microsoftu. Pierwsza kolumna podaje token wpisywany w wierszu User-agent. Wielkość liter nie ma znaczenia: standard RFC 9309 wymaga, żeby robot szukał swojej grupy bez rozróżniania wielkich i małych liter.
| Token w robots.txt | Firma | Do czego służy | Skutek blokady |
|---|---|---|---|
| GPTBot | OpenAI | Zbiera treści, które mogą trafić do treningu modeli | Treści nie powinny trafiać do treningu; wyszukiwanie w ChatGPT bez zmian |
| OAI-SearchBot | OpenAI | Pokazuje strony w wynikach wyszukiwania ChatGPT | Strona znika z odpowiedzi wyszukiwania, może zostać jako link nawigacyjny |
| ChatGPT-User | OpenAI | Otwiera stronę, gdy pyta użytkownik ChatGPT lub Custom GPT | Reguły robots.txt mogą nie mieć zastosowania |
| ClaudeBot | Anthropic | Zbiera treści, które mogą trafić do treningu | Przyszłe materiały strony wyłączone z treningu |
| Claude-SearchBot | Anthropic | Indeksuje treści na potrzeby wyszukiwania w Claude | Możliwa mniejsza widoczność w wynikach wyszukiwania |
| Claude-User | Anthropic | Otwiera stronę na prośbę użytkownika Claude | Claude nie pobierze strony w odpowiedzi na pytanie |
| PerplexityBot | Perplexity | Pokazuje i linkuje strony w wynikach; według firmy nie służy do treningu | Strona traci szansę na obecność w wynikach Perplexity |
| Perplexity-User | Perplexity | Otwiera stronę, gdy pyta użytkownik Perplexity | Według Perplexity zwykle ignoruje robots.txt |
| Googlebot | Cała wyszukiwarka Google, także Discover i funkcje AI | Google przestaje pobierać stronę dla wyszukiwarki | |
| Google-Extended | Token decyzji: trening modeli Gemini i grounding w aplikacjach Gemini oraz Vertex AI | Brak wpływu na wyszukiwarkę i ranking | |
| Applebot | Apple | Wyszukiwanie w Siri, Spotlight i Safari; dane mogą też służyć do treningu | Treści przestają zasilać wyszukiwanie Apple |
| Applebot-Extended | Apple | Token decyzji: trening modeli Apple | Strona zostaje w wyszukiwaniu Apple |
| CCBot | Common Crawl | Buduje otwarte archiwum sieci, z którego korzystają także twórcy modeli | Robot przestaje pobierać stronę |
| bingbot | Microsoft | Wyszukiwarka Bing i odpowiedzi Copilota | Strona znika z Bing; o AI decydują znaczniki NOCACHE i NOARCHIVE |
Dwa wpisy z tabeli nie są robotami. Google-Extended nie ma własnego ciągu User-Agent: Google pobiera strony zwykłymi robotami, a token służy wyłącznie do przekazania decyzji. Applebot-Extended według Apple w ogóle nie odwiedza stron, tylko określa, jak Apple użyje danych zebranych przez Applebota. W logach serwera nie zobaczą więc Państwo wizyt tych robotów, a reguła i tak działa.
Apple stosuje też regułę zastępczą, o której mało kto wie. Jeżeli robots.txt nie wspomina o Applebocie, a zawiera grupę dla Googlebota, Applebot stosuje zasady Googlebota (dokumentacja Applebota, wersja z 4 września 2026 r.). W takim pliku zakaz dla Googlebota w jakimś katalogu zamyka go więc także dla wyszukiwania w Siri i Spotlight.
CCBot należy do fundacji Common Crawl, która buduje otwarte archiwum sieci. Z takich zbiorów korzystają twórcy modeli: w pracy o GPT-3 z 2020 r. przefiltrowane dane Common Crawl miały 60% udziału w mieszance treningowej. Lista robotów się wydłuża. OpenAI ma jeszcze OAI-AdsBot, który odwiedza tylko strony zgłoszone jako reklamy w ChatGPT, a Google opisuje Google-Agent, czyli agenta działającego w sieci na prośbę użytkownika. Roboty działające na prośbę użytkownika opisujemy w przewodniku, w części o trzech rodzajach robotów AI. W zarządzanym pliku Cloudflare pojawiają się jeszcze Amazonbot, Bytespider i meta-externalagent. Ich dokumentacji nie omawiamy, więc przed dopisaniem tych nazw trzeba sprawdzić źródło u właściciela robota.
Co daje blokada: ChatGPT, Claude, Perplexity, Google, Apple i Bing
Blokada robota wyszukiwania zwykle wyłącza stronę z odpowiedzi danego asystenta, a blokada robota treningowego według producentów nie zmienia widoczności w ich wyszukiwarkach. Najwięcej niuansów mają Google, Apple i Microsoft, bo u nich jeden robot obsługuje wyszukiwarkę i funkcje AI jednocześnie.
ChatGPT, Claude i Perplexity
Strona, która blokuje OAI-SearchBot, nie pojawi się w odpowiedziach wyszukiwania ChatGPT, choć według OpenAI może zostać pokazana jako link nawigacyjny. Jeżeli ma zniknąć całkiem, OpenAI zaleca znacznik noindex, a robot musi mieć dostęp do strony, żeby go odczytać. Szczegóły opisujemy w przewodniku, w części o wyszukiwaniu w ChatGPT. Anthropic ostrzega, że wyłączenie Claude-SearchBot może zmniejszyć widoczność strony w wynikach wyszukiwania, a wyłączenie Claude-User uniemożliwia pobranie treści w odpowiedzi na pytanie użytkownika. Perplexity zaleca wpuszczenie PerplexityBot każdemu, kto chce pojawiać się w jego wynikach.
Google: Googlebot, Google-Extended i przełącznik w Search Console
Google-Extended decyduje o dwóch sprawach: o treningu przyszłych modeli Gemini i o groundingu, czyli podawaniu modelowi treści z indeksu Google w chwili odpowiedzi, w aplikacjach Gemini i w Vertex AI. Według listy robotów Google token nie wpływa na obecność w wyszukiwarce ani na ranking. Blokada ma jednak koszt, o którym rzadko się mówi: treści strony przestają być używane do groundingu w aplikacjach Gemini.
AI Overviews, czyli Przegląd od AI, i tryb AI są częścią wyszukiwarki, więc obsługuje je Googlebot. Do ograniczania pokazywanych treści Google wskazuje znaczniki nosnippet, data-nosnippet, max-snippet i noindex. W czerwcu 2026 r. Google zaczął testować, a od 31 sierpnia 2026 r. udostępnia wszystkim witrynom na świecie ustawienie Search generative AI w Search Console. Wyłącza ono stronę z AI Overviews, trybu AI i funkcji generatywnych w Discover, nie jest sygnałem rankingowym dla reszty wyników i nie dotyczy treningu. Zmiana działa zwykle po kilku dniach. Więcej piszemy we wpisie o AI Overviews i w przewodniku, w części o trybie AI w Google.
Apple i Microsoft
Apple oddziela trening od wyszukiwania tokenem Applebot-Extended: strony z takim zakazem nadal mogą pojawiać się w wynikach. Osobno działa znacznik nosnippet. Apple nie użyje wtedy treści jako kontekstu dla odpowiedzi AI w Siri i wyszukiwaniu, ale w podpowiedziach pokaże sam tytuł strony. Microsoft nie ma osobnego tokenu dla AI. W Bing o udziale w odpowiedziach czatu, który od listopada 2023 r. nazywa się Copilot, decydują znaczniki meta: NOCACHE ogranicza odpowiedź do adresu, tytułu i opisu, a NOARCHIVE wyłącza stronę z odpowiedzi i z treningu modeli Microsoftu. W obu przypadkach strona zostaje w wynikach Bing. Według Cloudflare Microsoft buduje obsługę zakazu treningu w robots.txt i celuje w początek 2027 r.
Gotowe pliki robots.txt dla trzech strategii: otwarte, bez treningu, zamknięte
Poniżej trzy wzorce do skopiowania, od najbardziej otwartego. Każdy zawiera przykładowe zakazy dla koszyka i konta klienta oraz adres mapy witryny. Domenę example.pl i ścieżki trzeba zamienić na własne, a przed publikacją zachować kopię obecnego pliku.
Strategia A: wszystko otwarte
Dla firmy, której zależy na obecności we wszystkich asystentach, na przykład hydraulika z Łodzi albo sklepu z Poznania, najprostszy plik jest najlepszy. Roboty AI bez własnej grupy stosują grupę z gwiazdką, więc nie trzeba ich wymieniać. Dopisywanie im grup z samym Allow bywa szkodliwe, bo robot z własną grupą przestaje widzieć zakazy z gwiazdki.
# Strategia A: wszystko otwarte
User-agent: *
Disallow: /koszyk/
Disallow: /moje-konto/
Sitemap: https://www.example.pl/sitemap.xml
Strategia B: wyszukiwanie AI tak, trening nie
Ten wariant zostawia stronę w odpowiedziach z linkami i zgłasza sprzeciw wobec treningu. Jedna grupa może mieć kilka wierszy User-agent, co Google pokazuje w specyfikacji robots.txt. Wariant ma dwa kompromisy. Blokada Google-Extended wyłącza też grounding w aplikacjach Gemini. Bing nie ma tokenu treningowego, a znacznik NOARCHIVE usunąłby stronę także z odpowiedzi Copilota, więc dla Microsoftu zostaje NOCACHE: w odpowiedziach czatu i w treningu Bing użyje wtedy tylko adresu, tytułu i opisu.
# Strategia B: wyszukiwanie AI tak, trening nie
# Roboty i tokeny treningowe
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /
# Pozostałe roboty, w tym OAI-SearchBot, Claude-SearchBot,
# PerplexityBot, Googlebot, bingbot i Applebot
User-agent: *
Disallow: /koszyk/
Disallow: /moje-konto/
Sitemap: https://www.example.pl/sitemap.xml
Strategia C: wszystkie roboty AI zamknięte
Ten wariant pasuje na przykład do wydawcy płatnych raportów, który nie chce, żeby asystenci streszczali jego treści. Plik zamyka wszystkie tokeny AI, a klasyczne wyszukiwarki zostawia otwarte. Pełny efekt wymaga jeszcze ustawienia Search generative AI w Search Console, znaczników dla Apple i Bing oraz logowania przy treściach naprawdę poufnych. Roboty pobierające na żądanie mogą pominąć ten plik, o czym piszemy w części o ograniczeniach robots.txt.
# Strategia C: roboty AI zamknięte, klasyczne wyszukiwarki otwarte
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: CCBot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /
User-agent: *
Disallow: /koszyk/
Disallow: /moje-konto/
Sitemap: https://www.example.pl/sitemap.xml
<meta name="bingbot" content="nocache">
<meta name="bingbot" content="noarchive">
<meta name="applebot" content="nosnippet">
Pułapki składni robots.txt: grupa z gwiazdką, subdomeny, kody błędów
Najczęstszy błąd polega na tym, że robot z własną grupą pomija grupę z gwiazdką. RFC 9309 każe stosować gwiazdkę tylko wtedy, gdy żadna grupa nie pasuje do robota, a Google dodaje, że grupy konkretnego robota i grupa ogólna nie są łączone. Łatwo to przeoczyć, gdy do starego pliku dopisuje się nowe roboty.
# BŁĄD: OAI-SearchBot ma własną grupę, więc nie widzi zakazu dla koszyka
User-agent: OAI-SearchBot
Allow: /
User-agent: *
Disallow: /koszyk/
# POPRAWNIE: zakazy powtórzone w grupie robota
User-agent: OAI-SearchBot
Disallow: /koszyk/
User-agent: *
Disallow: /koszyk/
- Każda subdomena ma własny plik. Reguły z www.example.pl nie obowiązują w sklep.example.pl, a Anthropic prosi o dodanie zakazu na każdej subdomenie osobno.
- Plik odpowiada kodem 200. Przy kodach 4xx standard pozwala robotom uznać, że ograniczeń nie ma. Google tak właśnie traktuje wszystkie kody 4xx poza 429.
- Serwer nie zwraca błędów 5xx. Standard każe wtedy przyjąć pełny zakaz, a Google przez pierwsze 12 godzin wstrzymuje pobieranie witryny.
- Zmiana ma czas na propagację. Google zwykle trzyma kopię pliku do 24 godzin, OpenAI i Perplexity podają podobny czas dostosowania.
- Plik jest krótki. Robot musi przeczytać co najmniej 500 KiB, więc reguły za tą granicą mogą zostać pominięte.
- Crawl-delay traktujemy ostrożnie. To rozszerzenie spoza standardu: Anthropic i Common Crawl je obsługują, Applebot według Apple nie.
Weryfikacja robota po adresie IP i reverse DNS
Nazwa w nagłówku User-Agent niczego nie dowodzi, bo każdy może ją wpisać. Google ostrzega, że ciąg User-Agent da się podrobić, a Common Crawl pisze, że zna roboty fałszywie przedstawiające się jako CCBot. Pewność daje adres IP: porównanie z listą opublikowaną przez producenta albo odwrotne zapytanie DNS potwierdzone zapytaniem w przód.
| Firma | Lista adresów IP | Reverse DNS |
|---|---|---|
| OpenAI | searchbot.json, gptbot.json, chatgpt-user.json | Dokumentacja nie opisuje |
| Anthropic | bots.json w domenie claude.com | Dokumentacja nie opisuje |
| Perplexity | perplexitybot.json, perplexity-user.json | Dokumentacja nie opisuje |
| common-crawlers.json i osobne listy dla pozostałych typów | googlebot.com, google.com, googleusercontent.com | |
| Apple | applebot.json | applebot.apple.com |
| Common Crawl | ccbot.json | crawl.commoncrawl.org, bez obsługi IPv6 |
| Microsoft | Narzędzie Verify Bingbot | search.msn.com |
- Wziąć adres IP z logu
Z wpisu, w którym pojawia się nazwa robota, skopiować adres IP klienta. Nazwy robota nie traktujemy jako dowodu.
- Wykonać reverse DNS
Polecenie host z adresem IP zwraca nazwę hosta. Dla robotów Google musi kończyć się na googlebot.com, google.com albo googleusercontent.com, dla robota Bing na search.msn.com.
- Potwierdzić zapytaniem w przód
To samo polecenie z nazwą hosta musi zwrócić pierwotny adres IP. Dopiero zgodność obu wyników jest potwierdzeniem.
- Porównać z listą JSON
OpenAI, Anthropic i Perplexity nie opisują weryfikacji przez DNS, za to publikują listy adresów. Sprawdzamy, czy adres mieści się w jednej z opublikowanych pul.
# Reverse DNS: adres z logu zamieniamy na nazwę hosta
host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
# Zapytanie w przód: nazwa hosta musi wskazać ten sam adres
host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1
# Krok 1 w terminalu: pobranie aktualnej listy adresów (przykład: OAI-SearchBot)
curl -s -o searchbot.json https://openai.com/searchbot.json
# Inne listy: https://openai.com/gptbot.json, https://openai.com/chatgpt-user.json,
# https://claude.com/crawling/bots.json, https://www.perplexity.com/perplexitybot.json,
# https://search.developer.apple.com/applebot.json, https://index.commoncrawl.org/ccbot.json
# Krok 2: zapisać poniższy kod jako sprawdz_ip.py i uruchomić z adresem z logu:
# python3 sprawdz_ip.py 104.210.140.130 searchbot.json
import ipaddress, json, sys
ip = ipaddress.ip_address(sys.argv[1])
dane = json.load(open(sys.argv[2], encoding="utf-8"))
pule = [p.get("ipv4Prefix") or p.get("ipv6Prefix") for p in dane["prefixes"]]
print("TAK" if any(ip in ipaddress.ip_network(p) for p in pule if p) else "NIE")
Listy zmieniają się bez zapowiedzi, dlatego Perplexity zaleca automatyczne, okresowe pobieranie ich do reguł zapory. Pojawia się też trzecia metoda: kryptograficzny podpis żądań w protokole Web Bot Auth. Cloudflare opisało w sierpniu 2025 r., że agent ChatGPT podpisuje w nim swoje żądania, a Google w opisie robotów działających na prośbę użytkownika podaje, że testuje ten protokół dla Google-Agent z tożsamością agent.bot.goog.
Zapora, CDN i hosting: przypadkowe blokady robotów AI
Poprawny robots.txt nic nie da, jeśli robot zostanie zatrzymany wcześniej, na zaporze albo w sieci CDN. Google w poradniku o funkcjach AI w wyszukiwarce wymienia, że pobieranie muszą dopuszczać robots.txt oraz CDN i infrastruktura hostingu. OpenAI prosi o sprawdzenie, czy host albo CDN przepuszcza ruch z opublikowanych adresów OAI-SearchBot.
Blokada po adresie IP bywa też złym sposobem na wyjście z AI. Anthropic ostrzega, że zablokowanie adresów jego robotów może nie zadziałać trwale, bo utrudnia im odczytanie robots.txt. Rezygnacja według tej firmy wymaga zmiany w pliku.
Cloudflare od 15 września 2026 r.
Cloudflare przebudował ustawienia botów. Od 15 września 2026 r. opcje Block i Block on pages with ads dla robotów treningowych obejmują także roboty mieszane, czyli Applebota, Bingbota i Googlebota, więc zatrzymują również wyszukiwanie. Żeby zablokować trening i zachować wyszukiwarki, Cloudflare wskazuje nowe ustawienie Disallow AI Training. Nowym domenom Cloudflare proponuje jedną z dwóch konfiguracji, zależnie od tego, czy strona zarabia na reklamach (opis zmian na blogu Cloudflare).
Cloudflare potrafi też dopisać własną sekcję na początku robots.txt; zarządzany plik zastępuje teraz funkcja Bot Preference Sync, która również publikuje preferencje w robots.txt. Plik trzeba więc sprawdzać pod publicznym adresem, a nie na serwerze. Weźmy sklep, który ma własną grupę dla GPTBot z zakazem tylko dla katalogu z raportami. Po włączeniu zarządzanego pliku w odpowiedzi pojawi się druga grupa GPTBot z zakazem całości, a standard każe połączyć reguły obu grup, więc GPTBot dostaje w praktyce zakaz całej witryny.
# Co naprawdę widzą roboty: plik po przejściu przez CDN
curl -s https://www.example.pl/robots.txt
# Czy zapora wpuszcza zapytanie z nazwą robota (200 oznacza tak, 403 blokadę)
curl -s -o /dev/null -w "%{http_code}\n" \
-A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
https://www.example.pl/
Drugi test ma ograniczenie: zapytanie wychodzi z Państwa adresu, a nie z puli OpenAI, więc dobrze ustawiona zapora może je odrzucić jako podróbkę. Ostateczne potwierdzenie dają logi. Perplexity zaleca regułę zapory, która łączy nazwę robota z adresem IP z oficjalnej listy i ma akcję Allow z wyższym priorytetem niż reguły blokujące.
Czego robots.txt nie załatwia
Plik robots.txt to prośba, a nie zamek. Standard mówi wprost, że jego reguły nie są formą autoryzacji dostępu, a Cloudflare w dokumentacji zaznacza, że przestrzeganie pliku jest dobrowolne i część operatorów robotów go pomija.
These rules are not a form of access authorization.
- Nie chroni treści. Google podkreśla we wprowadzeniu do robots.txt, że plik nie służy do ukrywania stron. Poufne materiały wymagają logowania, a RFC 9309 ostrzega, że lista zakazów ujawnia ścieżki każdemu, kto otworzy plik.
- Nie usuwa adresu z wyników. Google może zaindeksować zablokowany adres, do którego linkują inne strony. OpenAI może pokazać link i tytuł takiej strony w ChatGPT Atlas. Pomaga noindex, pod warunkiem że robot może wejść na stronę i go odczytać.
- Nie cofa treningu. Anthropic pisze o wyłączeniu przyszłych materiałów. W dokumentacji robotów, którą przejrzeliśmy, nie ma informacji o usuwaniu treści pobranych wcześniej.
- Nie obejmuje wszystkich pobrań na żądanie. OpenAI pisze, że reguły mogą nie dotyczyć ChatGPT-User, Perplexity, że Perplexity-User zwykle je ignoruje, a Google, że jego pobrania zlecone przez użytkownika zwykle je pomijają.
- Nie usuwa tematu z odpowiedzi. Google zaznacza, że po wyłączeniu strony z funkcji AI treści innych witryn nadal są dostępne i mogą wyglądać podobnie.
Granice pliku dobrze widać na sporze z sierpnia 2025 r. Cloudflare opisało ruch, który uznało za ukryte roboty Perplexity omijające blokady, i usunęło Perplexity z listy zweryfikowanych botów. Perplexity odpowiedziało we własnym wpisie, że Cloudflare pomyliło jego ruch z zewnętrzną usługą przeglądarkową BrowserBase i źle rozumie działanie asystentów. Nie rozstrzygamy tego sporu. Pokazuje on, że przy robotach AI o skuteczności blokady decyduje zapora, a nie sam plik.
Cloudflare proponuje w robots.txt dodatkowy wiersz Content-signal z osobnymi zgodami na wyszukiwanie (search), zasilanie odpowiedzi AI (ai-input) i trening (ai-train), a ograniczenia wyrażone w ten sposób nazywa zastrzeżeniem praw na podstawie art. 4 dyrektywy 2019/790. W dokumentacji robotów OpenAI, Anthropic, Perplexity, Google i Apple nie znaleźliśmy deklaracji, że ich roboty odczytują ten wiersz. Czy taki zapis działa jako zastrzeżenie wobec eksploracji tekstów i danych, omawiamy w przewodniku, w części o prawie i zastrzeżeniu praw do treści; to nie jest porada prawna. Plik llms.txt ma inne przeznaczenie niż robots.txt i opisujemy go w przewodniku, w części o kontroli nad treścią.
Jak wdrożyć decyzję o robotach AI w firmie krok po kroku
Decyzję o robotach AI najlepiej podjąć raz, zapisać i wdrożyć jednocześnie w robots.txt, w znacznikach meta i w ustawieniach zapory. Potem trzeba ją sprawdzić w logach serwera, bo dopiero tam widać, jak roboty naprawdę się zachowują.
- Zebrać stan obecny
Pobrać publiczny robots.txt z każdej subdomeny, spisać reguły zapory i ustawienia botów w CDN oraz sprawdzić, czy CMS albo wtyczka SEO nie generuje pliku automatycznie.
- Przejrzeć logi z ostatnich 30 dni
Policzyć wizyty poszczególnych robotów i zweryfikować ich adresy IP. To pokazuje, kto naprawdę odwiedza stronę, a kto tylko podszywa się pod znaną nazwę.
- Wybrać strategię
Dla sklepu albo firmy usługowej naturalny jest wariant A lub B, wydawca treści płatnych rozważa C. Decyzję zapisujemy razem z uzasadnieniem, żeby przetrwała zmianę osoby odpowiedzialnej za stronę.
- Wdrożyć w trzech miejscach
Zmienić robots.txt, dodać znaczniki meta dla Bing i Apple, jeśli strategia tego wymaga, a przy strategii C ustawić też przełącznik Search generative AI w Search Console.
- Przetestować
Sprawdzić publiczną wersję pliku, kody odpowiedzi dla robotów wyszukiwania i reguły zapory. Test z własnego komputera nie zastąpi logów.
- Kontrolować po dobie i co kwartał
Po 24 godzinach porównać logi z założeniami. Co kwartał zestawić listę tokenów z dokumentacją producentów, bo nowe roboty pojawiają się regularnie.
# Ile wizyt zostawił każdy robot (log serwera w formacie combined)
for bot in GPTBot OAI-SearchBot ChatGPT-User ClaudeBot Claude-SearchBot Claude-User \
PerplexityBot Perplexity-User CCBot Applebot bingbot Googlebot; do
printf "%-18s %s\n" "$bot" "$(awk -F'"' -v b="$bot" 'index(tolower($6), tolower(b))' access.log | wc -l)"
done
# Z jakich adresów przychodził GPTBot (do weryfikacji po liście IP)
awk -F'"' 'index(tolower($6), "gptbot") {split($1, a, " "); print a[1]}' access.log | sort | uniq -c | sort -rn
Skutki zmian dla ruchu mierzymy osobno dla wyszukiwarek i asystentów; metody opisujemy we wpisie jak mierzyć widoczność marki w odpowiedziach AI. Konfigurację robots.txt, zapory i logów sprawdzamy w ramach usługi SEO technicznego, a obecność marki w odpowiedziach asystentów to część pozycjonowania w AI. Przy jednorazowej decyzji wystarczą konsultacje SEO.
Najczęstsze pytania
Czy blokada GPTBot usunie moją stronę z ChatGPT?
Nie. GPTBot według OpenAI zbiera treści, które mogą trafić do treningu modeli, a o obecności w wyszukiwaniu ChatGPT decyduje osobny robot OAI-SearchBot. Ustawienia są niezależne, więc można zablokować GPTBot i nadal pojawiać się w odpowiedziach z linkami. Dopiero blokada OAI-SearchBot wyłącza stronę z odpowiedzi wyszukiwania, choć może ona zostać pokazana jako link nawigacyjny.
Czy Google-Extended wyłącza stronę z AI Overviews i trybu AI?
Nie. Google-Extended dotyczy treningu modeli Gemini oraz groundingu w aplikacjach Gemini i w Vertex AI, a Google zaznacza, że nie wpływa na wyszukiwarkę. AI Overviews i tryb AI obsługuje Googlebot. Wyłączenie z tych funkcji daje ustawienie Search generative AI w Search Console, dostępne na całym świecie od 31 sierpnia 2026 r. Ograniczyć to, co Google pokazuje ze strony, pozwalają też znaczniki nosnippet, data-nosnippet i max-snippet.
Dlaczego nie widzę Google-Extended ani Applebot-Extended w logach serwera?
Bo to nie są osobne roboty. Google-Extended nie ma własnego ciągu User-Agent: Google pobiera strony zwykłymi robotami, a token w robots.txt przekazuje tylko decyzję o wykorzystaniu treści. Apple pisze wprost, że Applebot-Extended nie odwiedza stron i określa jedynie, jak firma użyje danych zebranych przez Applebota. Reguła działa, choć w logach nie ma wizyt.
Czy da się zablokować wszystkie roboty AI jednym wpisem w robots.txt?
Nie ma wspólnego tokenu dla robotów AI. Wpis User-agent: * z zakazem całości zablokowałby również Googlebota, Bingbota i Applebota, czyli całe wyszukiwanie. Trzeba wymienić każdy token osobno, najlepiej w jednej grupie z kilkoma wierszami User-agent, i co kwartał porównywać listę z dokumentacją producentów, bo nowe roboty pojawiają się regularnie.
Czy zablokowanie robotów AI poprawi pozycje strony w Google?
Nie ma na to podstaw. Google pisze, że Google-Extended nie jest sygnałem rankingowym, a ustawienie Search generative AI w Search Console nie wpływa na wyniki poza funkcjami generatywnymi. Plik robots.txt służy głównie do tego, żeby roboty nie przeciążały serwera, a nie do poprawiania pozycji.
Po jakim czasie roboty AI uwzględnią zmianę w robots.txt?
OpenAI podaje, że wyszukiwanie w ChatGPT dostosowuje się do zmiany po około 24 godzinach, a Perplexity, że potrzebuje do 24 godzin. Google zwykle przechowuje kopię pliku do doby. Ustawienie Search generative AI w Search Console działa zwykle po kilku dniach. Warto sprawdzić logi serwera dobę po zmianie.
Źródła
- Overview of OpenAI Crawlers, OpenAI
- Publishers and Developers FAQ, OpenAI Help Center
- Searching the web with ChatGPT, OpenAI Help Center
- Does Anthropic crawl data from the web, and how can site owners block the crawler?, Anthropic, Claude Help Center
- Perplexity Crawlers, Perplexity
- Google’s common crawlers, Google for Developers
- Google user-triggered fetchers, Google for Developers
- Verify requests from Google crawlers and fetchers, Google for Developers
- How Google interprets the robots.txt specification, Google for Developers
- Introduction to robots.txt, Google Search Central
- AI features and your website, Google Search Central
- Search generative AI control, Google, Search Console Help
- New opportunities, control and insights for website owners, Google, blog.google
- About Applebot, Apple Support
- CCBot, Common Crawl
- Common Crawl FAQ, Common Crawl
- RFC 9309: Robots Exclusion Protocol, IETF, RFC Editor
- Announcing new options for webmasters to control usage of their content in Bing Chat, Microsoft, Bing Webmaster Blog
- How to Verify that Bingbot is Bingbot, Microsoft, Bing Webmaster Blog
- Microsoft Ignite 2023: AI transformation and the technology driving change, Microsoft, The Official Microsoft Blog
- Have it both ways: stay discoverable in search while disallowing AI training, Cloudflare Blog, 15.09.2026
- robots.txt setting, Cloudflare Docs
- Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives, Cloudflare Blog, 04.08.2025
- Agents or Bots? Making Sense of AI on the Open Web, Perplexity, 04.08.2025
- Language Models are Few-Shot Learners, Brown i in., arXiv, 2020
Stan wiedzy: wrzesień 2026. Funkcje wyszukiwarek i asystentów AI zmieniają się szybko, dlatego wpis aktualizujemy po większych zmianach.



