Plik robots.txt – jak działa i jak go poprawnie skonfigurować
- 15 minut czytania
- Co to jest plik robots.txt i jak działa w SEO
- Definicja i lokalizacja pliku robots.txt
- Jak działa standard robots exclusion protocol
- Rola pliku robots.txt w pozycjonowaniu
- Czego plik robots.txt nie robi (częste mity)
- Budowa i składnia pliku robots.txt – najważniejsze dyrektywy
- Podstawowe dyrektywy: User-agent, Disallow, Allow
- Rozszerzone dyrektywy: Sitemap, Crawl-delay, Clean-param
- Wzorce ścieżek, gwiazdki i znaki końca ($)
- Przykładowe konfiguracje robots.txt dla różnych typów stron
- Jak poprawnie skonfigurować plik robots.txt krok po kroku
- Krok 1: Analiza struktury serwisu i celów SEO
- Krok 2: Decyzja, co blokować w robots.txt, a co regulować meta tagami
- Krok 3: Przygotowanie i edycja pliku robots.txt
- Krok 4: Testowanie pliku robots.txt i monitorowanie efektów
- Najczęstsze błędy w robots.txt i dobre praktyki dla SEO
- Błąd 1: Zablokowanie całej witryny (Disallow: /)
- Błąd 2: Blokowanie zasobów CSS i JS kluczowych dla renderowania
- Błąd 3: Używanie robots.txt do ukrywania wrażliwych danych
- Błąd 4: Konflikt robots.txt z meta robots i strategią indeksacji
Plik robots.txt to jeden z najprostszych, a jednocześnie najczęściej źle rozumianych elementów technicznego SEO. Choć ma zaledwie kilka linijek tekstu, może realnie wpływać na to, jak roboty wyszukiwarek przeglądają Twoją stronę, ile zasobów marnuje się na nieistotne podstrony i czy ważne treści w ogóle trafiają do indeksu Google. W tym poradniku krok po kroku wyjaśniam, czym jest plik robots.txt, jak działa, jak go poprawnie skonfigurować i jakich błędów koniecznie unikać.
Co to jest plik robots.txt i jak działa w SEO
Plik robots.txt to prosty plik tekstowy umieszczony w katalogu głównym domeny, który zawiera wytyczne (tzw. dyrektywy) dla robotów indeksujących, takich jak Googlebot czy Bingbot. Jego podstawowym zadaniem jest informowanie, które części serwisu mogą być crawl’owane (przeszukiwane) przez boty wyszukiwarek, a które powinny zostać pominięte. To element technicznego SEO, który pomaga zarządzać tzw. budżetem indeksowania i chronić wrażliwe lub nieistotne dla użytkownika zasoby przed niepotrzebnym skanowaniem.
Definicja i lokalizacja pliku robots.txt
Standardowo plik robots.txt znajduje się pod adresem:
https://twojadomena.pl/robots.txt
Roboty wyszukiwarek, rozpoczynając pracę na stronie, niemal zawsze w pierwszej kolejności próbują pobrać ten plik. Jeśli go znajdą, odczytują zawarte w nim reguły i stosują je (w różnym stopniu – zależnie od wyszukiwarki) podczas dalszego przeszukiwania serwisu.
Najważniejsze cechy pliku robots.txt:
- jest to zwykły plik tekstowy (kodowanie UTF-8 bez BOM),
- musi znajdować się w katalogu głównym domeny, aby obowiązywał dla całej witryny,
- reguły w robots.txt nie wymagają instalacji ani konfiguracji po stronie serwera – to po prostu plik dostępny przez HTTP,
- jego brak oznacza dla botów pełną otwartość serwisu (oczywiście z uwzględnieniem innych ograniczeń, np. tagów meta robots).
Jak działa standard robots exclusion protocol
Plik robots.txt opiera się na tzw. robots exclusion protocol, czyli prostym standardzie określającym, w jaki sposób roboty wyszukiwarek mają interpretować dyrektywy zapisane w tym pliku. Najczęściej używane instrukcje to:
- User-agent – wskazuje, do jakiego robota odnoszą się poniższe zasady (np. Googlebot, Bingbot). Gwiazdka
*oznacza wszystkie boty. - Disallow – określa, jakich ścieżek URL dany bot nie powinien przeszukiwać (crawlować).
- Allow – wskazuje wyjątki od blokad Disallow, czyli adresy, które mimo blokady nadrzędnego katalogu można crawlować.
- Sitemap – podaje lokalizację mapy strony XML, ułatwiając robotom dotarcie do wszystkich ważnych adresów URL.
Przykładowa, bardzo prosta konfiguracja wygląda tak:
User-agent: *
Disallow: /admin/
Allow: /admin/assets/
Sitemap: https://twojadomena.pl/sitemap.xml
W tym przykładzie wszystkie boty mają zakaz wchodzenia do katalogu /admin/, ale mogą odwiedzić katalog /admin/assets/, w którym mogą znajdować się np. publicznie dostępne pliki graficzne lub skrypty niezbędne do prawidłowego działania strony.
Rola pliku robots.txt w pozycjonowaniu
Z punktu widzenia SEO plik robots.txt pełni kilka kluczowych funkcji:
- Kontrola budżetu indeksowania – każdy serwis ma ograniczony budżet crawl, czyli zasób czasu i mocy obliczeniowej, który boty są skłonne poświęcić na przeszukiwanie strony. Blokując strony mało istotne lub powielone, pomagamy botom skupić się na treściach wartościowych.
- Ograniczanie dostępu do niepublicznych zasobów – choć robots.txt nie jest narzędziem bezpieczeństwa, pozwala zniechęcić roboty do odwiedzania katalogów zaplecza, panelu administracyjnego czy plików konfiguracyjnych.
- Poprawa jakości indeksu – dzięki przemyślanej konfiguracji ograniczamy w indeksie Google nadmiarowe, techniczne lub niskiej jakości podstrony, co pośrednio pomaga w poprawie widoczności najważniejszych adresów.
- Wspomaganie analizy logów serwera – świadome zarządzanie dostępnością ścieżek ułatwia później analizę zachowania botów w logach serwera i optymalizację crawl budgetu.
Czego plik robots.txt nie robi (częste mity)
Jednym z częstszych błędnych przekonań jest sądzenie, że plik robots.txt służy do „blokowania indeksowania” lub „ukrywania” treści przed Google. W rzeczywistości:
- robots.txt nie gwarantuje, że strona nie pojawi się w wynikach wyszukiwania – jeśli inne witryny linkują do Twojej zablokowanej podstrony, Google może ją zaindeksować na podstawie tych linków (bez odczytania zawartości).
- robots.txt nie zastępuje zabezpieczeń – nie używaj go do ochrony wrażliwych danych (paneli logowania, plików z danymi, kopii zapasowych). Do tego służą np. autoryzacja HTTP, hasła czy konfiguracja serwera.
- robots.txt dotyczy wyłącznie crawl’owania (przeszukiwania), a nie indeksowania – do zarządzania indeksowaniem służą głównie meta tagi (np.
<meta name="robots" content="noindex">) lub nagłówki HTTP X-Robots-Tag.
Zrozumienie tej różnicy jest fundamentem poprawnej konfiguracji. Błędne użycie pliku robots.txt może prowadzić do sytuacji, w której ważne strony są widoczne w Google, ale bez opisu (brak title/description), albo przeciwnie – kluczowe treści w ogóle nie są przeszukiwane przez roboty.
Budowa i składnia pliku robots.txt – najważniejsze dyrektywy
Aby poprawnie skonfigurować plik robots.txt, trzeba rozumieć podstawową składnię, kolejność reguł oraz sposób, w jaki różne wyszukiwarki interpretują poszczególne dyrektywy. Choć sam plik jest mały i prosty, błędy w zapisie mogą mieć ogromne konsekwencje dla widoczności strony.
Podstawowe dyrektywy: User-agent, Disallow, Allow
Trzon pliku robots.txt stanowią trzy dyrektywy: User-agent, Disallow i Allow.
- User-agent – określa, do którego robota odnoszą się poniższe reguły. Najczęściej stosuje się:
User-agent: *– dotyczy wszystkich botów,User-agent: Googlebot– tylko główny bot Google,User-agent: Googlebot-Image– bot indeksujący obrazy,User-agent: Bingbot– bot wyszukiwarki Bing.
- Disallow – ścieżka względna (od korzenia domeny), której dany bot nie powinien odwiedzać. Pusta wartość oznacza brak ograniczeń:
Disallow: /– blokada całej witryny,Disallow: /koszyk/– blokada katalogu z koszykiem.
- Allow – pozwala na dostęp do konkretnych adresów lub katalogów, nawet jeśli wyżej jest zdefiniowana ogólna blokada:
Disallow: /blog/+Allow: /blog/kategoria/seo/
Ważna zasada: w Google przy sprzecznych regułach stosowana jest zwykle reguła „najbardziej szczegółowa” (najdłuższe dopasowanie ścieżki). Oznacza to, że precyzyjne Allow może „przebić” ogólne Disallow.
Rozszerzone dyrektywy: Sitemap, Crawl-delay, Clean-param
Oprócz podstawowych reguł w pliku robots.txt możesz umieścić także inne, mniej oczywiste dyrektywy, które wpływają na sposób pracy botów:
- Sitemap – informacja o lokalizacji mapy strony XML:
Sitemap: https://twojadomena.pl/sitemap.xml Sitemap: https://twojadomena.pl/sitemap-index.xmlGoogle rekomenduje umieszczanie adresów map witryny w robots.txt, co ułatwia szybkie odnalezienie wszystkich ważnych podstron.
- Crawl-delay – sugeruje przerwę (w sekundach) między kolejnymi żądaniami bota. Uwaga: Google ignoruje tę dyrektywę, korzystając zamiast tego z własnych mechanizmów regulacji tempa crawl’owania. Może być jednak respektowana przez inne wyszukiwarki:
User-agent: Bingbot
Crawl-delay: 5
- Clean-param – niestandardowa dyrektywa (stosowana m.in. przez Yandex), służąca do wskazywania parametrów URL, które powinny być ignorowane w procesie indeksacji. Google jej nie wykorzystuje, więc nie należy na niej opierać strategii SEO.
Wzorce ścieżek, gwiazdki i znaki końca ($)
Roboty, zwłaszcza Googlebot, obsługują w pliku robots.txt proste wzorce, które pozwalają na dopasowanie wielu adresów jednocześnie:
- Gwiazdka * – oznacza dowolny ciąg znaków:
Disallow: /*?sort=– blokuje URL-e z parametrem?sort=, niezależnie od ścieżki,Disallow: /szukaj/*– blokuje wszystkie adresy zaczynające się od/szukaj/.
- Symbol końca ścieżki $ – wskazuje koniec adresu:
Disallow: /*.pdf$– blokuje wyłącznie adresy kończące się na.pdf,Disallow: /tag/$– blokuje dokładnie/tag/, ale nie np./tag/nazwa/.
W praktyce pozwala to precyzyjnie określać, które typy stron (np. filtry, wyniki wyszukiwania, parametry URL) powinny zostać wyłączone z crawl’owania. Należy jednak uważać, aby zbyt agresywne użycie wzorców nie doprowadziło do przypadkowego zablokowania ważnych adresów.
Przykładowe konfiguracje robots.txt dla różnych typów stron
Poniżej kilka przykładowych układów, które często pojawiają się na stronach komercyjnych i blogach.
Sklep internetowy (e-commerce) – ograniczenie crawl’owania wyników wyszukiwania, filtrów i koszyków:
User-agent: *
Disallow: /koszyk/
Disallow: /konto/
Disallow: /logowanie/
Disallow: /szukaj/
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?filters=
Disallow: /*&filters=
Allow: /szukaj/podpowiedzi/
Sitemap: https://sklep.pl/sitemap.xml
Blog / serwis contentowy – blokada stron systemowych i archiwów, które mogą generować duplikację treści:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /author/
Disallow: /tag/
Sitemap: https://blog.pl/sitemap_index.xml
W każdym przypadku reguły powinny być dopasowane do struktury konkretnej strony – kopiowanie gotowych przykładów bez analizy może przynieść więcej szkody niż pożytku.
Jak poprawnie skonfigurować plik robots.txt krok po kroku
Poprawna konfiguracja robots.txt wymaga połączenia wiedzy technicznej, znajomości struktury witryny oraz zrozumienia, jak działa algorytm Google w zakresie crawl’owania i indeksowania. Poniżej znajdziesz praktyczny proces, który możesz zastosować przy tworzeniu lub modyfikacji pliku.
Krok 1: Analiza struktury serwisu i celów SEO
Zanim cokolwiek zmienisz w robots.txt, musisz dobrze poznać strukturę własnej strony i jasno określić, które sekcje są kluczowe dla ruchu organicznego, a które mogą obciążać budżet indeksowania.
Zadaj sobie pytania:
- Jakie typy podstron generuje CMS lub sklep (kategorie, produkty, tagi, archiwa, wyniki wyszukiwania, filtry)?
- Które z nich chcesz pozycjonować (ważne landing pages, artykuły, kategorie, strony ofertowe)?
- Czy w serwisie występuje duża liczba stron technicznych lub zduplikowanych, które lepiej ograniczyć (np. różne warianty produktów, parametry sortowania, strony paginacji)?
Na tym etapie pomocna może być mapa serwisu, audyt SEO lub analiza w narzędziach typu Google Search Console, Screaming Frog czy Sitebulb. Celem jest zbudowanie listy sekcji, które powinny być w pełni dostępne dla botów, oraz tych, które możesz częściowo lub całkowicie zablokować.
Krok 2: Decyzja, co blokować w robots.txt, a co regulować meta tagami
Kluczowe jest rozróżnienie między „nie chcę, żeby robot odwiedzał tę stronę” a „nie chcę, żeby ta strona była w indeksie”. To dwie różne rzeczy, które wymagają różnych narzędzi.
- robots.txt – gdy chcesz ograniczyć crawl’owanie:
- strony wewnętrznego wyszukiwania (np.
/szukaj/), - koszyk, proces zamówienia, panel użytkownika, logowanie,
- panele administracyjne, zasoby systemowe, pliki tymczasowe,
- niektóre katalogi z zasobami technicznymi, których nie muszą widzieć boty.
- strony wewnętrznego wyszukiwania (np.
- meta robots / nagłówek X-Robots-Tag – gdy chcesz wyłączyć stronę z indeksu (ale nadal pozwalasz na jej odwiedzanie przez bota):
- strony duplikujące treść (np. sortowania, filtry, paginacja),
- strony polityki prywatności, regulaminy (jeśli nie są celem SEO),
- archiwa dat, tagi, autorzy w CMS-ach typu WordPress (w zależności od strategii).
Jeśli w robots.txt zablokujesz dostęp do strony, na której jednocześnie ustawisz noindex, Google nie będzie mógł odczytać meta tagu. To częsty błąd: najpierw pozwól robotowi wejść na stronę (brak blokady w robots.txt), a dopiero potem steruj indeksacją przez meta robots.
Krok 3: Przygotowanie i edycja pliku robots.txt
Gdy wiesz już, które sekcje chcesz ograniczyć, możesz przystąpić do tworzenia lub modyfikacji pliku. W praktyce wygląda to następująco:
- Utwórz plik tekstowy o nazwie
robots.txtw edytorze tekstu (np. Notepad++, VS Code). Upewnij się, że jest zapisany w UTF-8 bez BOM. - Dodaj domyślną sekcję dla wszystkich botów:
User-agent: * Disallow: Sitemap: https://twojadomena.pl/sitemap.xmlPusta dyrektywa Disallow oznacza brak ogólnych ograniczeń.
- Dodaj blokady dla niepożądanych sekcji, np.:
Disallow: /koszyk/ Disallow: /logowanie/ Disallow: /konto/ Disallow: /wp-admin/ - Dodaj ewentualne wyjątki Allow, jeśli część zablokowanego katalogu musi być dostępna dla botów (np. zasoby JS/CSS niezbędne do renderowania strony):
Allow: /wp-admin/admin-ajax.php
- Dodaj dyrektywy dla konkretnych botów (opcjonalnie), np. dla narzędzi do monitoringu, ale zwykle wystarcza sekcja ogólna z
*. - Zapisz i umieść plik w katalogu głównym serwera, tak aby był dostępny pod adresem
/robots.txtdla każdej wersji domeny (z www i bez www, jeśli są rozdzielone).
Krok 4: Testowanie pliku robots.txt i monitorowanie efektów
Po wdrożeniu pliku trzeba go koniecznie przetestować. W tym celu:
- Skorzystaj z narzędzia „Tester pliku robots.txt” w Google Search Console (w sekcji starszych narzędzi) dla danej usługi, aby sprawdzić, czy konkretne URL-e są uznawane za dozwolone czy zablokowane.
- Przetestuj ręcznie kluczowe adresy: skopiuj ich ścieżkę i sprawdź, jak interpreter robots.txt ocenia ich status.
- Obserwuj w Google Search Console raporty:
- „Strony” (indeksowanie) – czy liczba zaindeksowanych stron nie spada niepokojąco po zmianie robots.txt,
- „Statystyki indeksowania” – jak zmienia się liczba skanowanych stron dziennie (crawl),
- „Problemy z indeksowaniem” – czy pojawiają się komunikaty o blokadzie przez robots.txt dla ważnych adresów.
Pamiętaj, że zmiany w robots.txt nie działają wstecz – robot musi ponownie odwiedzić stronę, aby zastosować nowe reguły. Na propagację zmian w dużych serwisach może być potrzebnych od kilku godzin do kilku dni.
Najczęstsze błędy w robots.txt i dobre praktyki dla SEO
Plik robots.txt jest prosty, ale bardzo „czuły na błędy”. Jedna linijka może wyłączyć całą witrynę z crawl’owania lub utrudnić robotom dostęp do zasobów niezbędnych do renderowania strony. Dlatego warto poznać najczęstsze błędy i przyjąć zestaw dobrych praktyk, które zminimalizują ryzyko poważnych problemów z widocznością.
Błąd 1: Zablokowanie całej witryny (Disallow: /)
Jednym z najgroźniejszych i niestety często spotykanych błędów jest pozostawienie w robots.txt wpisu:
User-agent: *
Disallow: /
Taka konfiguracja blokuje wszystkie ścieżki w serwisie dla wszystkich botów. Często stosuje się ją na etapie developmentu lub testów, aby robots nie indeksowały wersji testowych. Problem pojawia się wtedy, gdy witryna wchodzi na produkcję, a blokada pozostaje. Efektem może być gwałtowny spadek widoczności i ruchu organicznego.
Dobra praktyka: zawsze przed publikacją nowej wersji serwisu sprawdź zawartość pliku robots.txt i upewnij się, że nie blokujesz całej domeny. W procesie wdrożeniowym warto wprowadzić checklistę techniczną, która obejmuje weryfikację robots.txt.
Błąd 2: Blokowanie zasobów CSS i JS kluczowych dla renderowania
Algorytm Google w coraz większym stopniu analizuje strony tak, jak widzi je użytkownik – wraz ze wszystkimi zasobami CSS, JavaScript i obrazami. Jeśli w robots.txt zablokujesz katalog, w którym znajdują się te pliki (np. /wp-includes/, /assets/), robot może nie być w stanie poprawnie wyrenderować strony, co negatywnie wpływa na ocenę jakości i użyteczności (UX).
Dobra praktyka:
- Nie blokuj ogólnych katalogów z zasobami typu
/wp-content/,/assets/,/static/, jeśli znajdują się tam pliki niezbędne do działania strony. - W razie potrzeby blokuj tylko konkretne ścieżki lub typy plików, a nie całe drzewo katalogów.
- Skorzystaj z narzędzia „Pobierz jak Google” (lub „Inspekcja adresu URL”) w Google Search Console, aby sprawdzić, czy robot może pobrać wszystkie kluczowe zasoby.
Błąd 3: Używanie robots.txt do ukrywania wrażliwych danych
Wielu administratorów traktuje robots.txt jak narzędzie do „ukrywania” sekcji serwisu – np. katalogów z danymi, backupów czy plikami konfiguracyjnymi. To poważne nieporozumienie, ponieważ:
- robots.txt jest publicznie dostępny – każdy może go odczytać, w tym potencjalny atakujący,
- wskazanie wrażliwych katalogów w robots.txt może wręcz zwrócić na nie uwagę,
- blokada w robots.txt nie uniemożliwia bezpośredniego wejścia na adres – wystarczy znać URL.
Dobra praktyka: do ochrony poufnych zasobów używaj autoryzacji, konfiguracji serwera (np. .htaccess, reguły serwera WWW) i odpowiednich uprawnień, a nie pliku robots.txt. Robots.txt służy do zarządzania crawl’owaniem pod kątem SEO, a nie do zabezpieczeń.
Błąd 4: Konflikt robots.txt z meta robots i strategią indeksacji
Często spotykaną sytuacją jest chęć zmniejszenia liczby „śmieciowych” stron w indeksie Google. Właściciele serwisów dodają więc jednocześnie:
- blokadę w robots.txt dla wybranej sekcji, oraz
- tag
noindexna tych samych stronach.
Problem polega na tym, że Google nie będzie mógł odczytać meta tagu na stronie, do której dostęp jest zablokowany przez robots.txt. W efekcie strona może pozostać w indeksie (na podstawie linków), ale bot nie zobaczy instrukcji „noindex”.
Dobra praktyka:
- Jeśli chcesz, by strona została usunieta z indeksu – nie blokuj jej w robots.txt, ale ustaw
noindexi poczekaj na ponowne odwiedzenie przez bota. - Dopiero gdy strona zostanie usunięta z indeksu, możesz ewentualnie rozważyć ograniczenie jej crawl’owania przez robots.txt, jeśli jest to faktycznie potrzebne.
Spójna strategia indeksowania wymaga zgrania robots.txt, meta robots, map witryny i struktury linków wewnętrznych – dopiero razem tworzą one logiczny system zarządzania widocznością poszczególnych typów podstron.