# Robots.txt dla botów AI — wzór, który naprawdę działa

> Poprawny robots.txt dla botów AI opiera się na jednej zasadzie z RFC 9309: ograniczenie powstaje wyłącznie przez regułę Disallow, a grupa z samą regułą Allow niczego nie zabrania. W moim pomiarze 56 plików spółek GPW z sierpnia 2026 jedyna własnoręcznie napisana polityka dla botów AI wyglądała na obowiązującą, a nie ograniczała niczego — dlatego wzór ma trzy gotowe warianty do skopiowania: otwarty, blokujący wyłącznie trening i zamknięty dla botów AI, każdy z poprawną pisownią tokenów.

Autor: Robert Marczyński · Opublikowano: 2026-08-12 · Aktualizacja: 2026-08-25
Kanoniczny URL: https://ekspertodsztucznejinteligencji.pl/odpowiedzi/robots-txt-dla-botow-ai-wzor

Poniżej trzy gotowe warianty pliku robots.txt — otwarty, blokujący sam trening i zamknięty dla botów AI. Zanim skopiujesz: jedna zasada, bez której plik może wyglądać na politykę i nie robić nic.

## Zasada, na której wszystko stoi

RFC 9309 mówi wprost: jeśli w grupie nie ma reguły pasującej do adresu albo nie ma reguł w ogóle, **adres jest dozwolony**. Ograniczenie powstaje wyłącznie przez `Disallow`. Robots.txt nie zna trybu „wolno wyłącznie to” — grupa z samą regułą `Allow` niczego nie zabrania.

To nie jest teoretyczne zastrzeżenie. W [moim pomiarze 56 plików spółek GPW](/blog/widocznosc-ai-wig20-mwig40-pomiar) z sierpnia 2026 jedyna własnoręcznie napisana polityka dla botów AI dawała botom treningowym osobne grupy z jedną linią `Allow` dla jednego pliku — w intencji „możecie wziąć tylko to”, w skutkach: mogą wziąć wszystko. Do tego token `GoogleExtended` zapisany bez łącznika, przez co nie pasował do niczego.

## Wariant 1: otwarty (domyślny dla firm, które chcą być cytowane)

Nic nie blokuje, ale zostawia świadomy ślad decyzji — w tym deklarację [Content-Signal](/odpowiedzi/content-signal-w-robots-txt):

```
User-agent: *
Disallow:

# Świadoma decyzja: treść dostępna dla wyszukiwania, odpowiedzi i treningu AI.
Content-Signal: search=yes, ai-input=yes, ai-train=yes

Sitemap: https://twojadomena.pl/sitemap.xml
```

Tak wygląda plik tego serwisu co do intencji: rachunek „kto czyta, ten może zacytować” działa u każdego dostawcy tak samo.

## Wariant 2: blokada samego treningu (widoczność zostaje)

Boty odpowiadające bez ograniczeń, boty wyłącznie treningowe zablokowane:

```
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: *
Disallow:

Content-Signal: search=yes, ai-input=yes, ai-train=no

Sitemap: https://twojadomena.pl/sitemap.xml
```

Świadomie **nie ma** tu `Google-Extended`: to token o podwójnej funkcji, sterujący także groundingiem odpowiedzi Gemini, więc jego blokada kosztuje widoczność w jednym z trzech największych asystentów. Jeśli akceptujesz ten koszt, dopisz analogiczną grupę.

## Wariant 3: zamknięty dla botów AI (świadoma rezygnacja z cytowań)

Dla firm, które nie chcą obecności w odpowiedziach AI w ogóle — z pełną świadomością, że przy pytaniach o firmę asystenci oprą się wtedy na cudzych treściach:

```
User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-SearchBot
Disallow: /

User-agent: Claude-User
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Perplexity-User
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: *
Disallow:

Content-Signal: search=yes, ai-input=no, ai-train=no

Sitemap: https://twojadomena.pl/sitemap.xml
```

Klasyczne wyszukiwarki (Googlebot, Bingbot) pozostają nietknięte — ten wariant odcina AI, nie SEO.

## Weryfikacja i dwa zastrzeżenia

Po wdrożeniu sprawdź plik na żywo: `curl -sL https://twojadomena.pl/robots.txt` — i porównaj tokeny litera po literze z dokumentacją dostawców, bo nazwy botów zmieniają się częściej niż ten plik.

Zastrzeżenie pierwsze: robots.txt to prośba. Uczciwe boty ją honorują, ale techniczną egzekucję daje dopiero zapora. Zastrzeżenie drugie działa w drugą stronę: zapora hostingu może ciąć boty **mimo** otwartego robots.txt — w moim pomiarze trzy spółki odpowiadały botom kodem 403 przy pliku, który botów odpowiadających nie blokował. Pliku i zapory trzeba pilnować razem, [pełna diagnoza widoczności jest tutaj](/odpowiedzi/dlaczego-firmy-nie-ma-w-chatgpt).

## Najczęstsze pytania

**Jak zablokować w robots.txt tylko trening AI, nie tracąc widoczności?**

Osobną grupą dla każdego bota treningowego: wiersz User-agent z nazwą bota i wiersz Disallow z ukośnikiem. Na sierpień 2026 są to co najmniej GPTBot i ClaudeBot, a dalej tokeny pozostałych dostawców: Applebot-Extended, Meta-ExternalAgent, Bytespider i Amazonbot; osobno CCBot, czyli crawler archiwum Common Crawl, z którego korzystają trenujący modele. Tokenu anthropic-ai nie ma już w dokumentacji Anthropic, więc reguła z nim niczego nie blokuje; boty odpowiadające (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User) zostawia się bez reguł blokujących. Uwaga na Google-Extended: ten token obejmuje też grounding, więc jego blokada wycina firmę z odpowiedzi Gemini.

**Dlaczego grupa z samą regułą Allow w robots.txt nie działa jako ograniczenie?**

Bo standard zna tylko zakazy. RFC 9309 przesądza, że adres nieobjęty żadną pasującą regułą jest dozwolony, więc ograniczenie powstaje wyłącznie przez Disallow. Grupa w rodzaju User-agent: GPTBot z samą linią Allow dla jednego pliku nie ogranicza więc niczego — bot może pobrać całą resztę serwisu. Taki zapis znalazłem w sierpniu 2026 w realnym pliku dużej polskiej spółki, wyglądał na przemyślaną politykę i nie działał wcale.

**Czy wielkość liter i pisownia nazw botów w robots.txt mają znaczenie?**

Pisownia tokenu ma znaczenie krytyczne, wielkość liter nie. Parsery porównują tokeny bez rozróżniania wielkości liter, ale token musi być tym, którego bot używa: zapis GoogleExtended bez łącznika nie pasuje do niczego, bo token Google nazywa się Google-Extended. Dokładne nazwy trzeba brać z dokumentacji dostawców, nie z pamięci — w moim pomiarze błędny token znalazłem w pliku, który poza tym był najstaranniej napisany w całej próbie.

**Czy robots.txt wystarczy, żeby kontrolować boty AI?**

Nie w pełni, z dwóch stron naraz. Robots.txt to prośba, którą uczciwe boty honorują, ale nie egzekwuje niczego technicznie — twardą blokadę daje dopiero zapora. Z drugiej strony zapora hostingu albo CDN może odcinać boty niezależnie od robots.txt: w moim pomiarze z sierpnia 2026 trzy spółki odpowiadały botom kodem 403 przy pliku, który nie blokował żadnego bota odpowiadającego. Kontrola wymaga więc spójności obu warstw, a coraz częściej też deklaracji Content-Signal.


## Źródła

- RFC 9309 — Robots Exclusion Protocol (§2.2.2: brak pasującej reguły w grupie oznacza dostęp dozwolony): https://www.rfc-editor.org/rfc/rfc9309.html
- OpenAI — dokumentacja crawlerów i dokładne tokeny: https://developers.openai.com/api/docs/bots
- Anthropic — dokumentacja crawlerów i skutki ich blokowania: https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler
- Google — lista crawlerów i token Google-Extended (trening + grounding): https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- Badanie własne — robots.txt 56 spółek GPW (pomiar 10–11.08.2026): https://ekspertodsztucznejinteligencji.pl/badania/widocznosc-wig-2026-08
