Przejdź do treści

Ustawienia cookies

Poniżej wypisujemy nazwa po nazwie, co ta strona zapisuje w Twojej przeglądarce. Możesz tu wrócić w każdej chwili. Odnośnik „Ustawienia cookies” stoi w stopce każdej strony.

Polityka prywatności §7
isbre
Blog

Jak być widocznym w ChatGPT i Claude, nie wpuszczając botów, które tylko kopiują treść

Jak sprawić, by strona mogła pojawiać się w ChatGPT, Claude i Perplexity: roboty wyszukiwania, robots.txt, logi i roboty, które tylko kopiują treść.

· Zespół Isbre

  • ChatGPT
  • Claude
  • robots.txt
  • niechciane boty
  • widoczność

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

  1. robots.txt. Otwórz twojadomena.pl/robots.txt. Jeśli pod User-agent: * stoi Disallow: /, zamykasz wszystkie roboty bez osobnej grupy, także roboty wyszukiwania. Szukaj więc osobnych reguł dla OAI-SearchBot, Claude-SearchBot i PerplexityBot.
  2. 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.
  3. Czas. Zmiana w robots.txt potrzebuje około doby: OpenAI i Perplexity podają 24 godziny.
  4. 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

Pytania do tego wpisu? Napisz na bok@isbre.pl. Wszystkie wpisy: blog.