W wątku na Hacker News o ruchu generowanym przez roboty AI administrator hostingu opisał obciążenie z perspektywy operatora: „jakieś 6 różnych całkiem agresywnych botów AI”, które okresowo zacinają się na stronach wariantów produktów lub kategorii i zaczynają je uderzać mniej więcej jednym żądaniem na sekundę, na serwisie, gdzie „każde wczytanie strony potrafi zająć całą sekundę w obie strony (większość tego czasu w MySQL)”. Efekt skumulowany, w tym samym komentarzu: „to prawie jak Slashdot na stronie każdego dnia”.
Przygotowanie serwisu na agentów AI to przede wszystkim problem wydajnościowy, więc większość pracy to konfiguracja serwera, a bardzo niewiele strategia treści. Przydatną cechą tego ruchu jest to, że w większości nie jest anonimowy: firmy, które go generują, publikują nazwy swoich robotów, dokumentują przeznaczenie każdego z nich i mówią, jak je wyłączyć. Poniżej znajdziesz, co skonfigurować, co każdy mechanizm faktycznie wymusza i które dwa kroki bym pominął: publikację llms.txt oraz dodawanie znaczników schema pod AI.
TL;DR
- Ruch AI dzieli się zwykle na trenowanie, indeksowanie na potrzeby wyszukiwania AI oraz pobrania wywołane przez użytkownika. OpenAI i Anthropic udostępniają osobne tokeny do tych celów, więc można nimi sterować niezależnie; część robotów wielozadaniowych łączy kilka ról pod jedną tożsamością.
- OpenAI, Anthropic, Perplexity i Common Crawl dokumentują sterowanie przez robots.txt dla swoich automatycznych robotów. Wyjątkiem są pobierania wywołane przez użytkownika: Anthropic stosuje robots.txt także do Claude-User, OpenAI mówi, że reguły mogą nie dotyczyć ChatGPT-User, a Perplexity-User zwykle je ignoruje.
- Plik robots.txt to mechanizm zgody, a nie kontrola dostępu. RFC 9309 nie daje mu własnej mocy egzekwowania; boty, które go respektują, mogą zmniejszyć twoje obciążenie, ale samego pliku nie da się użyć do zdławienia ani zatrzymania ruchu, który go ignoruje.
- Wśród 137 210 domen w bazie klientów analityki Ahrefs 97 % opublikowanych plików llms.txt nie otrzymało w maju 2026 roku ani jednego żądania. Opublikuj go, jeśli chcesz, ale nie buduj wokół niego narzędzi.
- Zachowaj dane strukturalne tam, gdzie wspierają klasyczne funkcje wyszukiwarki, ale dokumentacja Google mówi, że jej funkcje AI nie wymagają żadnego specjalnego schematu ani pliku tekstowego dla AI.
- Renderuj kluczowe treści po stronie serwera, jeśli chcesz, by czytały je OpenAI, ClaudeBot, PerplexityBot albo CCBot. Vercel ustalił, że te roboty nie wykonują JavaScriptu; wyjątkiem są Gemini przez Googlebota i AppleBot.
- Egzekwowanie wykraczające poza kooperacyjne reguły robots.txt mieszka na reverse proxy, w WAF-ie, który prowadzisz sam, albo za wyzwaniem proof-of-work, w takiej właśnie kolejności kosztów.
Czego ten artykuł nie obejmuje
Rzecz dotyczy serwisu odwiedzanego przez agentów, a nie serwisu zawierającego z nimi transakcje. Cztery pokrewne tematy zostawiamy z boku.
- Handel agentowy i ścieżki zakupowe, czyli inny problem dla innego rodzaju serwisu.
- Spór prawny i prawnoautorski o dane treningowe, będący decyzją biznesową, a nie konfiguracją serwera.
- Przewodnik po wdrożeniu WebMCP, ponieważ standard wciąż jest na etapie origin trial.
- Konfiguracja specyficzna dla CDN-ów poza jedyną sekcją o Cloudflare poniżej.
Które roboty AI uderzają w twój serwis
GPTBot i ClaudeBot zbierają treści, które mogą posłużyć do trenowania modeli. OAI-SearchBot i Claude-SearchBot obsługują wyszukiwanie i pobieranie na potrzeby AI. ChatGPT-User i Claude-User pobierają strony w odpowiedzi na działania użytkownika. U części dostawców te zadania są rozdzielone, ale nie każdy robot w sieci daje się czysto przypisać do jednego celu.
Obraz przestrzegania reguł jest bardziej precyzyjny, niż sugeruje popularny skrót myślowy. dokumentacja robotów Anthropic mówi, że ClaudeBot, Claude-User i Claude-SearchBot respektują robots.txt. dokumentacja botów OpenAI mówi, że jej automatyczne roboty korzystają z niezależnych mechanizmów sterowania, ale reguły robots.txt mogą nie dotyczyć ChatGPT-User, ponieważ te żądania inicjuje człowiek. dokumentacja robotów Perplexity robi podobne rozróżnienie: PerplexityBot stosuje się do ustawień webmastera, a Perplexity-User zwykle ignoruje robots.txt. Ogólnikowe twierdzenie, że boty AI ignorują robots.txt, wrzuca więc do jednego worka udokumentowane roboty respektujące ten plik, pobierania wywołane przez użytkownika, których zachowanie zależy od dostawcy, oraz scrapery, które w ogóle się nie przedstawiają.
Poniższa tabela jest aktualna na moment pisania. Nowe tokeny pojawiają się szybciej, niż jakikolwiek artykuł zdoła je śledzić, więc traktuj ją jako mapę startową o krótkim terminie ważności.
| Token robota | Operator | Co robi | Respektuje robots.txt | Jak zweryfikować tożsamość |
|---|---|---|---|---|
| GPTBot | OpenAI | Zbiera treści, które mogą posłużyć do trenowania modeli | Tak | openai.com/gptbot.json |
| OAI-SearchBot | OpenAI | Pokazuje serwisy w wynikach wyszukiwania ChatGPT | Tak | openai.com/searchbot.json |
| ChatGPT-User | OpenAI | Pobiera stronę w odpowiedzi na działanie użytkownika ChatGPT | Może nie obowiązywać | openai.com/chatgpt-user.json |
| OAI-AdsBot | OpenAI | Weryfikuje przesłane reklamy i strony docelowe | Tak | openai.com/adsbot.json |
| ClaudeBot | Anthropic | Zbiera treści, które mogą przyczynić się do trenowania modeli | Tak | Wspólna lista na claude.com/crawling/bots.json |
| Claude-User | Anthropic | Pobiera stronę, o którą prosi użytkownik Claude | Tak | Wspólna lista na claude.com/crawling/bots.json |
| Claude-SearchBot | Anthropic | Indeksuje treści, by poprawić jakość wyszukiwania | Tak | Wspólna lista na claude.com/crawling/bots.json |
| PerplexityBot | Perplexity AI | Indeksuje serwisy i linkuje do nich w wynikach Perplexity; nie służy do trenowania modeli fundacyjnych | Tak | perplexity.com/perplexitybot.json |
| Perplexity-User | Perplexity AI | Pobiera stronę, aby odpowiedzieć na pytanie użytkownika | Zwykle go ignoruje | perplexity.com/perplexity-user.json |
| Google-Extended | Steruje trenowaniem i ugruntowaniem Gemini poza wyszukiwarką | Tak | To nie robot; nie ma czego weryfikować | |
| CCBot | Common Crawl | Buduje publiczny korpus Common Crawl | Tak | Odwrotne DNS dla IPv4; opublikowane zakresy v4/v6 |
Pisanie reguł robots.txt dla robotów AI
RFC 9309 mówi, że reguły w robots.txt nie są formą autoryzacji dostępu. IETF ustandaryzował składnię, parsowanie i buforowanie we wrześniu 2022 roku; nie zmienił jednak tego pliku w mechanizm egzekwowania. Szczegóły, które naprawdę gryzą w praktyce, leżą poniżej składni: plik musi być w kodowaniu UTF-8, parsery muszą przetworzyć co najmniej 500 kibibajtów, a gdy dyrektywy są sprzeczne, wygrywa najbardziej szczegółowe dopasowanie ścieżki. Miejsce reguły w pliku nie ma żadnego znaczenia.
robots.txt dla botów AI korzysta z tego samego pliku i tej samej składni, którą już masz; zmienia się tylko lista tokenów. Uporządkuj reguły według intencji, a przetrwają aktualny skład dostawców. Jeśli twój sprzeciw dotyczy trenowania, zablokuj tokeny treningowe i zostaw indeksery w spokoju:
# Block training, keep AI search indexing
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
Jeśli chcesz wysłać sygnał rezygnacji dla całego serwisu do każdego tokenu wymienionego w tabeli, zgrupuj je pod jedną regułą. Nie trzeba powtarzać Disallow jedenaście razy:
# Send a site-wide opt-out signal to named AI tokens
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: OAI-AdsBot
User-agent: ClaudeBot
User-agent: Claude-User
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
To wciąż nie jest uniwersalna blokada. Anthropic stosuje robots.txt do Claude-User, ale OpenAI mówi, że reguły mogą nie dotyczyć ChatGPT-User, a Perplexity-User zwykle je ignoruje. Jeśli te pobrania wywołane przez użytkownika trzeba zatrzymać, a nie tylko zniechęcić, wyegzekwuj tę decyzję na proxy albo w WAF-ie.
Google-Extended to token najczęściej opacznie rozumiany, a to rozróżnienie ma znaczenie, jeśli twoje rachunki opłaca ruch z wyszukiwarki. dokumentacja robotów Google opisuje go jako samodzielny token produktowy sterujący tym, czy zindeksowana treść może posłużyć do trenowania i ugruntowania Gemini poza wyszukiwarką, i mówi, że nie wpływa on na obecność ani pozycję serwisu w wyszukiwarce Google. Zablokowanie go w niczym nie narusza zachowania Googlebota w wyszukiwarce.
Ręczne utrzymywanie aktualnej listy tokenów to kiepski sposób na spędzenie popołudnia. Utrzymywane przez społeczność repozytorium ai.robots.txt repozytorium śledzi user agenty AI i generuje konfiguracje dla robots.txt, nginx, Caddy, HAProxy, Lighttpd oraz Apache. Administratorzy Apache mogą wrzucić wygenerowany blok obok pozostałych reguł .htaccess na poziomie katalogu.
Wskazówka: nie ufaj ciągowi user-agent. To nagłówek, a nagłówki podrabia się za darmo. Dokumentacja CCBot od Common Crawl ostrzega, że roboty fałszywie podszywają się pod CCBot. W przypadku IPv4 weryfikuj odwrotnym DNS-em potwierdzonym w przód w domenie *.crawl.commoncrawl.org; w przypadku IPv6 korzystaj z zakresów IP publikowanych przez Common Crawl, bo odwrotne DNS nie jest tam na razie obsługiwane. Wymienione wyżej strony dostawców również publikują aktualne zakresy IP pozostałych nazwanych robotów. To udokumentowana ścieżka weryfikacji u tych dostawców, a nie cecha robotów AI w ogóle.
Czy llms.txt cokolwiek daje?
Na podstawie obecnych danych: prawie nic. llms.txt to proponowany plik tekstowy w katalogu głównym serwisu, oferujący modelom językowym wyselekcjonowane streszczenie twoich treści. Opublikowanie go jest tanie, ale obecne dane dają niewiele powodów, by w to inwestować, a dokumentacja Google mówi, że nie jest potrzebny do jej funkcji wyszukiwania z AI.
Format jest minimalny. Propozycja llms.txt pochodzi z września 2024 roku, mieszka pod /llms.txt, a jedyną wymaganą sekcją czyni nagłówek H1 z nazwą serwisu lub projektu.
Werdykt bierze się z pomiarów. Badanie Ahrefs na 137 210 domenach wykazało, że 28 % badanych domen publikowało plik llms.txt i że 97 % tych plików nie otrzymało w maju 2026 roku żadnego żądania. Spośród żądań, które jednak dotarły, 19,5 % pochodziło od nazwanych narzędzi AI. Ahrefs przestrzega też, że samo pobranie nie dowodzi, że plik został faktycznie wykorzystany.
Moje odczytanie tych danych jest takie, że llms.txt to zakład o konwencję, której systemy, dla jakich go napisano, nie przyjęły szeroko. Opublikuj go, jeśli lubisz uporządkowane katalogi główne. Ale nie buduj wokół niego potoku generowania, nie pozwól, by stał się blokującym krokiem wdrożenia, a każdego, kto sprzedaje go jako dźwignię pozycji czy cytowań, uznaj za mocno wyprzedzającego dowody.
Kluczowy wniosek: w badaniu Ahrefs 97 % opublikowanych plików llms.txt nie otrzymało w maju 2026 roku żadnego żądania.
Jak sprawić, by strony były czytelne dla maszyn
Pomiar robotów wykonany przez Vercel wykazał, że roboty OpenAI, ClaudeBot, PerplexityBot, Meta-ExternalAgent, Bytespider i CCBot nie wykonują JavaScriptu. Gemini przez Googlebota i AppleBot to robią. Dla robotów, które nie renderują, treść pojawiająca się dopiero po hydratacji po stronie klienta jest niewidoczna, więc renderuj po stronie serwera wszystko, co krytyczne. Znaczniki to łatwiejsze pytanie, a własne wskazówki Google na ten temat są nietypowo bezpośrednie:
„Aby pojawić się w tych funkcjach, nie musisz tworzyć nowych plików czytelnych maszynowo, plików tekstowych dla AI ani znaczników. Nie ma też żadnych specjalnych danych strukturalnych schema.org, które trzeba by dodać”.
Wzrost widoczności o 40 %, przywoływany czasem na obronę schematu FAQ, pochodzi z artykułu GEO przyjętego na KDD 2024. Artykuł raportuje wzrosty sięgające 40 %, ale testowane interwencje dotyczą zmian treści, takich jak przypisy do źródeł, cytaty, statystyki, terminologia techniczna i płynne sformułowania, a nie FAQPage ani żadnego innego znacznika Schema.org. Liczba się zgadza; jej powiązanie ze znacznikami schema już nie.
Zachowaj dane strukturalne tam, gdzie wspierają klasyczną funkcję wyszukiwarki i zgadzają się z widoczną stroną. Google mówi, że kwalifikacja do jej funkcji AI przebiega przez zwykłe indeksowanie w wyszukiwarce, bez osobnego wymogu znaczników. Po prostu nie wykazano, by ruszały cytowanie przez AI.
Gdy robots.txt nie wystarcza: ograniczanie tempa i WAF na serwerze
Dyrektywy działają na boty, które zgodziły się grać. W tym samym wątku na Hacker Newskilku operatorów opisało ruch, który tego nie robi: roboty rozkładające żądania na wielkie pule bloków IP i rotujące user agentami, by wyglądać jak zwykli odwiedzający, co unieważnia zarówno naiwne limity per-IP, jak i dopasowywanie po user agencie. Traktuj to jako relacje społeczności; nikt w wątku nie publikował pomiarów. Ale opisuje to dokładnie tę grupę, do której robots.txt nigdy nie miał sięgać.
Zanim wejdziesz na tę drabinę, jest tańszy ruch dostępny dla ruchu, który wciąż współpracuje. Spowolnij go:
User-agent: ClaudeBot
Crawl-delay: 1
Wskazówka: najpierw dław, dopiero potem blokuj. Dokumentacja Anthropic obsługuje Crawl-delay dla ClaudeBot , więc ciężkiego, ale dobrze wychowanego robota możesz spowolnić i zachować. Ta sama strona mówi, że blokowanie IP nie jest trwałym mechanizmem rezygnacji. Oba punkty dotyczą wyłącznie Anthropic; Crawl-delay nie jest uniwersalną dyrektywą, więc najpierw sprawdź dokumentację każdego dostawcy.
Wszystko dalej to egzekwowanie, które prowadzisz sam, w trzech szczeblach o rosnącym koszcie i skuteczności. Każdy coś kupuje i czegoś się wyrzeka.
Szczebel 1: dyrektywy reverse proxy i ograniczanie tempa
Ograniczanie tempa robotów AI zaczyna się na reverse proxy, pierwszym elemencie stosu, który widzi żądanie i może je spowolnić, zanim aplikacja albo baza danych wykonają jakąkolwiek pracę. Dokumentacja NGINX-a dotycząca ograniczania tempa stwierdza, że żądania z pustym kluczem nie są liczone, więc map może przydzielić klucz limitu tylko tym tokenom robotów, które chcesz dławić, zostawiając niepasujące żądania poza limit_req_zone.
# /etc/nginx/nginx.conf, inside the http block
map $http_user_agent $ai_rate_key {
default "";
~*GPTBot $binary_remote_addr;
~*OAI-SearchBot $binary_remote_addr;
~*ClaudeBot $binary_remote_addr;
~*Claude-SearchBot $binary_remote_addr;
~*PerplexityBot $binary_remote_addr;
~*CCBot $binary_remote_addr;
}
limit_req_zone $ai_rate_key zone=ai_slowlane:10m rate=20r/m;
# /etc/nginx/sites-available/example.conf, inside the server block
location / {
limit_req zone=ai_slowlane burst=10 nodelay;
proxy_pass http://127.0.0.1:8080;
}
Parą do dostrojenia jest burst=10 nodelay: żądania powyżej średniego tempa mogą od razu skonsumować burst, a te ponad niego dostają domyślnie 503 . Ustawisz zbyt ciasno i wyrzucisz legalnego robota w połowie przechodzenia, a to problem wolniejszy do zdiagnozowania niż awaria. Caddy wyraża te same dwie idee przez matcher i handler; jeśli wybierasz między nimi, zestawione obok siebie pliki konfiguracyjne są bardziej użyteczne niż syntetyczna liczba przepustowości.
Ograniczeniem tego szczebla jest to, że wolny pas wciąż zależy od zadeklarowanego user agenta. Scraper przebrany za Chrome całkowicie omija ten klucz przeznaczony dla robotów; złapanie takiego ruchu wymaga szerszego limitu opartego na zachowaniu IP/ścieżek albo szczebla WAF poniżej.
Szczebel 2: zapora aplikacji webowych, którą prowadzisz sam
WAF przenosi decyzję z jednego nagłówka na zestaw reguł, który czyta razem wzorce żądań, ścieżki i tempo, a tego właśnie potrzebujesz, gdy ruch przestaje się przedstawiać. Uruchomienie go na własnej maszynie trzyma reguły i logi na twoim dysku, gdzie możesz je grepować o trzeciej nad ranem. BunkerWeb to jeden z takich projektów, SafeLine to drugi, a oba działają na VPS-ie, o ile host spełnia wymagania architektury i zasobów danego projektu; udostępniamy wersje obu instalowane jednym kliknięciem, by oszczędzić ci konfiguracji, choć pakowanie nie jest tu najciekawsze.
To jest zarazem koszt tego szczebla. Reguły wymagają utrzymania, a reguła zaciśnięta na tyle, by złapać zdeterminowanego scrapera, prędzej czy później złapie człowieka. Tryby Monitor, Balanced i Strict w SafeLine czynią ten kompromis jawnym: zacznij od obserwowania ruchu wystarczająco długo, by wychwycić fałszywe alarmy, zanim pozwolisz WAF-owi automatycznie zwracać odpowiedzi 403.
Szczebel 3: wyzwania proof-of-work
Anubis całkowicie omija problem identyfikacji. Dla ruchu, który wybierzesz do wyzwania, każe żądaniu zapłacić niewielkim kosztem obliczeniowym, zanim origin je obsłuży. Jego system polityk potrafi też zezwalać na żądania, odrzucać je lub wystawiać im wyzwanie zgodnie z regułami dopasowania. README projektu nazywa go Web AI Firewall Utility zbudowanym wokół wyzwań, chroniącym zasoby upstream przed botami scrapującymi. Działa bez wymogu, by każdy bot poprawnie się przedstawił.
Sam projekt nazywa to podejście odpowiedzią atomową i to zastrzeżenie jest zasłużone. Podatek spada na cały ruch, któremu twoja polityka wystawia wyzwanie, a przy zbyt szerokich regułach mogą to być ludzie na wolnych urządzeniach albo legalne roboty. Trzymaj ten szczebel w rezerwie na naprawdę wrogi ruch. Rozentuzjazmowany robot to zwykle problem limitu tempa, a limit już masz.
Dobór zasobów pod skok ruchu
Obciążenie od robotów często przychodzi skokami, ale to, czy dławi CPU, bazę danych czy I/O, zależy od aplikacji i od przechodzonych adresów. W powyższym przykładzie z WordPressem operator przypisał większość tej jednej sekundy MySQL-owi, więc tamten konkretny incydent był wąskim gardłem bazy danych przebranym za problem z ruchem.
To zamienia dobór zasobów w kwestię alokacji, i to niewygodną: za zapas płacisz stale, a odpracowuje się tylko podczas skoku, którego nie kontrolujesz. Mimo to zapewnij zapas na ten skok. Jeśli BunkerWeb dzieli host z aplikacją i bazą danych, nie traktuj 8 GB jako zalecenia dla całego stosu. Przewodnik szybkiego startu BunkerWeba zaleca 2 vCPU i 8 GB RAM do testów lub wdrożeń z bardzo niewielką liczbą usług oraz co najmniej 4 vCPU z 16 GB RAM dla środowisk produkcyjnych chroniących wiele usług. Dolicz do tego szczytowe CPU samej aplikacji, pamięć bazy danych i zapas na I/O.
Rdzenie o wyższym taktowaniu pomagają, gdy obsługa żądań albo wykonywanie zapytań jest ograniczone przez CPU; więcej rdzeni pomaga, gdy potrzebujesz więcej równoległej pracy w locie. Dobieraj zasoby na podstawie szczytowej równoległości, czasu odpowiedzi p95, CPU i czasu oczekiwania na I/O bazy danych oraz współczynnika chybień cache, a nie samego ruchu robotów.
Prowadzenie tej warstwy samemu wymaga od maszyny pod spodem dwóch rzeczy: dostępu root, bo każdy mechanizm powyżej to plik konfiguracyjny, który edytujesz, i usługa, którą restartujesz, oraz takiego zapasu, by skok ruchu nie położył serwisu, gdy reguły robią swoje. Jeśli dobierasz albo przenosisz pod to maszynę, nasz Linux VPS daje ci dostęp root, którego wymaga ten stos, i pozwala przetestować układ proxy plus WAF, zanim zwiążesz się rozmiarem na dłużej.
Twórz na VPS Linux z dostępem root, NVMe i mocą AMD EPYC.
Zobacz plany LinuxNowe domyślne ustawienia Cloudflare dla ruchu AI
Cloudflare podzielił ruch AI na kategorie Search, Agent i Training w swoim ogłoszeniu o ruchu AI z lipca 2026 roku. Od 15 września 2026 roku nowym domenom wchodzącym do Cloudflare kategorie Training i Agent będą domyślnie blokowane na stronach wyświetlających reklamy, a Search pozostanie dozwolony. Obecni klienci mogą zmienić to ustawienie wcześniej, a same kontrolki są dostępne we wszystkich planach.
Warto stąd wynieść komplikację, którą Cloudflare nazywa we własnym ogłoszeniu. W jego klasyfikacji Googlebot, Applebot i Bingbot łączą pracę wyszukiwarki z trenowaniem, więc klient, który zablokuje kategorię Training, blokuje też te roboty, łącznie z zachowaniem wyszukiwarki, które chciał zachować. To ta sama pułapka czyhająca w każdej kontroli na poziomie kategorii, która traktuje robota wielozadaniowego tak, jakby miał jedno zadanie.
Jeśli twój serwis nie stoi za Cloudflare, nic z tego nie jest dźwignią, którą możesz pociągnąć. Wiedz jednak, że to nadchodzi, bo we wrześniu wzorce ruchu się przesuną; twoimi narzędziami pozostają tokeny w robots.txt oraz opisana wyżej warstwa proxy.
WebMCP: warto obserwować, nie warto pod to budować
WebMCP to odpowiednik Model Context Protocol po stronie przeglądarki, czyli konwencji, dzięki której agenci wywołują ustrukturyzowane narzędzia zamiast zgadywać. Ogłoszenie Chrome o origin trialu WebMCP formułuje cel wprost: zamiast pozwalać agentowi zgadywać, co robi przycisk albo pole formularza, serwis może udostępnić ustrukturyzowane funkcje i opisane kontrolki, które agent wywoła bezpośrednio.
To pierwsza wiarygodna próba dania agentom w twoim serwisie czegoś więcej do roboty niż czytanie, i właśnie dlatego jest to najciekawsza rzecz w tym artykule. Jest też eksperymentalna i niedokończona: origin trial w Chrome 149, otwarty w czerwcu 2026 roku. Obserwuj specyfikację. Na razie nie buduj wokół tego zależności produkcyjnej i trzymaj to poza planem wydajnościowym.
Często zadawane pytania
Czy robots.txt zatrzymuje boty AI?
Częściowo, a odpowiedzią jest właśnie ta precyzja. Anthropic mówi, że ClaudeBot, Claude-User i Claude-SearchBot respektują robots.txt. Automatyczne roboty OpenAI też z niego korzystają, ale OpenAI zaznacza, że reguły mogą nie dotyczyć ChatGPT-User; Perplexity mówi, że Perplexity-User zwykle ignoruje ten plik. Bezimienne albo podszywające się scrapery są całkowicie poza zasięgiem robots.txt.
Czym różni się llms.txt od robots.txt?
Rozwiązują różne problemy. robots.txt mówi współpracującym robotom, co wolno im pobrać, i jest ustandaryzowany przez IETF. llms.txt to proponowany plik oferujący modelom językowym wyselekcjonowane streszczenie twoich treści, bez żadnego wymogu, by cokolwiek go pobierało czy używało. W pomiarze Ahrefs z maja 2026 roku 97 % opublikowanych plików nie otrzymało żadnego żądania. Jeśli chcesz dyrektyw dla robotów, standardowym mechanizmem jest robots.txt; llms.txt jest opcjonalny i obecnie prawie nieużywany.
Jak zablokować GPTBot w moim serwisie?
Dodaj te dwie linie do pliku robots.txt w katalogu głównym serwisu:
User-agent: GPTBot
Disallow: /
To wypisuje twój serwis z automatycznego przechodzenia treningowego GPTBot. OAI-SearchBot, używany w wyszukiwaniu ChatGPT, oraz ChatGPT-User, który pobiera strony na potrzeby działań użytkownika, to osobne tokeny i pozostają nietknięte.
Czy zablokowanie robotów trenujących AI zablokuje też indeksowanie w wyszukiwarce Google?
Nie, jeśli użyjesz właściwej kontrolki. Zablokowanie Google-Extended nie odcina Googlebota od wyszukiwarki. Haczyk pojawia się, gdy używasz kontroli na poziomie kategorii, która traktuje robota wielozadaniowego jako Training: Cloudflare na przykład klasyfikuje Googlebota, Applebota i Bingbota jako łączących wyszukiwanie z trenowaniem, więc zablokowanie tam kategorii Training blokuje też te tożsamości robotów.
Skąd wiem, czy boty AI przechodzą mój serwis?
Przeszukaj grepem swój log dostępu pod kątem udokumentowanych tokenów, a potem zweryfikuj to, co znajdziesz:
grep -ohE 'GPTBot|ClaudeBot|CCBot|PerplexityBot|OAI-SearchBot|ChatGPT-User' \
/var/log/nginx/access.log | sort | uniq -c | sort -rn
Zliczenia pokazują, które zadeklarowane user agenty odwiedzają serwis i jak często. Ponieważ ten ciąg da się podrobić, zanim zaczniesz działać na podstawie liczb, zweryfikuj największych gości względem opublikowanych przez dostawcę zakresów IP albo jego metody odwrotnego DNS.
Dyskusja
Komentarze
Zaloguj się, aby dołączyć do dyskusji.