Kontrola dostępu botów AI przestała być tematem dla purystów technicznych. W 2026 roku to decyzja z realnym rachunkiem: każdy crawler, który pobiera Twoje treści, kosztuje transfer i moc serwera, a w zamian może (ale nie musi) odesłać ruch z cytowania. Ten llms txt przewodnik zbiera w jednym miejscu wszystkie warstwy sterowania: od pliku llms.txt, przez robots.txt i nagłówki HTTP, po reguły na CDN i umowy licencyjne. Pokazuje też, co z tego faktycznie działa, a co jest wyłącznie deklaracją dobrych intencji.
Po co w ogóle sterować dostępem botów AI
Boty AI dzielą się na trzy grupy o zupełnie różnych konsekwencjach dla wydawcy. Pierwsza to crawlery treningowe, które zbierają dane do uczenia modeli i nigdy nie odsyłają ruchu. Druga to crawlery indeksujące dla wyszukiwarek generatywnych, budujące bazę pod odpowiedzi z cytowaniami. Trzecia to fetchery czasu rzeczywistego, uruchamiane w momencie, gdy użytkownik zadaje pytanie i asystent musi sięgnąć po źródło na żywo.
Mieszanie tych trzech kategorii w jednej regule to najczęstszy błąd. Blokada, która miała zatrzymać trening, potrafi przy okazji odciąć fetcher obsługujący cytowania, czyli dokładnie ten ruch, na którym Ci zależy. Dlatego zanim dotkniesz jakiegokolwiek pliku konfiguracyjnego, warto rozpisać, który bot należy do której grupy i jaki jest oczekiwany zwrot z jego wizyt.
Skala problemu nie jest marginalna. Dane operatorów infrastruktury pokazują, że automaty odpowiadają już za większość ruchu w sieci, a proporcja pobrań do odesłań pogarsza się z kwartału na kwartał. Szerzej rozkładamy to w analizie wskaźnika crawl-to-refer publikowanego przez Cloudflare, gdzie widać, ile pobrań przypada dziś na jedno kliknięcie z odpowiedzi AI.
Warto też rozdzielić kontrolę techniczną od komunikacji prawnej. Reguła w robots.txt jest instrukcją dla maszyny, natomiast zastrzeżenie w regulaminie serwisu jest oświadczeniem woli wobec operatora modelu. Te dwie warstwy działają niezależnie i dopiero razem tworzą spójne stanowisko. Serwisy, które mają wyłącznie zapis w regulaminie, w praktyce nie blokują niczego. Serwisy, które mają wyłącznie regułę techniczną, tracą argument w ewentualnej rozmowie o licencji.
llms.txt: format, zawartość, status wsparcia
llms.txt to plik markdown umieszczany w katalogu głównym domeny, pod adresem /llms.txt. Jego zadaniem nie jest blokowanie czegokolwiek. To mapa: kurowany spis najważniejszych zasobów serwisu, opisany językiem naturalnym, tak aby model miał szansę trafić do właściwej sekcji zamiast zgadywać po nawigacji. Specyfikację utrzymuje niezależna inicjatywa opisana na llmstxt.org. Czy boty rzeczywiście sięgają po ten plik, sprawdzisz dopiero w logach serwera, dlatego warto zaplanować regularną analizę logów crawlery ai.
Struktura jest celowo minimalna. Zaczyna się nagłówkiem H1 z nazwą projektu, dalej idzie blockquote z jednozdaniowym opisem, a potem sekcje H2 grupujące linki. Każdy link opatruje się krótkim komentarzem po dwukropku. Opcjonalna sekcja ## Optional oznacza zasoby, które można pominąć przy ograniczonym budżecie kontekstu.
# Nazwa serwisu
> Jednozdaniowy opis, czym zajmuje się serwis i dla kogo pisze.
## Dokumentacja
- [Przewodnik startowy](https://przyklad.pl/start): jak zacząć w 15 minut
- [Referencja API](https://przyklad.pl/api): pełny opis endpointów
## Optional
- [Archiwum newslettera](https://przyklad.pl/archiwum): materiały historyczne
Najważniejsze zastrzeżenie: żaden duży dostawca modeli nie zadeklarował formalnie, że llms.txt jest respektowany jako sygnał wiążący. To konwencja społecznościowa, nie standard z egzekwowaniem. Warto ją wdrożyć, bo koszt jest bliski zeru, a plik bywa realnie pobierany przez agenty, ale nie należy budować na nim strategii. Kierunek rozwoju formatu, w tym linkowanie do wersji markdown poszczególnych podstron, opisaliśmy przy okazji premiery llms.txt 2.0.
robots.txt: co faktycznie respektują boty AI
robots.txt pozostaje jedyną warstwą, którą główni dostawcy publicznie deklarują jako respektowaną. Problem w tym, że jeden dostawca wypuszcza kilka agentów o różnym przeznaczeniu i różnym traktowaniu reguł. Gotowe bloki reguł i pełną tabelę user-agentów zebraliśmy w osobnym tekście o robots.txt dla GPTBot i ClaudeBot.
| User-agent | Właściciel | Do czego służy | Blokada odcina |
|---|---|---|---|
| GPTBot | OpenAI | zbieranie danych treningowych | trening, nie cytowania |
| OAI-SearchBot | OpenAI | indeks pod wyszukiwanie w ChatGPT | widoczność w cytowaniach |
| ChatGPT-User | OpenAI | pobranie na żądanie użytkownika | odpowiedzi z linkiem do Ciebie |
| ClaudeBot | Anthropic | zbieranie danych treningowych | trening |
| Claude-User | Anthropic | pobranie na żądanie użytkownika | cytowania w rozmowie |
| PerplexityBot | Perplexity | indeks wyszukiwarki | obecność w wynikach Perplexity |
| Google-Extended | zgoda na trening Gemini | trening, nie indeks Google |
Aktualne listy user-agentów i zakresy adresów IP publikują sami dostawcy, między innymi dokumentacja botów OpenAI oraz przegląd crawlerów w Google Search Central. Warto je sprawdzać kwartalnie, bo nazwy agentów zmieniają się częściej niż dokumentacja SEO.
Osobna pułapka dotyczy fetcherów uruchamianych przez użytkownika. Część dostawców traktuje takie pobranie jak działanie człowieka, a nie crawlera, więc reguły z robots.txt mogą go po prostu nie obejmować. Ten scenariusz rozbieramy w tekście o tym, dlaczego ChatGPT-User potrafi ominąć robots.txt.
Nagłówki HTTP i kontrola na poziomie CDN
Skoro robots.txt bywa nieegzekwowalny, potrzebna jest warstwa, która nie prosi, tylko wymusza. Na poziomie odpowiedzi serwera masz do dyspozycji nagłówek X-Robots-Tag, który działa tak samo jak meta robots, ale obejmuje też pliki nietekstowe: PDF, obrazy, arkusze. Dla treści premium to często jedyny sensowny mechanizm.
Realna kontrola zaczyna się jednak dopiero na CDN. Tam możesz dopasować regułę po kombinacji user-agenta i weryfikacji odwrotnego DNS albo listy adresów IP, a następnie zwrócić kod 403, wymusić wyzwanie albo przepuścić ruch z ograniczeniem tempa. Sama nazwa user-agenta jest deklaracją, którą każdy skrypt potrafi podszyć, więc bez weryfikacji pochodzenia reguła jest dziurawa. Mechanikę weryfikacji i skalę podszywania się opisaliśmy w materiale o weryfikacji crawlerów AI.
Praktyczna kolejność jest taka: rate limiting dla wszystkiego, co identyfikuje się jako bot AI, twarda blokada tylko dla agentów treningowych, przepustka dla fetcherów cytujących. Do tego osobna reguła chroniąca endpointy kosztowne obliczeniowo, na przykład wyszukiwarkę wewnętrzną i filtry katalogu, bo to one najczęściej generują lawinę żądań.
Osobno potraktuj wersje językowe i subdomeny. Reguły robots.txt obowiązują wyłącznie w obrębie hosta, na którym plik leży, więc blokada na domenie głównej nie obejmie sklepu na subdomenie ani wersji obsługiwanej przez zewnętrzną platformę. Przy rozproszonej architekturze najprościej jest wynieść decyzję na poziom CDN, gdzie jedna reguła obejmuje wszystkie hosty w koncie.
Nie zapominaj również o kanałach pobocznych. Feed RSS, mapa witryny, wersje AMP i endpointy API bywają otwarte szeroko, mimo że sama strona jest ograniczona. Dla crawlera to często wygodniejsza ścieżka niż HTML, bo zwraca czystą treść bez nawigacji. Jeżeli zamykasz dostęp, zamknij go konsekwentnie we wszystkich formatach, w których serwujesz ten sam materiał.
Blokada, dostęp warunkowy i licencjonowanie treści
Blokada zero-jedynkowa to najprostsze, ale rzadko najlepsze rozwiązanie. Pomiędzy pełnym otwarciem a pełnym zamknięciem mieści się dostęp warunkowy: model dostaje streszczenie, pierwsze akapity albo wersję bez danych własnych, a pełna treść zostaje za bramką. Taki podział pozwala zachować szansę na cytowanie przy jednoczesnej ochronie tego, co stanowi przewagę.
Trzeba tylko uważać na spójność. Jeśli bot widzi inną treść niż użytkownik, wchodzisz w obszar cloakingu, który klasyczne wyszukiwarki traktują jako naruszenie. Bezpieczna granica przebiega tam, gdzie ograniczenie dotyczy wszystkich anonimowych odwiedzających jednakowo, a nie wyłącznie crawlerów. Konsekwencje takiego układu dla widoczności rozkładamy w analizie treści za paywallem a chatboty AI.
Trzecia ścieżka to licencjonowanie. Duzi wydawcy podpisują umowy z dostawcami modeli i otwierają dostęp odpłatnie. Dla mniejszych serwisów pojawiają się rozwiązania pośredniczące, w których operator CDN rozlicza pobrania per crawler. To wciąż rynek wczesny, ale kierunek jest wyraźny: dostęp do treści staje się produktem, a nie darmowym efektem ubocznym publikacji.
Wpływ blokady na cytowania i ruch
Najważniejsza rzecz do zapamiętania: blokada crawlera treningowego nie usuwa Cię z odpowiedzi AI, ale blokada crawlera indeksującego lub fetchera już tak. Model, który nie może pobrać strony, nie zacytuje jej, nawet jeśli zna markę z danych treningowych sprzed dwóch lat.
Konsekwencje warto rozpisać w prostym rachunku. Po stronie kosztów masz transfer, obciążenie serwera i ryzyko wycieku treści do zbioru treningowego. Po stronie przychodów masz kliknięcia z cytowań, wzmianki bez kliknięcia budujące rozpoznawalność oraz obecność w porównaniach generowanych przez asystentów. Jeśli Twój model biznesowy opiera się na sprzedaży dostępu do wiedzy, koszty przeważą. Jeśli zarabiasz na leadach albo produkcie, do którego wiedza jest wstępem, przeważy przychód.
Rachunek przeprowadź na danych, nie na przeczuciu. Z logów serwera wyciągniesz liczbę żądań per user-agent i realny transfer. Z analityki wyciągniesz sesje z domen asystentów. Zestawienie tych dwóch liczb daje Ci coś w rodzaju kursu wymiany: ile pobrań kosztuje jedna wizyta. Dopiero taki wskaźnik uzasadnia decyzję.
Decyzja biznesowa: kiedy blokować, kiedy otwierać
Otwieraj, gdy treść jest narzędziem pozyskania, a nie produktem: blog produktowy, dokumentacja, poradniki wspierające sprzedaż, serwisy lokalne żyjące z rekomendacji. Tu każde cytowanie jest darmową dystrybucją, a koszt transferu jest marginalny wobec wartości leada.
Blokuj selektywnie, gdy treść jest produktem: bazy danych, raporty płatne, kursy, archiwa branżowe. W tym wariancie zamykasz agentów treningowych, zostawiasz otwarte streszczenia i strony ofertowe, a pełne materiały chronisz logowaniem. Widoczność zostaje, przedmiot sprzedaży zostaje chroniony.
Blokuj szeroko tylko wtedy, gdy masz twarde ograniczenia prawne albo umowne, na przykład dane objęte licencją osób trzecich. Wtedy priorytetem jest zgodność, a utrata cytowań jest kosztem świadomie zaakceptowanym. Warto tę decyzję zapisać wraz z uzasadnieniem, bo za rok nikt nie będzie pamiętał, dlaczego reguła powstała.
Wdrożenie krok po kroku i weryfikacja
- Wyciągnij z logów listę user-agentów AI z ostatnich 30 dni wraz z liczbą żądań i sumą transferu. To Twój punkt odniesienia.
- Przypisz każdego agenta do jednej z trzech grup: trening, indeks, fetcher. Decyzję podejmuj per grupa, nigdy per pojedyncza nazwa.
- Zapisz reguły w robots.txt, oddzielnymi blokami dla każdego user-agenta. Nie używaj jednego bloku zbiorczego, bo utrudnia późniejsze korekty.
- Dodaj
/llms.txtz mapą 10 do 30 najważniejszych zasobów. Aktualizuj go przy każdej większej zmianie struktury serwisu. - Skonfiguruj na CDN rate limiting i weryfikację pochodzenia. Zacznij od trybu obserwacji, żeby zobaczyć, co reguła by odcięła, zanim zacznie odcinać.
- Zabezpiecz pliki nietekstowe nagłówkiem
X-Robots-Tag, jeśli nie chcesz, aby PDF-y i arkusze trafiały do zbiorów. - Po 14 dniach porównaj logi i analitykę z punktem odniesienia. Sprawdź, czy spadek pobrań nie pociągnął za sobą spadku sesji z asystentów.
Weryfikacja jest tą częścią, którą najczęściej się pomija, a bez niej nie wiesz, czy reguła w ogóle zadziałała. Minimalny zestaw kontrolny to: pobranie /robots.txt i /llms.txt z zewnętrznej sieci, test odpowiedzi serwera z podmienionym user-agentem, przegląd kodów 403 w logach CDN oraz kontrolne zapytanie w kilku asystentach, czy nadal cytują Twoje strony.
Jeżeli po wdrożeniu cytowania znikają, cofnij zmianę dotyczącą fetcherów, a nie całą konfigurację. To najczęstsze źródło problemu i najtańsza korekta. Reguły dla agentów treningowych zwykle można zostawić bez wpływu na widoczność.
FAQ
Czy llms.txt jest wymagany, żeby model zacytował moją stronę?
Nie. Cytowanie zależy od tego, czy crawler indeksujący lub fetcher może pobrać stronę i czy treść odpowiada na zadane pytanie. llms.txt bywa pomocny jako mapa serwisu, ale żaden dostawca nie traktuje go jako warunku koniecznego.
Czym różni się blokada GPTBot od blokady ChatGPT-User?
GPTBot zbiera dane treningowe, więc jego blokada nie wpływa na bieżące odpowiedzi. ChatGPT-User pobiera stronę w momencie zapytania użytkownika, więc jego blokada realnie usuwa Cię z odpowiedzi z linkiem.
Czy Google-Extended blokuje mnie w wynikach Google?
Nie. Google-Extended dotyczy wyłącznie wykorzystania treści do trenowania modeli Gemini. Indeksowanie na potrzeby wyszukiwarki steruje się osobno, przez Googlebot.
Jak sprawdzić, czy bot podszywa się pod znanego crawlera?
Zweryfikuj pochodzenie żądania odwrotnym DNS albo porównaj adres IP z listą zakresów publikowaną przez dostawcę. Sama nazwa user-agenta niczego nie dowodzi, bo można ją dowolnie ustawić.
Ile czasu zajmuje, zanim blokada zacznie działać?
Reguły na CDN działają natychmiast. Zmiany w robots.txt wchodzą w życie po ponownym pobraniu pliku przez danego bota, zwykle w ciągu 1–7 dni, zależnie od częstotliwości odwiedzin.
Czy warto blokować boty AI, żeby oszczędzić transfer?
Tylko jeśli policzyłeś koszt. Dla większości serwisów treściowych transfer jest tani wobec wartości cytowań, więc lepszym rozwiązaniem jest ograniczenie tempa pobrań niż twarda blokada.