Strona główna / Baza wiedzy / Narzędzia i integracje / Jak zablokować boty AI w robots.txt (i czy warto to robić)

Jak zablokować boty AI w robots.txt (i czy warto to robić)

Narzędzia i integracje 8 min czytania Zaktualizowano 13.10.2026
Dodaj do robots.txt grupę z botami trenującymi AI (GPTBot, ClaudeBot, CCBot, Google-Extended, Applebot-Extended i inne) z regułą Disallow: /, a boty wyszukiwania AI zostaw otwarte: treść nie trafi do trenowania, a linki z odpowiedzi ChatGPT i Perplexity zostaną. Na wyszukiwarkę Google to nie wpływa.

Aby zablokować boty AI w robots.txt, dodaj jedną grupę z listą botów i regułą Disallow: /. Najczęstszy wariant to zablokowanie botów zbierających dane do trenowania modeli (GPTBot, ClaudeBot, CCBot i inne, a także tokeny Google-Extended i Applebot-Extended) przy pozostawieniu botów wyszukiwania AI (OAI-SearchBot, Claude-SearchBot, PerplexityBot): treść nie trafia wtedy do przyszłych zbiorów treningowych, a linki do strony w odpowiedziach ChatGPT, Claude i Perplexity zostają. Na wyszukiwarkę Google taka blokada nie wpływa. Pamiętaj jednak, że robots.txt to prośba, którą respektują uczciwe boty, a nie zabezpieczenie techniczne.

Poniżej: jakie są rodzaje botów AI, gotowe bloki dla trzech scenariuszy, błąd, przez który „dozwolone” boty dostają dostęp do panelu admina, oraz jak sprawdzić efekt.

Trzy grupy botów AI

Pod hasłem „bot AI” kryją się bardzo różne roboty. Decyzję „blokować czy nie” trzeba podjąć osobno dla każdej grupy:

GrupaTokeny w robots.txtCo się stanie po zablokowaniu
Trenowanie modeliGPTBot (OpenAI), ClaudeBot (Anthropic), CCBot (Common Crawl), meta-externalagent (Meta), Bytespider (ByteDance), Amazonbot (Amazon), tokeny Google-Extended i Applebot-ExtendedTreść nie powinna trafiać do przyszłych zbiorów treningowych. Bez wpływu na wyszukiwarkę Google i Bing
Wyszukiwanie AIOAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic), PerplexityBot (Perplexity)Strona przestanie pojawiać się jako link w odpowiedziach ChatGPT Search, Claude i Perplexity — to bezpośrednia utrata wejść
Pobrania na prośbę użytkownikaChatGPT-User, Claude-User, Perplexity-UserAsystent nie otworzy strony, gdy użytkownik sam wklei link albo poprosi o znalezienie odpowiedzi

Ten podział pochodzi z dokumentacji operatorów. OpenAI pisze, że ustawienia dla GPTBot i OAI-SearchBot są niezależne: można zezwolić na wyszukiwanie i zabronić trenowania. Anthropic opisuje swoje trzy boty tak samo. Według dokumentacji Perplexity PerplexityBot nie zbiera treści do trenowania modeli bazowych.

Przy trzeciej grupie jest zastrzeżenie. OpenAI uprzedza, że reguły robots.txt mogą nie dotyczyć ChatGPT-User, bo żądanie inicjuje człowiek. Perplexity pisze, że Perplexity-User na ogół ignoruje robots.txt. Anthropic z kolei pozwala sterować Claude-User przez robots.txt.

Google-Extended i Applebot-Extended to tokeny, a nie boty

Te dwie nazwy często bierze się za crawlery, choć żadna z nich nie pobiera stron.

  • Google-Extended według dokumentacji Google nie ma własnego User-Agenta: strony pobierają zwykłe roboty Google, a token w robots.txt mówi tylko, czy treść można wykorzystać do trenowania przyszłych modeli Gemini i do groundingu (dostarczania aktualnych treści do odpowiedzi) w aplikacjach Gemini i Vertex AI. Google pisze wprost, że Google-Extended nie wpływa na obecność strony w wyszukiwarce Google i nie jest czynnikiem rankingowym.
  • Applebot-Extended według dokumentacji Apple również niczego nie skanuje. Decyduje, czy dane zebrane przez zwykłego Applebota mogą służyć do trenowania modeli bazowych Apple. Strony zablokowane dla Applebot-Extended mogą nadal pojawiać się w wyszukiwaniu Apple — w Siri, Spotlight i Safari.

Wniosek praktyczny: tych dwóch „botów” nie da się zablokować na serwerze po User-Agencie, bo żadne żądanie go nie zawiera. A blokada Googlebota czy Applebota uderzy już w widoczność w wyszukiwarce.

Gotowe bloki robots.txt

Scenariusz 1. Zablokuj trenowanie, zostaw wyszukiwanie AI

Taki wynik daje preset „Zablokuj trenowanie AI, zostaw wyszukiwanie AI” w naszym generatorze robots.txt. Boty wyszukiwania nie są wymienione, więc stosują ogólne reguły dla *:

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
Disallow: /

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap.xml

Kilka kolejnych linii User-agent tworzy jedną grupę — krócej i trudniej o pomyłkę. Pamiętaj, że Amazon używa Amazonbota nie tylko do trenowania modeli, ale i na potrzeby własnych usług.

Scenariusz 2. Zablokuj wszystkie boty AI

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
User-agent: Perplexity-User
Disallow: /

Ceną jest zniknięcie linków do strony z odpowiedzi wyszukiwania AI. Dla strony firmowej zwykle się to nie opłaca; dla zamkniętej bazy wiedzy albo płatnych treści — może.

Scenariusz 3. Zezwól na wszystko

Nie dodawaj niczego: boty AI, których nie ma w pliku, stosują grupę User-agent: *. Osobna grupa z Allow: / jest nie tylko zbędna, ale i szkodliwa — o tym w następnej sekcji.

Scenariusz 4. Zablokuj botom AI tylko część strony

Na przykład płatne materiały i pliki PDF. Do grupy botów AI trzeba skopiować wszystkie ogólne reguły, inaczej przestaną one obowiązywać te boty:

User-agent: GPTBot
User-agent: ClaudeBot
Disallow: /premium/
Disallow: /*.pdf$
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Dlaczego nie warto dodawać osobnej grupy Allow dla botów AI

Zasada, która psuje większość ręcznie pisanych plików: bot wykonuje tylko jedną grupę — najbardziej szczegółową dla swojej nazwy. Tak opisują to specyfikacja Google i RFC 9309: jeśli bot ma własną grupę, reguł dla * nie czyta. Spójrz na plik:

User-agent: *
Disallow: /wp-admin/
Disallow: /cart/

User-agent: OAI-SearchBot
Allow: /

Autor chciał „na pewno zezwolić” wyszukiwarce ChatGPT, a w efekcie OAI-SearchBot dostał dostęp do /wp-admin/ i /cart/: znalazł własną grupę, więc zakazy z * już go nie dotyczą. Dlatego nasz generator nie wypisuje dozwolonych botów AI osobną grupą. Jeśli bot naprawdę potrzebuje własnej grupy, powtórz w niej wszystkie ogólne zakazy.

Wewnątrz grupy działa druga zasada: wygrywa najdłuższa pasująca ścieżka, a przy remisie Google wybiera mniej restrykcyjną regułę, czyli Allow. Więcej o składni i typowych pułapkach — w artykule o sprawdzaniu robots.txt.

Czy w ogóle blokować boty AI

Uniwersalnej odpowiedzi nie ma, ale logika jest jasna:

  • Blokada trenowania ma sens, gdy treść jest Twoim produktem: płatne materiały, autorskie teksty, bazy danych. Działa na przyszłość — Anthropic pisze na przykład, że z trenowania wyłączane są przyszłe materiały strony. Już zebranych danych robots.txt nie wycofa.
  • Blokada wyszukiwania AI rzadko się opłaca stronom żyjącym z ruchu: odpowiedzi ChatGPT Search, Claude i Perplexity podają źródła, a to są wejścia.
  • Google-Extended to osobna decyzja. Nie wpływa na wyszukiwarkę Google, ale według dokumentacji Google steruje też groundingiem w aplikacjach Gemini, więc blokada może zmniejszyć obecność strony w odpowiedziach Gemini.
  • Obciążenie serwera. Jeśli boty AI wyraźnie obciążają słaby hosting, to powód, by je ograniczyć. Anthropic obsługuje niestandardową dyrektywę Crawl-delay; Google jej nie obsługuje. Jak obciążenie serwera wiąże się ze skanowaniem przez Googlebota — w artykule o budżecie crawl.

robots.txt to prośba, a nie zamek

Plik respektują uczciwe boty; technicznie nic nie przeszkadza innym go zignorować albo podszyć się pod cudzy User-Agent. Pisze o tym wprost także Cloudflare: przestrzeganie robots.txt jest dobrowolne. Jeśli boty trzeba naprawdę zatrzymać:

  • Blokada na serwerze. Na przykład w nginx po User-Agencie (działa tylko dla botów z własnym User-Agentem — nie dla Google-Extended i Applebot-Extended):
if ($http_user_agent ~* "(GPTBot|ClaudeBot|CCBot|Bytespider|meta-externalagent)") {
    return 403;
}
  • Weryfikacja po IP. User-Agenta łatwo podrobić. OpenAI, Anthropic, Perplexity i Apple publikują adresy lub zakresy IP swoich botów — po nich odróżnisz prawdziwego bota od podróbki.
  • CDN. Cloudflare ma zarządzany robots.txt dla crawlerów AI (według dokumentacji — we wszystkich planach) i osobną, wymuszoną blokadę botów AI (AI Crawl Control). Warunki konkretnego planu sprawdź w ich dokumentacji.

Jedno zastrzeżenie od Anthropic: jeśli zablokujesz ich adresy IP, bot może nie odczytać robots.txt i rezygnacja ze skanowania nie zostanie niezawodnie uwzględniona. Dlatego robots.txt warto skonfigurować zawsze, nawet przy blokadzie na serwerze.

llms.txt to coś innego

Plik /llms.txt ani nie blokuje, ani nie zezwala na dostęp. To proponowany format krótkiej mapy strony w Markdownie dla modeli językowych: czym jest strona i które podstrony są najważniejsze. Nie zablokujesz nim AI, ale możesz pomóc AI dobrze zrozumieć stronę. Szczegóły w artykule co to jest llms.txt, a plik utworzysz w generatorze llms.txt.

Jak sprawdzić efekt

  1. Otwórz https://twoja-strona/robots.txt w przeglądarce i upewnij się, że działa nowa wersja (CMS, wtyczki i CDN czasem serwują własny plik).
  2. Przepuść plik przez analizę robots.txt: pokaże wszystkie grupy User-agent, reguły Allow i Disallow, linie Sitemap i ostrzeże np. przed Disallow: / dla wszystkich botów.
  3. Sprawdź stronę w AI Visibility Checker. Analizuje robots.txt zgodnie z RFC 9309 dla 14 botów i tokenów AI (kto ma dostęp, kto jest zablokowany), sprawdza obecność /llms.txt i meta robots strony głównej oraz wysyła próbne żądanie strony głównej z User-Agentem GPTBot. Próbne żądanie to tylko wskazówka: prawdziwy GPTBot przychodzi z adresów IP OpenAI, a CDN może traktować go inaczej. Sekcja dostępu botów jest bezpłatna; odpowiedzi wyszukiwania AI na Twoje pytania liczą się do dziennego limitu (10 świeżych sprawdzeń dziennie bez konta, trzy razy więcej z kontem, bez limitu w Pro).
  4. Po kilku dniach zajrzyj do logów serwera: jakie User-Agenty nadal przychodzą i z jakich IP. Zmiany nie działają od razu — OpenAI pisze na przykład, że w wyszukiwaniu może to potrwać około 24 godzin.

Najczęstsze błędy

  • Osobna grupa Allow: / dla „dobrych” botów AI — otwiera im wszystko, co zablokowano dla *.
  • Zablokowanie wyszukiwania AI razem z trenowaniem bez zauważenia, że zniknęły linki z odpowiedzi ChatGPT i Perplexity.
  • Oczekiwanie, że Google-Extended usunie stronę z wyszukiwarki Google. Nie wpływa na wyszukiwarkę; do usunięcia strony z indeksu potrzebny jest noindex — różnicę wyjaśnia artykuł noindex, nofollow i robots.txt.
  • Próba blokowania Google-Extended na serwerze po User-Agencie — takiego User-Agenta nie ma.
  • Pominięte subdomeny. robots.txt działa tylko dla własnego hosta: blog.example.com i shop.example.com potrzebują własnych plików.
  • Literówki w nazwach botów i nieaktualne listy. Nazwy i przeznaczenie botów się zmieniają, więc co kilka miesięcy sprawdzaj dokumentację operatorów.

Częste pytania

Czy blokada GPTBot zaszkodzi pozycjom w Google?
Nie. GPTBot należy do OpenAI i wyszukiwarka Google go nie używa. Według Google token Google-Extended również nie wpływa na obecność w wyszukiwarce i nie jest czynnikiem rankingowym.
Jak zablokować trenowanie AI, ale zostać w odpowiedziach ChatGPT?
Zablokuj GPTBot i inne boty trenujące regułą Disallow: /, a OAI-SearchBot nie wymieniaj w robots.txt, żeby stosował ogólne reguły. OpenAI pisze wprost, że te ustawienia są od siebie niezależne.
Czy robots.txt usunie moją treść z już wytrenowanych modeli?
Nie. Blokada działa na przyszłość: Anthropic pisze na przykład o wyłączeniu z trenowania przyszłych materiałów strony. Już zebranych danych robots.txt nie wycofa.
Czy wszystkie boty AI przestrzegają robots.txt?
Nie ma gwarancji. OpenAI uprzedza, że reguły mogą nie dotyczyć ChatGPT-User, Perplexity pisze, że Perplexity-User na ogół ignoruje robots.txt, a nieuczciwe boty mogą podrabiać User-Agenta. Twardą blokadę zapewnia serwer albo CDN.
Czy można zablokować AI plikiem llms.txt?
Nie. llms.txt to krótki opis strony dla modeli językowych, a nie mechanizm blokowania. Dostęp botów ustawia się w robots.txt i na serwerze.
Czy artykuł był pomocny?
Wypróbuj na swoim projekcie Wszystko, co opisano w artykule, jest dostępne w panelu — bonus przy rejestracji już na saldzie.
Open dashboard