Kamil Rybicki · Opublikowano: · Zaktualizowano:
Robots.txt to zwykły plik tekstowy, który mówi robotom wyszukiwarek, które adresy w domenie mogą odwiedzić, a których nie warto odpytywać. Musi leżeć dokładnie pod adresem domena.pl/robots.txt, bo to pierwsze miejsce, jakie sprawdza robot Google, zanim wejdzie na jakąkolwiek inną podstronę serwisu. Sam plik nie ukrywa treści przed użytkownikiem ani niczego nie zabezpiecza hasłem, bo działa tylko na te crawlery, które chcą się do jego reguł stosować.
Co to jest robots.txt i do czego dokładnie służy?
Plik opiera się na Robots Exclusion Protocol, standardzie stosowanym przez wyszukiwarki od 1994 roku. Od 2022 roku reguły te mają też status formalnego standardu internetowego, opisanego w dokumencie RFC 9309, choć w praktyce największe wyszukiwarki przestrzegały ich dużo wcześniej. Plik musi znajdować się w katalogu głównym domeny, a nie w podkatalogu, bo robot sprawdza wyłącznie ten jeden, ściśle określony adres.
Zastosowanie jest praktyczne, nie kosmetyczne. Plik ogranicza liczbę adresów, które robot musi odpytać, żeby dotrzeć do treści wartej zaindeksowania. Dotyczy to głównie sekcji bez wartości informacyjnej dla wyszukiwarki: wyników wewnętrznej wyszukiwarki, koszyka, panelu logowania czy adresów generowanych przez filtry i sortowania w ofercie. Im mniej czasu robot spędza na takich adresach, tym szybciej trafia do podstron, które faktycznie mają szansę wygenerować ruch.
User-agent, disallow, allow i sitemap: co oznaczają te polecenia?
Cztery polecenia wystarczą, żeby zbudować sensowny plik. Poniższa tabela pokazuje, co każde z nich robi i jak zachowuje się w praktyce.
| Polecenie | Co robi | Przykład | Efekt |
|---|---|---|---|
| User-agent | Wskazuje robota, którego dotyczą kolejne reguły, aż do następnego User-agent | User-agent: * | Gwiazdka obejmuje wszystkie roboty bez osobnej sekcji |
| Disallow | Blokuje adresy zaczynające się od podanego ciągu znaków | Disallow: /koszyk | Blokuje /koszyk, /koszyk/produkt i każdy inny adres z tym przedrostkiem |
| Allow | Robi wyjątek od wcześniejszego Disallow | Allow: /koszyk/regulamin | Ten jeden adres zostaje dostępny mimo blokady katalogu /koszyk |
| Sitemap | Wskazuje pełny adres mapy strony | Sitemap: https://domena.pl/sitemap.xml | Przyspiesza odnalezienie nowych adresów, nie zastępuje zgłoszenia mapy w Search Console |
| Noindex (nieoficjalne) | Miało sugerować wykluczenie adresu z indeksu | Noindex: /stara-promocja | Google dziś tego nie respektuje w robots.txt |
Zapis User-agent: * Disallow: / Allow: /index łączy dwie reguły, które trzeba czytać razem. Disallow: / blokuje całą domenę, bo sam ukośnik odpowiada każdemu adresowi w serwisie. Allow: /index robi od tego wyjątek, ale tylko dla adresów zaczynających się od ciągu „index", czyli na przykład /index.html czy /index-firmy, a nie dla reszty witryny. Taki zestaw reguł zwykle oznacza stronę w budowie albo środowisko testowe, które ma zostać niewidoczne dla wyszukiwarki poza jedną furtką.
Różnica między Allow i Disallow sprowadza się do kierunku decyzji. Disallow domyślnie zamyka dostęp, Allow domyślnie go otwiera, a o wyniku końcowym decyduje reguła najbardziej szczegółowa, czyli najdłuższy pasujący ciąg znaków, nie kolejność zapisu w pliku.
Jak stworzyć plik robots.txt i czego unikać przy wdrożeniu?
Stworzenie pliku nie wymaga programowania. Wystarczy zwykły plik tekstowy z regułami, umieszczony na serwerze w katalogu głównym domeny. Większość systemów zarządzania treścią, w tym WordPress, generuje dziś domyślny plik automatycznie, a wtyczki SEO pozwalają edytować jego treść bezpośrednio z panelu administracyjnego, bez dotykania serwera. Trzeba jednak pamiętać, że aktualizacja wtyczki albo zmiana motywu potrafi nadpisać wcześniej wprowadzone reguły.
Najkosztowniejszy błąd to przeniesienie na produkcję pliku ze środowiska testowego, w którym cała domena jest zablokowana regułą Disallow: /. Taka pomyłka nie daje żadnego natychmiastowego sygnału ostrzegawczego, więc bywa niezauważona tygodniami. W tym czasie Google przestaje odwiedzać serwis, a już zaindeksowane podstrony zaczynają tracić widoczność, co oznacza realny spadek zapytań i sprzedaży z kanału organicznego aż do momentu, gdy ktoś zauważy anomalię w Search Console i cofnie zmianę.
Zastosowanie robots.txt w SEO: crawl budget, filtry i duplikaty
Najczęstsze zastosowanie dotyczy adresów, które powielają tę samą treść w wielu wariantach, na przykład podstron kategorii sortowanych po cenie. Adresy podawane w Disallow traktowane są jako przedrostek: „/kategoria" blokuje też /kategoria/produkt i /kategoria12345, a wewnątrz adresu można użyć gwiazdki jako symbolu dowolnego ciągu znaków. Jeśli kategorie filtrowane są parametrem price, wystarczy:
Disallow: /*price
Z takiego wykluczenia można wyprowadzić wyjątek:
Disallow: /*price
Allow: /*price=lowest
Powyższe reguły zablokują adresy w rodzaju /kategoria?price=highest, a jednocześnie zostawią dostęp do /kategoria?price=lowest. Do tego samego celu, czyli konsolidacji duplikatów, służy też znacznik canonical, który działa inaczej niż robots.txt: nie blokuje odwiedzin, tylko wskazuje, który adres ma zostać potraktowany jako główny w indeksie, co dokumentacja Google Search Central opisuje jako osobny mechanizm od kontroli dostępu.
Skala, przy której to ma znaczenie, zależy od wielkości serwisu. Na stronie z dwudziestoma podstronami crawl budget nigdy nie jest wąskim gardłem. W sklepie z tysiącami produktów i filtrami generującymi dziesiątki tysięcy wariantów adresów robot ma ograniczoną pulę uwagi na daną domenę, a każdy dzień, w którym zamiast nowego produktu odpytuje kolejny wariant sortowania, to dzień opóźnienia w indeksacji strony, która mogłaby przynieść pierwszą sprzedaż.
Robots.txt a meta robots i noindex: gdzie kończy się jedno, a zaczyna drugie
Kolejność sprawdzania jest zawsze taka sama. Robot najpierw czyta robots.txt i dopiero jeśli dostęp jest dozwolony, wchodzi na stronę i odczytuje jej kod, w tym ewentualny znacznik meta robots. Jeśli adres jest zablokowany w robots.txt, znacznik noindex w kodzie tej strony nigdy nie zostanie odczytany, bo robot w ogóle tam nie trafi.
To rodzi częstą pomyłkę przy próbie usunięcia adresu z indeksu. Zablokowanie już zaindeksowanego adresu w robots.txt nie usuwa go z wyników, tylko zmienia wygląd wpisu na sam adres bez opisu, bo Google nie ma już dostępu do treści, którą wcześniej znał. Żeby faktycznie usunąć adres z indeksu, trzeba zrobić odwrotnie: zostawić go dostępnym dla robota i dodać znacznik meta robots z wartością noindex, a dopiero po jego odczytaniu i przetworzeniu adres zniknie z wyników wyszukiwania.
Jak zablokować wszystkie boty poza Googlebotem (i botami AI)?
Wstawianie długich list wykluczających poszczególne narzędzia (Ahrefs, Majestic i podobne) nie jest potrzebne. Jeśli celem jest ograniczenie ruchu wszystkich botów poza wyszukiwarką Google, wystarczy:
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /
Warto zwrócić uwagę na sam token: prawidłowa nazwa robota Google to Googlebot, nie samo „Google", inaczej reguła nie zadziała zgodnie z zamierzeniem.
Lista botów, które warto dziś rozważyć osobno, wygląda inaczej niż jeszcze kilka lat temu. Obok klasycznych robotów wyszukiwarek działają boty pobierające treści na potrzeby modeli językowych.
| Bot | Firma | Cel działania |
|---|---|---|
| GPTBot | OpenAI | Pobieranie treści do trenowania modeli |
| Google-Extended | Wykorzystanie treści przez modele Gemini i funkcje AI, niezależnie od Googlebota odpowiadającego za wyszukiwarkę | |
| ClaudeBot | Anthropic | Pobieranie treści do trenowania modeli |
| CCBot | Common Crawl | Ogólnodostępne archiwum treści wykorzystywane przez wiele firm AI |
| PerplexityBot | Perplexity | Zasilanie odpowiedzi wyszukiwarki opartej na AI |
| Applebot-Extended | Apple | Trenowanie modeli Apple, osobno od Applebota obsługującego Siri i wyszukiwanie na urządzeniach |
Zablokowanie Google-Extended nie wpływa na obecność witryny w klasycznych wynikach wyszukiwania Google, bo to osobny token od Googlebota. Decyzja o blokowaniu pozostałych botów AI jest decyzją biznesową, nie tylko techniczną: zamknięcie dostępu chroni treść przed wykorzystaniem w trenowaniu modeli, ale jednocześnie wyklucza szansę, że ta sama treść zostanie zacytowana w odpowiedzi generowanej przez asystenta AI, a to bywa dziś realnym źródłem rozpoznawalności marki, zanim ktoś w ogóle otworzy wyszukiwarkę. Firma sprzedająca produkt fizyczny z jasną ceną traci na tym mniej niż serwis, którego przewagą jest unikalna, kosztowna w produkcji treść ekspercka. Dokumentacja Google Search Central opisuje kontrolę nad obecnością treści w funkcjach opartych na AI głównie przez znaczniki meta robots, a nie osobne reguły w robots.txt, więc oba mechanizmy trzeba traktować jako uzupełniające się, nie zamienne. Serwisy branżowe regularnie opisują kolejne przypadki, w których duże witryny zmieniają zdanie w tej sprawie w obie strony.
Ograniczenia robots.txt: czego plik nie zagwarantuje
Nie każdy robot stosuje się do reguł zapisanych w pliku. Skrobaki konkurencji i część botów działających poza standardem po prostu je ignorują, więc blokowanie dostępu do czegokolwiek naprawdę wrażliwego, jak cennik dostępny tylko po zalogowaniu czy panel administracyjny, warto wesprzeć dodatkowymi metodami: hasłem, przekierowaniem albo blokadą po adresie IP. Dane Wordfence pokazują, że automatyczny ruch botów skanujących podatności trafia na strony oparte na popularnych systemach zarządzania treścią niezależnie od tego, co zapisano w robots.txt.
Koszt polegania wyłącznie na tym pliku ujawnia się nie w statystykach SEO, tylko gdzie indziej: w danych zeskrobanych przez konkurencję albo w incydencie bezpieczeństwa, którego robots.txt nigdy nie miał ambicji powstrzymać.
Jak sprawdzić, czy robots.txt działa poprawnie?
Kontrolę pliku umożliwia dziś raport robots.txt dostępny w ustawieniach Google Search Console, po dodaniu i zweryfikowaniu domeny. Pokazuje on, kiedy Google ostatnio pobrał plik i czy udało się go poprawnie odczytać. Do sprawdzenia pojedynczego adresu służy narzędzie do sprawdzania adresu URL w tym samym panelu, które wskazuje wprost, czy dany URL jest blokowany, a jeśli tak, to którą regułą.
Sprawdzenie pliku zajmuje kilka minut. Niezauważona pomyłka w regułach potrafi kosztować tygodnie ograniczonej widoczności, zanim ktoś skojarzy spadek wyświetleń w Search Console z treścią robots.txt, a nie z algorytmem czy konkurencją.
Najczęściej zadawane pytania
Co to jest plik robots.txt?
To plik tekstowy w katalogu głównym domeny, który wskazuje robotom wyszukiwarek, do których adresów mają dostęp, a które mają pominąć. Nie chroni danych ani nie usuwa stron z indeksu, tylko steruje tym, co robot w ogóle odwiedzi.
Jaka jest różnica między Allow i Disallow w robots.txt?
Disallow domyślnie blokuje dostęp do adresów zaczynających się od podanego ciągu znaków, a Allow robi od tego wyjątek. O ostatecznym efekcie decyduje najbardziej szczegółowa, czyli najdłuższa pasująca reguła, nie kolejność, w jakiej zapisano polecenia w pliku.
Czy zablokowanie adresu w robots.txt usuwa go z wyników Google?
Nie. Jeśli adres był już zaindeksowany, blokada w robots.txt zmienia jedynie wygląd wpisu na sam URL bez opisu, bo Google traci dostęp do treści strony. Żeby usunąć adres z indeksu, trzeba zostawić go dostępnym i oznaczyć znacznikiem meta robots z wartością noindex.
Jak zablokować w robots.txt wszystkie boty oprócz Googlebota?
Wystarczą cztery linijki: User-agent: Googlebot z pustym Disallow, a następnie User-agent: * z Disallow: /. Ważne, żeby użyć poprawnego tokenu Googlebot, a nie samej nazwy firmy, inaczej reguła nie zadziała.
Czy robots.txt blokuje też boty AI, takie jak GPTBot czy ClaudeBot?
Tak, pod warunkiem że w pliku wpisana jest osobna reguła dla ich konkretnego tokenu, na przykład User-agent: GPTBot z Disallow: /. Boty AI trenujące modele, jak GPTBot czy ClaudeBot, to inne, niezależne tokeny od klasycznego Googlebota odpowiadającego za widoczność w wyszukiwarce.



