Klienci pytają nas, jak sprawić, żeby ich strona pojawiała się w odpowiedziach ChatGPT, Claude i Perplexity. Odpowiedź jest krótsza, niż by się chciało. W opisach swoich robotów te firmy nie podają, jak wybierają strony do pokazania. Da się za to sprawdzić jedną rzecz: czy ich roboty w ogóle mają wstęp na Twoją stronę. Od tego zaczynamy. Zatrzymywanie robotów, które tylko kopiują treść, to druga połowa tej samej odpowiedzi.
Trzy rodzaje robotów, trzy różne skutki
Pod hasłem „boty AI” chodzą roboty, które robią zupełnie różne rzeczy. Wszystkie trzy firmy rozdzielają je na osobne nazwy (User-Agent), więc każdy rodzaj możesz traktować osobno.
| Rodzaj | OpenAI (ChatGPT) | Anthropic (Claude) | Perplexity |
|---|---|---|---|
| Wyszukiwanie: buduje indeks, z którego wybierane są strony do pokazania | OAI-SearchBot | Claude-SearchBot | PerplexityBot |
| Pobranie na prośbę: otwiera adres, bo użytkownik o niego zapytał | ChatGPT-User | Claude-User | Perplexity-User |
| Trenowanie: zbiera treść do uczenia modeli | GPTBot | ClaudeBot | brak |
W rubryce Perplexity przy trenowaniu stoi „brak”, bo ta firma opisuje dwa roboty i pisze, że PerplexityBot nie służy do zbierania treści dla modeli.
Wyszukiwanie: tu zapada decyzja o widoczności
OpenAI pisze wprost, że strony, które zablokowały OAI-SearchBot, nie są pokazywane w odpowiedziach wyszukiwarki ChatGPT. Mogą się najwyżej pojawić jako zwykłe odnośniki. Anthropic opisuje, że wyłączenie Claude-SearchBot może zmniejszyć widoczność strony i trafność wyników. Perplexity zaleca wpuścić PerplexityBot w robots.txt i na zaporze, żeby strona pojawiała się w wynikach. Adresy tych opisów podajemy na końcu wpisu.
Wszystkie trzy opisy mówią więc to samo: kto zamknie robota wyszukiwania, ten z wyszukiwania znika albo traci. Nie ma w nich nic o tym, że coś ponad wpuszczenie robota daje lepsze miejsce.
Pobranie na prośbę: robots.txt tu nie wystarczy
Kiedy ktoś każe ChatGPT, Claude lub Perplexity otworzyć konkretny adres, wchodzi ChatGPT-User, Claude-User albo Perplexity-User. OpenAI zastrzega, że przy ChatGPT-User reguły robots.txt mogą nie obowiązywać, bo żądanie wywołał człowiek. Dodaje, że ten robot nie decyduje o tym, czy strona pokaże się w wyszukiwaniu. Perplexity pisze, że Perplexity-User zwykle ignoruje robots.txt z tego samego powodu. Anthropic daje tu kontrolę: wyłączenie Claude-User zatrzymuje pobieranie, ale może zmniejszyć widoczność przy wyszukiwaniu zleconym przez użytkownika.
Trenowanie: widoczności nie kupisz
GPTBot i ClaudeBot zbierają treść do trenowania modeli. Ich zablokowanie nie zmienia obecności w wyszukiwaniu, bo wyszukiwanie ma osobnych robotów. OpenAI mówi o tym wprost: ustawienia są niezależne, można wpuścić OAI-SearchBot i zablokować GPTBot. Anthropic mówi o wyłączeniu przyszłych materiałów strony z danych treningowych, o dotychczasowych nie wspomina. Wpuszczenie takiego robota nie kupuje Ci więc miejsca w odpowiedziach, a Twoja treść trafia do cudzego zbioru.
Osobny przypadek to CCBot, który nie pracuje dla żadnej z tych firm. Common Crawl prowadzi otwarty zbiór stron, dostępny dla każdego, więc nie masz wpływu na to, kto z niego skorzysta. W naszym podziale to też zbieracz, a nie wyszukiwanie.
Czy wpuszczać takie roboty, decyduje właściciel strony. U nas domyślnie nie wchodzą, a ustawienie zmienisz sam, o czym niżej.
Co sprawdzić w pierwszej kolejności
- robots.txt. Otwórz
twojadomena.pl/robots.txt. Jeśli podUser-agent: *stoiDisallow: /, zamykasz wszystkie roboty bez osobnej grupy, także roboty wyszukiwania. Szukaj więc osobnych reguł dla OAI-SearchBot, Claude-SearchBot i PerplexityBot. - Zapora i wtyczki bezpieczeństwa. OpenAI i Perplexity proszą, żeby oprócz wpisu w robots.txt wpuścić na zaporze ich opublikowane zakresy adresów IP. Zapora, która odrzuca nieznane roboty, odrzuci też te. Perplexity radzi łączyć w regule nazwę robota z adresem IP.
- Czas. Zmiana w robots.txt potrzebuje około doby: OpenAI i Perplexity podają 24 godziny.
- Podstawy wyszukiwania. Google opisuje to dla swoich odpowiedzi AI. Strona musi być zaindeksowana i mieć prawo pojawić się z fragmentem tekstu. Dodatkowych wymagań nie ma, nie trzeba też specjalnych plików, znaczników ani danych strukturalnych.
To wszystko, co da się sprawdzić w dokumentacji. Wpuszczenie robotów wyszukiwania jest warunkiem koniecznym, OpenAI mówi to wprost, ale niczego nie gwarantuje. Google przypomina, że indeksowanie i pokazywanie nie jest gwarantowane nawet wtedy, gdy strona spełnia wszystkie wymagania. Pozycji w odpowiedziach nie obiecują ani opisy tych robotów, ani my.
Co potrafi robots.txt, a czego nie
Standard robots.txt (RFC 9309) mówi o sobie, że jego reguły nie są formą autoryzacji dostępu. Roboty, które się go trzymają, czytają plik przed pobraniem strony. Anthropic pisze, że jego roboty honorują robots.txt, a Common Crawl podaje wpis w robots.txt jako sposób wyłączenia CCBota. Robot, który nie zamierza się stosować, po prostu plik pominie.
Dlatego sensowny jest podział pracy. W robots.txt mówisz uczciwym robotom, czego chcesz. Serwer zatrzymuje resztę, po nagłówku User-Agent albo po adresie IP.
Przykładowy robots.txt, który wpuszcza wyszukiwanie, a prosi o nieczytanie treści pod trenowanie:
# Wyszukiwanie w ChatGPT, Claude i Perplexity: wpuszczamy
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
# Zbieranie treści do trenowania modeli: prosimy, żeby nie
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
Disallow: /
Wpis z nazwą robota ma pierwszeństwo przed User-agent: *: według standardu robot stosuje grupę
pasującą do jego nazwy, a grupy z gwiazdką używa dopiero wtedy, gdy żadna do niego nie pasuje.
Dzięki temu osobna grupa z nazwą wyjmuje robota spod blokady z gwiazdką.
Allow: / w przykładzie nie jest ozdobą. Grupa składa się z linii User-agent i reguł, które po nich
idą, a puste linie i komentarze jej nie przerywają. Bez Allow: / wszystkie sześć linii User-agent
złożyłoby się w jedną grupę, a kończące ją Disallow: / zamknęłoby także roboty wyszukiwania.
Roboty pobrań na prośbę zachowują się różnie. ChatGPT-User i Perplexity-User według ich dokumentacji
mogą robots.txt pomijać, jak opisano wyżej, więc wpis dla nich niczego nie przesądza. Claude-User trzyma
się robots.txt, więc przy User-agent: * z Disallow: / zostanie zablokowany. Wpuścisz go osobną
grupą, User-agent: Claude-User z linią Allow: /.
Osobny przypadek to Google-Extended. Google opisuje go jako znacznik, który decyduje, czy treść
może służyć do trenowania przyszłych modeli Gemini i do uzupełniania odpowiedzi w aplikacji Gemini
(to drugie nazywa „groundingiem”). Nie wpływa na obecność w wyszukiwarce Google ani na pozycję,
ale ustawia się go wyłącznie w robots.txt, bo w żądaniach nie występuje pod osobną nazwą. Jeśli
zależy Ci na odpowiedziach Gemini, pamiętaj, że blokada obejmuje obie role.
Kto naprawdę przychodzi: zajrzyj do logów
Zanim cokolwiek zmienisz, sprawdź, czy te roboty w ogóle odwiedzają stronę i co dostają. Dziennik
ruchu (access log) zapisuje każde żądanie z nagłówkiem User-Agent. W standardowym formacie
combined to ostatnie pole w cudzysłowie, a kod odpowiedzi stoi w dziewiątym polu. Przykładowy
wiersz (adres IP z puli dokumentacyjnej, User-Agent przepisany z dokumentacji OpenAI i skrócony
o adres strony robota na końcu):
203.0.113.10 - - [20/Oct/2026:09:14:02 +0200] "GET /oferta/ HTTP/1.1" 200 18342 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4"
Ile razy zajrzał każdy robot:
grep -oE "OAI-SearchBot|ChatGPT-User|GPTBot|Claude-SearchBot|Claude-User|ClaudeBot|PerplexityBot|Perplexity-User|CCBot" access.log | sort | uniq -c | sort -rn
A jakie kody dostały roboty zbierające treść:
grep -E "GPTBot|ClaudeBot|CCBot" access.log | awk '{print $9}' | sort | uniq -c
Roboty wyszukiwania powinny dostawać 200, nie 403 ani 429. Nagłówek User-Agent robot wpisuje
sam, więc ktoś może się pod niego podszyć. Skąd wiesz, że to prawdziwy robot? Dostawcy publikują
listy adresów IP, z którymi porównasz adres z logu: OpenAI w pliku openai.com/searchbot.json (osobne
listy ma GPTBot i ChatGPT-User), Anthropic w claude.com/crawling/bots.json, Perplexity w
www.perplexity.com/perplexitybot.json (Perplexity-User ma własną). Anthropic pisze, że adres z jej listy
oznacza robota od niej, a Perplexity radzi sprawdzać nazwę robota razem z adresem.
U nas dziennik leży w panelu, na ekranie „Logi”. Wybierz stronę i rodzaj „Ruch (access)”, wpisz
w pole „Filtr” nazwę robota, na przykład GPTBot, i włącz „Podgląd na żywo”. Cały dziennik dostaniesz
przyciskiem „Pobierz plik” jako spakowany .gz. Po rozpakowaniu polecenia wyżej działają bez zmian.
Jak to robimy na Isbre
Blokada niechcianych botów jest u nas domyślnie włączona dla każdej strony. Zatrzymuje roboty, które hurtowo zbierają treść do trenowania modeli i do zbiorów danych, na przykład GPTBot i CCBot. Robi to serwer strony po nagłówku User-Agent: taki robot dostaje odpowiedź 403, zanim ruszy PHP i baza.
Roboty wyszukiwarek przechodzą zawsze, przy włączonej i wyłączonej blokadzie. Dotyczy to także wyszukiwania w ChatGPT, Claude i Perplexity (OAI-SearchBot, Claude-SearchBot, PerplexityBot). Regulamin zapisuje to w §5 ust. 10. Dziś przechodzi też pobranie strony na prośbę użytkownika asystenta, czyli ChatGPT-User i Claude-User. Takie jest ustawienie platformy w chwili publikacji tego wpisu.
Przełącznik „Blokuj niechciane boty” jest przy każdej stronie na ekranie „Strony”. Wyłączasz go
osobno dla każdej witryny, jeśli chcesz wpuścić także roboty zbierające treść. Google-Extended
z poprzedniej sekcji to osobna sprawa: tego znacznika serwer nie widzi, więc przełącznik go nie
obejmuje, a zgodę ustawiasz w robots.txt.
Sklep z filtrami ma tyle kombinacji adresów, że robot zbierający treść może je pobierać bez końca, a każdy adres to pełne przeliczenie strony. Jak to wygląda na serwerze i co z tym zrobić, opiszemy w osobnym wpisie. Krótką wersję znajdziesz w pomocy.
Na koniec
Zacznij od twojadomena.pl/robots.txt. Jeśli roboty wyszukiwania mają tam wstęp, a w logach dostają
200, drzwi masz otwarte. Czy ktoś przez nie wejdzie i zacytuje Twoją stronę, zależy już od dostawcy,
a tego nie zagwarantują Ci ani oni, ani my.
Źródła
Opisy robotów, z których korzystamy, odczytane 20 października 2026 (strony dostawców mogą się zmienić):
- OpenAI, Overview of OpenAI Crawlers:
developers.openai.com/api/docs/bots - Anthropic, artykuł o robotach w centrum pomocy Claude:
support.claude.com/en/articles/8896518 - Perplexity, Perplexity Crawlers:
docs.perplexity.ai/guides/bots - Google, AI features and your website:
developers.google.com/search/docs/appearance/ai-features - Google, Google common crawlers:
developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers - IETF, RFC 9309, Robots Exclusion Protocol:
www.rfc-editor.org/rfc/rfc9309.html - Common Crawl, CCBot:
commoncrawl.org/ccbot