ChatGPT i Perplexity nie widzą Twojej strony? Sprawdź, czy nie blokuje ich Cloudflare
Jeśli strona firmy stoi za Cloudflare, boty ChatGPT, Claude i Perplexity mogą dostawać od niej błąd 403, zanim przeczytają jedno zdanie. Drugi mechanizm jest cichszy: Cloudflare potrafi dokleić do Twojego robots.txt zakazy dla botów AI, których nikt u Ciebie nie napisał. Oba sprawdzisz sam, z terminala i przeglądarki. Naprawiasz w panelu Cloudflare, nie w kodzie strony.
Botów AI jest kilka rodzajów i blokada każdego kosztuje co innego
Jeden „bot ChatGPT” nie istnieje. Każda firma ma osobne boty do treningu modeli, do wyszukiwania i do pobierania strony na prośbę użytkownika. Blokada działa na każdy z osobna.
| Bot | Po co przychodzi | Blokada oznacza |
|---|---|---|
GPTBot |
trening modeli OpenAI | treść nie trafia do treningu |
OAI-SearchBot |
wyniki wyszukiwania w ChatGPT | strona nie pojawia się w odpowiedziach ChatGPT z wyszukiwania |
ChatGPT-User |
pobranie strony, gdy użytkownik o to poprosi | robots.txt może go nie dotyczyć, blokada w Cloudflare tak |
ClaudeBot |
trening modeli Anthropic | treść nie trafia do treningu |
Claude-SearchBot |
indeks wyszukiwania Claude | słabsza obecność w wynikach Claude |
Claude-User |
pobranie strony na pytanie użytkownika | Claude nie otworzy strony dla pytającego |
PerplexityBot |
indeks wyszukiwania Perplexity, nie trening | strona znika z odpowiedzi Perplexity |
Google-Extended |
trening Gemini i grounding w Gemini | Gemini nie użyje strony w odpowiedziach; wyniki Google bez zmian |
src · OpenAI — Overview of OpenAI crawlers
src · Anthropic — boty ClaudeBot, Claude-SearchBot, Claude-User
src · Perplexity — Perplexity Crawlers
src · Google — Google-Extended
Z tej tabeli wynika jedno: decyzja o treningu i decyzja o widoczności to dwie różne decyzje. Możesz nie chcieć, żeby Twoje teksty uczyły modele, i jednocześnie chcieć, żeby ChatGPT podawał Twoją stronę, gdy ktoś szuka elektryka w Twoim mieście. Blokada „wszystkich botów AI” jednym przełącznikiem zabiera obie rzeczy naraz.
Perplexity-User z zasady pomija robots.txt, a dla ChatGPT-User reguły „mogą nie mieć zastosowania”. Plik ich nie zatrzyma. Zatrzyma je dopiero zapora, czyli właśnie Cloudflare.
Skąd blokada, której nikt nie włączał
Od 15.09.2026 Cloudflare ma nowe ustawienia domyślne: boty z kategorii Training i Agent są blokowane na stronach z reklamami, Search zostaje dozwolone. Boty łączące wyszukiwanie z treningiem są blokowane w każdej konfiguracji, która blokuje trening.
src · Cloudflare — Block AI bots
Druga funkcja to managed robots.txt. Gdy jest włączona, Cloudflare dokleja swoją treść przed Twoim plikiem: Disallow dla Amazonbot, Applebot-Extended, Bytespider, CCBot, ClaudeBot, Google-Extended, GPTBot i meta-externalagent oraz sygnał ai-train=no. W repozytorium plik jest czysty. Na produkcji już nie.
src · Cloudflare — Managed robots.txt
Koszt pomyłki: ktoś pyta asystenta o firmę, którą mu polecono, a asystent odpowiada, że nie ma o niej informacji. Nikt Ci o tym nie powie. W statystykach tego nie widać. Klient z polecenia, który trafi na pustą odpowiedź, nie zostawia śladu. O tym, co musi zobaczyć na samej stronie, jest poradnik Klienci z polecenia wchodzą na Twoją stronę.
Jak to rozpoznać samemu
Każdy punkt zajmuje minutę albo dwie.
- Otwórz
robots.txtw przeglądarce, pod adresemhttps://twojadomena.pl/robots.txt. Jeśli na górze są grupyUser-agent: GPTBot,ClaudeBot,Google-ExtendedzDisallow: /albo liniaContent-Signalzai-train=no, a Ty ich nie pisałeś, to jest managed robots.txt. - Porównaj z plikiem w repozytorium albo w panelu hostingu. Różnica między plikiem u Ciebie a plikiem na żywo to dokładnie to, co dokleił Cloudflare.
- Sprawdź kod odpowiedzi dla botów poleceniem niżej.
200znaczy: strona odpowiada.403przy botach, gdy zwykłe żądanie dostaje200, znaczy: blokuje zapora, nierobots.txt. - Wejdź do panelu Cloudflare, do ustawień botów AI tej domeny. Sprawdź, co jest ustawione dla Training, Agent i Search, i czy włączony jest managed robots.txt. Cloudflare zmienia nazwy menu, więc szukaj po tych słowach.
- Przypomnij sobie, czy na stronie są reklamy albo coś, co automat może za nie uznać. Od tego zależy domyślna polityka.
# punkt odniesienia: zwykłe żądanie
curl -s -o /dev/null -w "%{http_code}\n" https://twojadomena.pl/
# to samo z nagłówkiem User-Agent bota
for ua in GPTBot OAI-SearchBot ChatGPT-User ClaudeBot Claude-SearchBot PerplexityBot; do
printf "%-18s " "$ua"
curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 (compatible; $ua)" https://twojadomena.pl/
done
# robots.txt tak, jak widzi go świat, nie repozytorium
curl -s https://twojadomena.pl/robots.txt
Jedno zastrzeżenie. curl -A podszywa się pod bota tylko nagłówkiem; prawdziwy bot przychodzi z adresów, które Cloudflare potrafi zweryfikować, i może zostać potraktowany inaczej. 403 w tym teście to powód, żeby otworzyć panel, nie wyrok. Ostateczną odpowiedź dają ustawienia domeny i logi ruchu botów w Cloudflare.
Co zrobić
- Zdecyduj osobno o treningu i osobno o wyszukiwaniu. To decyzja biznesowa i powinna być zapisana. Ustawienie domyślne nie jest decyzją.
- Ustaw politykę botów AI w Cloudflare jawnie, dla każdej kategorii: Training, Agent, Search. Ustawienie domyślne może się zmienić bez Twojej wiedzy. Jawne nie.
- Wyłącz managed robots.txt, jeśli ma obowiązywać Twój plik. Inaczej dwie reguły mówią botom dwie różne rzeczy.
- Napisz
robots.txtjedną grupąUser-agent: *, jeśli wpuszczasz wszystkich. Bot, który znajdzie grupę ze swoją nazwą, stosuje tylko ją, a grupę*pomija. Każda dodatkowa grupa to miejsce na pomyłkę. - Sprawdź jeszcze raz tym samym poleceniem
curli tym samym adresemrobots.txt. Zmiana w panelu, której nie zweryfikowałeś z zewnątrz, jest założeniem, nie naprawą. - Zapisz datę i wynik przed zmianą i po niej. Bez punktu wyjścia nie ocenisz, czy odblokowanie cokolwiek dało.
src · RFC 9309, § 2.2.1 — dopasowanie grupy user-agent
Jeśli wynik testu nie zgadza się z tym, co widzisz w panelu, opisz swoją domenę w zgłoszeniu audytu — sprawdzę, kto ją blokuje.