# llms.txt a robots.txt: co robi każdy z plików i jak na siebie wpływają

**Author:** Piotr Litwa - GTM & Analytics Specialist  
**Published:** 2026-08-07  
**URL:** https://piotrlitwa.com/articles/pl/llms-txt-a-robots-txt.html  
**Language:** pl  
**Keywords:** llms.txt a robots.txt, robots.txt crawlery ai, blokowanie gptbot robots.txt, rfc 9309, llms.txt przykład

---

`robots.txt` mówi crawlerom, czego nie wolno im pobierać, i jest standardem internetowym (RFC 9309), który każdy duży crawler, łącznie z crawlerami AI, deklaruje, że respektuje. `llms.txt` podpowiada, co warto przeczytać, i jest propozycją z llmstxt.org, której żaden duży dostawca AI nie zobowiązał się czytać. Pytanie "llms.txt a robots.txt" nie brzmi więc "którego potrzebuję". To szlaban kontra lista lektur, a szlaban zawsze wygrywa.

Jeśli masz zapamiętać z tego artykułu jedną rzecz, niech to będzie to ostatnie zdanie. Większość zamieszania, które widzę, bierze się z traktowania tych plików jako alternatyw albo, co gorsza, z edytowania jednego, podczas gdy drugi po cichu go unieważnia.

> **Najważniejsze wnioski**
> - `robots.txt` to Robots Exclusion Protocol, ustandaryzowany jako RFC 9309 we wrześniu 2022. `llms.txt` to propozycja społeczności z września 2024 bez formalnego statusu.
> - Żaden z plików niczego nie egzekwuje. Samo RFC 9309 mówi, że reguły nie są formą autoryzacji dostępu. Prawdziwe blokowanie dzieje się na serwerze albo w CDN.
> - Jeśli `robots.txt` blokuje `GPTBot`, posłuszny `GPTBot` nie pobierze też Twojego `llms.txt`. Lista lektur traci sens.
> - Crawler stosuje się tylko do najbardziej szczegółowej grupy `User-agent`, która do niego pasuje. Dodaj grupę dla `GPTBot`, a przestanie czytać Twoje reguły dla `*`.
> - `Google-Extended` decyduje o użyciu treści do treningu i groundingu Gemini, nie o wyszukiwarce. Zablokowanie go nie usuwa Cię z AI Overviews.

## Cel: szlaban i lista lektur

`robots.txt` służy do ograniczania. Istnieje od 1994 roku, leży pod `/robots.txt` na każdym hoście, a jego zadanie to powiedzieć "nie pobieraj tych ścieżek". Nic nie mówi o tym, co jest dobre. Idealnie skonfigurowany `robots.txt` może pozwalać na wszystko.

`llms.txt` służy do kuratorowania. To plik markdown pod `/llms.txt`, który wymienia strony uznane przez Ciebie za najprzydatniejsze, z krótkimi opisami, żeby model językowy mógł pominąć nawigację i banery cookies. Nic nie mówi o pozwoleniach. Format opisałem w [poradniku, jak zrobić llms.txt](https://piotrlitwa.com/articles/pl/llms-txt-jak-zrobic.html), więc sekcję o składni trzymam krótko.

Różne zadania. Pokrywają się dokładnie w jednym miejscu: oba są pobierane przez boty z katalogu głównego domeny. I tu zaczynają się kłopoty.

## Składnia obok siebie, z przykładowymi plikami

Oto realistyczny `robots.txt` dla małej firmy usługowej z UE, która chce widoczności w wyszukiwaniu AI, ale nie chce, żeby crawlowano strefę konta i wewnętrzną wyszukiwarkę:

```text
# robots.txt dla example.com

User-agent: *
Disallow: /account/
Disallow: /search
Allow: /

User-agent: GPTBot
Disallow: /account/
Disallow: /search

# Wypisuje z treningu i groundingu Gemini. Wyszukiwarki i AI Overviews to nie dotyczy.
User-agent: Google-Extended
Disallow: /

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

Reguły działają liniami: `User-agent` otwiera grupę, `Disallow` i `Allow` przyjmują prefiksy ścieżek, a kiedy do URL-a pasują dwie reguły, wygrywa najdłuższa (najbardziej szczegółowa) ścieżka. `Sitemap` nie należy do podstawowych reguł RFC 9309, ale Google, Bing i główne crawlery AI go czytają.

Zauważ, że grupa `GPTBot` powtarza blokady. To celowe, a dlaczego, wyjaśniam niżej przy historii Michała.

A oto pasujący `llms.txt`:

```markdown
# Example Analytics

> Niezależny monitoring GTM i GA4 dla firm z UE. Abonament od 390 EUR miesięcznie, konsultacje godzinowe, darmowy audyt GTM.

## Usługi
- [Monitoring GTM](https://example.com/gtm.md): Cotygodniowe automatyczne kontrole tagów, poprawki w 48 godzin
- [Audyty GA4](https://example.com/ga4-audit.md): Zakres, rezultaty i cena

## Artykuły
- [Lista kontrolna Consent Mode v2](https://example.com/consent-mode.md): Jak sprawdzić sygnały zgody w Tag Assistant

## Optional
- [Archiwum realizacji](https://example.com/cases.md): Starsze opisy projektów
```

Jedyny wymagany element to tytuł `#`. Podsumowanie w cytacie i sekcje `##` z linkami to konwencje z propozycji, a sekcja `Optional` oznacza materiał, który narzędzie może pominąć, gdy brakuje kontekstu. Nie ma odpowiednika `Disallow`, nie ma kierowania do user agentów, nie ma wildcardów. To dokument, a nie zestaw reguł.

## Kto czyta który plik

Tu drogi obu plików naprawdę się rozchodzą.

`robots.txt` czyta praktycznie każdy dobrze wychowany crawler: `Googlebot`, `Bingbot` i crawlery AI `GPTBot`, `OAI-SearchBot`, `ClaudeBot`, `PerplexityBot`, `CCBot`, `Applebot`. OpenAI, Anthropic, Google i Perplexity dokumentują swoje user agenty i deklarują, że ich crawlery stosują się do `robots.txt`. RFC 9309 mówi też, że crawlery nie powinny trzymać pliku w cache dłużej niż 24 godziny, więc zmiana zwykle działa w ciągu doby.

Jest haczyk z fetcherami uruchamianymi przez użytkownika. Kiedy człowiek prosi chatbota o otwarcie konkretnego URL-a, część dostawców traktuje to inaczej niż crawlowanie. Perplexity dokumentuje, że `Perplexity-User` co do zasady ignoruje `robots.txt`, bo pobranie zainicjował człowiek. Sprawdzaj aktualną stronę o botach u każdego dostawcy, zamiast zakładać, że reguły dla crawlerów przechodzą automatycznie.

Warto też wiedzieć, że duzi dostawcy dzielą boty według zadania, więc jedna grupa w `robots.txt` nie obejmuje całego ruchu danego dostawcy:

| Dostawca | Crawler treningowy | Crawler wyszukiwania / indeksu | Fetcher na żądanie użytkownika |
|---|---|---|---|
| OpenAI | `GPTBot` | `OAI-SearchBot` | `ChatGPT-User` |
| Anthropic | `ClaudeBot` | `Claude-SearchBot` | `Claude-User` |
| Perplexity | (brak osobnego) | `PerplexityBot` | `Perplexity-User` |
| Google | token `Google-Extended`, bez osobnego bota | `Googlebot` | nie dotyczy wyszukiwarki |

Dlatego "zablokuj AI" to trzy decyzje, a nie jedna. Zablokowanie `GPTBot` trzyma Cię z dala od danych treningowych OpenAI. Nie powstrzymuje `OAI-SearchBot` przed indeksowaniem Cię dla wyszukiwania w ChatGPT, a właśnie ten firma zwykle chce zachować.

`llms.txt` nie ma udokumentowanych czytelników wśród wielkiej czwórki. W moim [artykule o dowodach na llms.txt](https://piotrlitwa.com/articles/pl/czy-llms-txt-dziala.html) opisuję, co powiedział Google (że go nie używa) i co pokazują logi serwera (sporadyczne pobrania przez crawlery treningowe, prawie nic od fetcherów na żywo). Potwierdzeni czytelnicy to narzędzia deweloperskie, do których człowiek celowo wkleja URL.

## Egzekwowanie: żaden z plików nikogo nie zatrzyma

Ludzie traktują `robots.txt` jak zamek. To kartka na drzwiach.

RFC 9309 mówi wprost, że reguły "nie są formą autoryzacji dostępu". Crawler, który je ignoruje, nie trafia na żadną barierę techniczną, ryzykuje tylko reputację i, coraz częściej, problemy prawne. Cloudflare publicznie oskarżył w 2025 Perplexity o crawlowanie stron, które go zablokowały, przy użyciu niezadeklarowanych user agentów. Cokolwiek sądzisz o tym sporze, pokazuje on granicę: `robots.txt` działa na crawlery, które same chcą się stosować.

`llms.txt` egzekwuje jeszcze mniej, bo nawet nie próbuje. Niczego nie zablokuje ani na nic nie pozwoli.

Jeśli potrzebujesz prawdziwej blokady, rób ją tam, gdzie odpowiada się na żądania:

- **Reguły CDN albo WAF** dopasowujące user agenta i zweryfikowane zakresy IP (OpenAI publikuje zakresy dla swoich botów).
- **Kontrola crawlerów AI w Cloudflare**, która blokuje na brzegu sieci kodem `403`, niezależnie od tego, co mówi `robots.txt`.
- **Uwierzytelnianie** dla wszystkiego, co nie powinno być publiczne. Jeśli coś jest wrażliwe, linia `Disallow` tylko reklamuje tę ścieżkę.

## Jak na siebie wpływają (i błędy, które ciągle znajduję)

Dwie historie, obie z ostatniego roku.

**Ewa** prowadzi sklep z kosmetykami na Shopify, z Cloudflare z przodu. Spędziła dwa dni na budowaniu wersji markdown i starannego `llms.txt`, a potem zapytała mnie, dlaczego w cytowaniach AI nic się nie zmieniło.

Logi odpowiedziały w pięć minut: 1940 żądań od `GPTBot` w 30 dni, każde zakończone kodem `403`. Rok wcześniej deweloper włączył w Cloudflare blokowanie botów AI i o tym zapomniał.

Jej `robots.txt` mówił "zapraszamy". Brzeg sieci mówił "wynocha". `llms.txt` nie został dostarczony ani razu.

Naprawa to jeden przełącznik. Dwa dni pracy nad `llms.txt` nie poszły na marne, ale przez rok leżały za zamkniętymi drzwiami.

**Michał** prowadzi katalog części B2B z 6200 URL-ami produktów. Dodał grupę `User-agent: GPTBot` z `Disallow: /koszyk/` i założył, że jego dotychczasowe reguły dla `*`, blokujące `/admin-preview/`, dalej obowiązują. Nie obowiązywały.

Zgodnie z RFC 9309 crawler stosuje się do jednej, najbardziej szczegółowej grupy pasującej do jego nazwy, a resztę ignoruje. Dla `GPTBot` plik pozwalał teraz na wszystko poza koszykiem, łącznie z 340 stronami podglądu. Naprawa: skopiuj do nazwanej grupy każdą regułę, którą chcesz zachować.

Ogólne zasady interakcji:

1. **`robots.txt` jest sprawdzany pierwszy.** Jeśli `/llms.txt` jest zablokowany dla danego bota, posłuszny bot nigdy go nie przeczyta.

2. **Odblokowanie samego `/llms.txt` nie ma sensu.** `Disallow: /` plus `Allow: /llms.txt` pozwala botowi przeczytać listę lektur, a potem zabrania wejścia na każdą stronę z tej listy.

3. **Wpisanie zablokowanego URL-a do `llms.txt` niczego nie nadpisuje.** Blokada zostaje.

4. **Zablokowanie `Google-Extended` nie dotyka AI Overviews.** Te pochodzą z wyszukiwarki, crawlowanej przez `Googlebota`. Żeby się z nich wypisać, potrzebujesz kontroli w stylu `nosnippet`, które szkodzą też zwykłym wynikom.

Ten ostatni punkt to powód, dla którego uważałbym z szablonami "zablokuj całe AI" kopiowanymi z forów. Część z nich blokuje boty, które dają Ci widoczność w wyszukiwaniu, a przepuszcza te, które biorą tylko dane do treningu.

**Nie wiesz, które crawlery AI w ogóle docierają do Twoich stron?** [AI Visibility](https://aiv.piotrlitwa.com/?lang=pl) crawluje Twoją stronę tak jak LLM i pokazuje, co jest dostępne i czytelne, strona po stronie.

## llms.txt a robots.txt w skrócie

| | `robots.txt` | `llms.txt` |
|---|---|---|
| Cel | Ograniczyć, co pobierają crawlery | Wskazać, co warto przeczytać |
| Status | Standard internetowy, RFC 9309 (2022) | Propozycja z llmstxt.org (2024) |
| Lokalizacja | `/robots.txt`, osobno dla hosta i protokołu | `/llms.txt` w katalogu głównym domeny |
| Format | Linie `User-agent`, `Disallow`, `Allow` | Markdown: tytuł, podsumowanie, listy linków |
| Kierowanie do konkretnych botów | Tak, przez grupy user agentów | Nie |
| Czytany przez Google, OpenAI, Anthropic, Perplexity | Tak, wszyscy dokumentują zgodność | Brak publicznej deklaracji od kogokolwiek |
| Egzekwowanie | Dobrowolne stosowanie się | Żadne, to treść doradcza |
| Limit rozmiaru | Crawlery muszą sparsować co najmniej 500 KiB | Nieokreślony |
| Co, jeśli go brak | Wszystko jest dozwolone | Nic się nie zmienia |
| Czy może zaszkodzić | Tak, zły `Disallow` może wyciąć całe sekcje z indeksu | Praktycznie nie |

W ostatni wiersz bym się wpatrywał. `robots.txt` to plik, który z dnia na dzień może kosztować Cię ruch. `llms.txt` to ten, nad którym ludzie spędzają czas.

## Od którego zacząć

Powiem wprost: jeśli masz godzinę, poświęć 55 minut na `robots.txt` i 5 na `llms.txt`.

Oto kolejność, której używam, sprawdzając stronę klienta:

- Pobierz `/robots.txt` i przeczytaj każdą grupę. Szukaj nazwanych grup dla AI, które przypadkiem wyłączają Twoje reguły dla `*`.
- Sprawdź, czy w CDN albo WAF nie ma blokady botów AI sprzecznej z plikiem.
- Przeszukaj 30 dni logów pod kątem `GPTBot`, `OAI-SearchBot`, `ClaudeBot` i `PerplexityBot` i spójrz na kody odpowiedzi. Ściana `403` albo `429` znaczy, że problem nie leży w pliku.
- Zdecyduj dla każdego bota, czy chcesz crawlery treningowe, wyszukiwania, czy oba. To osobne user agenty nie bez powodu.
- Dopiero wtedy opublikuj albo zaktualizuj `llms.txt` i upewnij się, że każdy URL w nim jest dozwolony.

Podstawy, które naprawdę dają cytowania, czyli odpowiadanie od razu i sprawdzalne fakty, opisałem w [artykule o LLM SEO](https://piotrlitwa.com/articles/pl/llm-seo.html). Żaden plik tekstowy ich nie zastąpi.

## Najczęstsze pytania

**Jaka jest różnica między llms.txt a robots.txt?**
`robots.txt` mówi crawlerom, których ścieżek nie wolno im pobierać, i jest formalnym standardem (RFC 9309), którego trzymają się główne crawlery. `llms.txt` to lista lektur w markdown dla modeli językowych, propozycja, której żaden duży dostawca AI nie zobowiązał się czytać.

**Czy llms.txt zastępuje robots.txt?**
Nie. Robią co innego, a dla każdego posłusznego crawlera `robots.txt` ma pierwszeństwo. Jeśli bot jest tam zablokowany, nie przeczyta ani `llms.txt`, ani stron, które ten plik wymienia.

**Jak zablokować GPTBot w robots.txt?**
Dodaj grupę z `User-agent: GPTBot` i `Disallow: /`. Jeśli chcesz zachować widoczność w wyszukiwaniu ChatGPT, a wypisać się z treningu, zablokuj `GPTBot` i zostaw dostęp dla `OAI-SearchBot`, bo OpenAI dokumentuje je jako osobne crawlery.

**Czy zablokowanie Google-Extended usuwa mnie z AI Overviews?**
Nie. `Google-Extended` decyduje, czy Twoja treść jest używana do treningu i groundingu Gemini, a Google mówi, że nie wpływa to na wyszukiwarkę. AI Overviews są częścią wyszukiwarki i korzystają ze stron crawlowanych przez `Googlebota`.

**Czy robots.txt jest prawnie wiążący?**
To konwencja techniczna, a nie umowa, i RFC 9309 mówi, że reguły nie są autoryzacją dostępu. Niektóre jurysdykcje traktują maszynowo odczytywalne zastrzeżenia jako istotne przy eksploracji tekstów i danych (unijne prawo autorskie przewiduje takie zastrzeżenie), ale nie polegaj na samym pliku przy ochronie czegokolwiek wrażliwego.

**Czy mogę wpisać do llms.txt strony zablokowane w robots.txt?**
Możesz, ale nic to nie da. Posłuszne crawlery stosują się do `robots.txt` i tych URL-i nie pobiorą, więc trzymaj oba pliki w zgodzie.

## Co dalej

Otwórz teraz swój `/robots.txt` i przeczytaj go tak, jak zrobiłby to `GPTBot`: znajdź najbardziej szczegółową pasującą grupę, zignoruj resztę i zobacz, co zostało. Potem sprawdź, czy CDN nie ma blokady, która go przebija. To dziesięć minut i to ta część tematu, która naprawdę zmienia wyniki.

Potem opublikuj `llms.txt`, jeśli chcesz. Jest tani. Tylko nie oczekuj, że lista lektur otworzy drzwi, które zamknął Twój szlaban. Jeśli wolisz, żeby ktoś przejrzał z Tobą pliki, logi i reguły CDN, to jest [projekt indywidualny](https://piotrlitwa.com/services.html#custom).

---

**Źródła i dalsza lektura**
- [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309) (IETF)
- [Propozycja llms.txt](https://llmstxt.org/) (llmstxt.org)
- [Wprowadzenie do robots.txt](https://developers.google.com/search/docs/crawling-indexing/robots/intro) (Google Search Central)
- [Crawlery i user agenty OpenAI](https://platform.openai.com/docs/bots) (OpenAI)

---

*Written by [Piotr Litwa](https://piotrlitwa.com/about.html) - independent GTM & Analytics specialist.*
