Boty AI w robots.txt: GPTBot, ClaudeBot i inne crawlery
Podział według celu pozwala ustalić, na jakie wykorzystanie treści się zgadzasz. Dla publicznej strony najważniejsze są trzy grupy.
| Cel | Przykłady | Znaczenie dla właściciela strony |
|---|---|---|
| Zbieranie treści do potencjalnego treningu | GPTBot, ClaudeBot | Możesz odmówić tego wykorzystania niezależnie od ustawień crawlerów wyszukujących. |
| Wyszukiwanie AI | OAI-SearchBot, Claude-SearchBot, PerplexityBot | Dostęp umożliwia systemom pobieranie treści na potrzeby wyszukiwania; nie gwarantuje cytowania. |
| Pobieranie na żądanie użytkownika | ChatGPT-User, Claude-User, Perplexity-User | Asystent odwiedza stronę w ramach konkretnego zadania; zasady respektowania robots.txt zależą od dostawcy. |
OpenAI rozdziela ustawienia GPTBot i OAI-SearchBot, a dla ChatGPT-User zastrzega, że robots.txt może nie mieć zastosowania. Anthropic deklaruje respektowanie robots.txt przez komplet swoich botów, ale w przypadku Perplexity sytuacja wygląda nieco inaczej: agent Perplexity-User z założenia ignoruje te reguły, działając jako bezpośrednie proxy użytkownika. Wniosek? Deklaracje na papierze to jedno, a życie drugie. Jeśli chcesz skutecznie odciąć konkretnego bota, musisz dokładnie prześwietlić, jak on naprawdę składa żądania.
Google-Extended wymaga osobnego potraktowania. To token sterujący w robots.txt, bez własnego HTTP user-agenta. Google pobiera treści istniejącymi crawlerami, a token określa zgodę na wykorzystanie ich do treningu przyszłych modeli Gemini oraz groundingu w Gemini Apps i Grounding with Google Search na Vertex AI. Grounding oznacza dostarczenie modelowi treści jako kontekstu podczas przygotowywania odpowiedzi.
Czy warto blokować boty AI w robots.txt?
Kiedy celem strony internetowej jest pozyskiwanie klientów z wyszukiwarek AI, zapewnij dostęp crawlerom wyszukującym, ale decyzję o treningu podejmij osobno, uwzględniając model biznesowy i koszty pobierania treści. Zablokowanie GPTBot nie wymaga wyłączania OAI-SearchBot. Z kolei reguła Google-Extended wpływa także na grounding, więc jej wyłączenie ciągnie za sobą znacznie szersze konsekwencje.
Analiza wpływu blokowania botów AI na ruch (badanie Zhao i Bermana)
Uzasadnienie blokady botów AI często opiera się na obawie przed utratą ruchu, jednak twarde dane nakazują ostrożność. Badanie naukowców z Wharton i Rutgers (H. Zhao, R. Berman, wersja z kwietnia 2026) przeanalizowało realne skutki zablokowania crawlerów GenAI w pliku robots.txt przez dużych wydawców informacyjnych:
-
Co zbadano: Autorzy porównali zmiany w ruchu internetowym witryn, które zablokowały boty AI, z grupą kontrolną wydawców, którzy pozostawili im dostęp (metodologia difference-in-differences).
-
Główny wniosek: Duzi wydawcy, którzy odcięli dostęp botom GenAI, odnotowali spadek tygodniowych wizyt o około 7% w ciągu pierwszych 6 tygodni po wprowadzeniu blokady. Dane Comscore o ruchu ludzi pokazują podobny spadek, około 7%, ale z mniejszą precyzją. Wcześniejsze wersje pracy podawały inne liczby: pierwsza około 23% mniej wizyt miesięcznych w całej próbie, trzecia około 10% mniej wizyt tygodniowych w ciągu 12 tygodni. Różnią się próbą, miarą i oknem czasowym, więc nie są kolejnymi spadkami ani poprawką jednej liczby.
-
Dlaczego ruch mógł spaść? Autorzy nie dowodzą mechanizmu, ale go proponują. Za najbardziej prawdopodobne uznają to, że zablokowany wydawca rzadziej pojawia się jako źródło w odpowiedziach AI, więc słabnie rozpoznawalność marki i spada ruch bezpośredni. Utratę kliknięć z linków w odpowiedziach AI uważają za mniej prawdopodobną główną przyczynę, ponieważ przed majem 2024 ruch z asystentów był niewielki. Dopiero w 2025 roku można powiedzieć, że zjawisko znacząco się rozwijało.
Jak interpretować te wyniki w praktyce?
Wnioski z tego badania nie są uniwersalną prognozą dla każdej strony biznesowej, ponieważ dotyczą specyficznej próby portali informacyjnych, których model opiera się na bieżących wiadomościach. Wyniki te nie dowodzą poza tym, że sama blokada całkowicie eliminuje cytowania (np. z wcześniej pobranych zbiorów treningowych).
Ostatecznie, swoją decyzję o dostępie dla botów opieraj na celach własnego serwisu i stałej analityce, biorąc pod uwagę sezonowość, tempo publikacji nowych treści oraz równoległe zmiany w algorytmach Google.
Robots.txt w Next.js: reguły dla GPTBot, ClaudeBot i crawlerów AI
W App Routerze utwórz plik . Poniższy wariant odmawia dostępu GPTBot i ClaudeBot, pozostawiając crawlerom wyszukującym dostęp poza /api/.
Oczywiście, by wszystko działało, zastąp example.com własną domeną. Next.js udostępni wynik pod /robots.txt. Ten dedykowany punkt końcowy jest domyślnie cache'owany. Sam fakt napisania go w TypeScripcie nie powoduje automatycznie, że plik będzie renderowany od nowa dla każdego przychodzącego żądania. Więcej przykładów znajdziesz w poradniku o sitemapach i robots.txt w App Routerze.
Google-Extended celowo nie jest w grupie treningowej. Jeśli chcesz odmówić także wykorzystania treści do treningu i groundingu objętego tym tokenem, dodaj osobny wpis { userAgent: 'Google-Extended', disallow: '/' } do tablicy rules.
Robots.txt i egzekwowanie dostępu
Plik robots.txt działa wobec klientów, którzy respektują jego reguły. Tutaj warto przywołać raport Cloudflare z 4 sierpnia 2025, w którym opisano obserwowane zachowania przypisywane Perplexity, w tym zmiany user-agentów i adresów IP przy próbach obejścia ograniczeń. Jest to dowód, że deklaratywna polityka dostępu ma swoje granice i jak łaskawie crawler posłucha deklaracji, to posłucha, ale równie dobrze może tego nie zrobić.
Możemy mieć wpływ na takie sytuacje poprzez , limity żądań i weryfikację botów. Nagłówek User-Agent można z łatwością sfałszować, z kolei sam numer ASN identyfikuje całą sieć, a nie konkretnego klienta. W związku z powyższym przy budowaniu wyjątków w zaporze sieciowej należy opierać się na oficjalnych, aktualnych zakresach IP wydawcy bota lub natywnych mechanizmach weryfikacji tożsamości wdrożonych na poziomie CDN. Treści płatne oraz prywatne bezwzględnie wymagają uwierzytelniania i kontroli dostępu po stronie serwera. WAF wspiera ochronę przed bezprawnym scrapingiem, ale trzeba pamiętać także o właściwej autoryzacji i zagwarantowaniu pełnego zabezpieczenia publicznie udostępnianych tekstów.
Dostępność danych dla agentów AI i systemów RAG
uzupełnia odpowiedź modelu informacjami pobranymi ze źródeł, które mogą być dokumentami, bazami danych, API albo indeksami stron. Dostępność publicznej witryny to jeden z możliwych etapów tego procesu. Dla klienta, który nie wykonuje JavaScriptu, treść pobierana dopiero w przeglądarce pozostanie niewidoczna. W Next.js zadbaj, by tekst artykułu lub oferty trafiał do HTML dzięki albo . Samo 'use client' nie oznacza braku treści w HTML. Przy pierwszym wejściu Next.js wykorzystuje również Client Components do przygotowania HTML na serwerze. Problemem jest na przykład pobieranie tekstu dopiero w useEffect. Szczegóły opisuje dokumentacja renderowania Next.js.
Czytelne nagłówki, listy i znaczniki <article> oraz <main> ułatwiają interpretację dokumentu. Sprawdź też, czy pełna treść nie wymaga kliknięcia lub przewinięcia uruchamiającego dodatkowe pobranie. Ukryty wizualnie fragment obecny w HTML to inna sytuacja niż tekst, którego serwer jeszcze nie zwrócił. Plik llms.txt może pomóc narzędziom, które go obsługują, odnaleźć materiały. Proponowany format nie gwarantuje jednak odczytu, indeksowania ani cytowania strony. Przykłady publikacji opisuję w poradniku o wdrożeniu llms.txt.
Eksperymentalna kategoria przeglądania agentowego w Lighthouse bada m.in. strukturę dostępności, stabilność układu, llms.txt i WebMCP. Dokumentacja wymaga Chrome 150 lub nowszego, a audyty WebMCP dodatkowo udziału w origin trial. Uzyskany wynik pomaga diagnozować obsługę strony przez agentów, chociaż sam w sobie nie oznacza, że strona jest cytowana. Kontekst opisuję we wpisie o przeglądaniu agentowym.
Jak sprawdzić dostęp botów do treści
Po wdrożeniu reguł przeprowadź weryfikację na reprezentatywnym URL-u i to najlepiej na kluczowym artykule lub stronie ofertowej, które mają generować ruch. Poniższy test pozwala przeanalizować odpowiedź serwera w czystym środowisku, z wyłączoną obsługą JavaScriptu. Oczywiście, przed jego uruchomieniem zastąp przykładową domenę i ścieżkę własnym adresem:
- Odczytaj reguły robots.txt dla wybranego bota. Sprawdź właściwy host i końcowy adres po przekierowaniach.
curlsam nie egzekwuje tych reguł. - Otwórz
headers.txtipage.html. Końcowa odpowiedź powinna zawierać oczekiwany dokument. Zwróć uwagę na403,429, przekierowanie do logowania i ekran weryfikacji, który może przyjść nawet ze statusem200. Zweryfikuj, czy treść artykułu renderuje się wprost w znacznikach HTML. - Porównaj wynik z logami CDN lub serwera. Lokalny test zmienia tylko user-agent i nie odtwarza adresu IP prawdziwego crawlera. Potwierdź pochodzenie rzeczywistych żądań według dokumentacji dostawcy, a następnie sprawdź odpowiedzi i reguły WAF, które je obsłużyły.
- Oddziel pobrania botów od wizyt ludzi. W analityce monitoruj odsyłacze z platform AI, strony lądowania i wskaźnik konwersji. Uwzględnij przy tym ograniczenia techniczne: brak nagłówka
Refererprzy części wizyt sprawia, że dane będą niedoszacowane. Pamiętaj też o oznaczeniu w systemie momentu zmiany konfiguracji i zestawialnych przedziałów czasowych.


