Wyobraź sobie, że Twoja strona internetowa to wielki, wielopiętrowy budynek biurowy. Codziennie odwiedzają go setki gości, ale od czasu do czasu pojawiają się w nim specyficzni kurierzy i audytorzy – roboty wyszukiwarek (takie jak Googlebot). Chcą wejść do każdego pokoju, przejrzeć dokumenty i spisać raport.
O ile chcesz, aby zobaczyli pokoje konferencyjne i recepcję (czyli Twoje strony ofertowe i wpisy blogowe), o tyle wolebyś, żeby nie zaglądali do serwerowni, archiwum z fakturami czy prywatnego gabinetu dyrektora (czyli panelu administratora, skryptów systemowych czy koszyka zakupowego).
Plik robots.txt to właśnie taka tablica informacyjna postawiona na samym wejściu do budynku. Mówi robotom: „Do tych pokoi możecie wchodzić śmiało, ale tamte korytarze omijajcie z daleka”.
Dla technicznego SEO robots.txt to jeden z najważniejszych plików na serwerze. Jeden mały błąd w jego konfiguracji może sprawić, że Twoja strona z dnia na dzień całkowicie zniknie z wyników wyszukiwania Google. Z tego przewodnika dowiesz się, jak go poprawnie napisać, zrozumieć jego składnię i bezpiecznie wdrożyć zmiany.
Czym jest plik robots.txt?
Plik robots.txt to prosty plik tekstowy (nie dokument Worda, nie plik tekstowy z formatowaniem RTF, ale czysty tekst .txt), który umieszcza się w głównym katalogu swojej strony internetowej. Jego zadaniem jest zarządzanie ruchem robotów sieciowych (crawlers lub spiders) i wskazywanie im, których podstron lub folderów nie powinny skanować.
Lokalizacja: gdzie musi się znajdować?
Roboty wyszukiwarek są zaprogramowane bardzo sztywno. Kiedy wchodzą na jakąkolwiek witrynę, zanim zaczną pobierać kod HTML strony głównej, najpierw wysyłają zapytanie o plik robots.txt.
Plik ten musi znajdować się w głównym katalogu root (głównym folderze serwera). Oznacza to, że musi być dostępny pod jednym, bardzo konkretnym adresem URL:
Jeśli umieścisz go w podfolderze, np. twojadomena.pl/blog/robots.txt, roboty po prostu go nie zauważą i uznają, że na Twojej stronie nie obowiązują żadne ograniczenia. Co ważne – nazwa pliku musi być napisana wyłącznie małymi literami. Adres ROBOTS.TXT czy Robots.txt wygeneruje błąd 404.
Ograniczenia – robots.txt to prośba, nie zakaz
To najważniejsza rzecz, którą musisz zapamiętać pod kątem bezpieczeństwa danych: robots.txt nie służy do ukrywania poufnych stron przed światem.
- To protokół grzecznościowy: Plik robots.txt działa na zasadzie dżentelmeńskiej umowy (jest częścią tzw. Robots Exclusion Protocol). Renomowane roboty, takie jak Googlebot (Google), Bingbot (Bing) czy DuckDuckBot, bezwzględnie stosują się do zawartych tam wytycznych. Jednak złośliwe boty, hakerzy czy skanery szukające dziur w zabezpieczeniach całkowicie zignorują Twoje instrukcje. Co więcej, wpisanie tajnego folderu do robots.txt daje hakerowi jasną informację: „O, tutaj ukryłem coś ważnego, sprawdź to”.
- Blokowanie skanowania to nie blokowanie indeksacji: Jeśli zablokujesz robotowi Google dostęp do podstrony w robots.txt, robot nie wejdzie na tę stronę i nie przeczyta jej treści. Jednak jeśli do tej podstrony prowadzą silne linki z innych stron internetowych, Google i tak może umieścić jej adres w wynikach wyszukiwania (z dopiskiem: „Opis wyniku jest niedostępny z powodu instrukcji w pliku robots.txt”). Jeśli chcesz mieć 100% pewności, że strona nie trafi do Google, musisz pozwolić robotowi na nią wejść, ale umieścić w jej sekcji
<head>tag<meta name="robots" content="noindex">.
Składnia robots.txt
Składnia pliku robots.txt jest minimalistyczna. Składa się z kilku prostych dyrektyw (poleceń), które zapisuje się w osobnych linijkach. Przyjrzyjmy się pięciu najważniejszym klockom, z których buduje się ten plik.
1. User-agent: wskazanie bota
Ta dyrektywa określa, do jakiego konkretnie robota kierujesz poniższe instrukcje. Każdy robot ma swoją oficjalną nazwę.
User-agent: Googlebot– instrukcje dotyczą tylko robota Google.User-agent: Bingbot– instrukcje dotyczą tylko robota wyszukiwarki Bing.User-agent: *– gwiazdka to tzw. wildcard (znak wieloznaczny). Oznacza: „wszystkie roboty na świecie”.
2. Disallow: blokowanie ścieżek
To polecenie mówi robotowi, dokąd nie ma prawa wchodzić. Ścieżki zawsze podaje się w formie relatywnej (od ukośnika, bez pełnej nazwy domeny).
Disallow: /wp-admin/– blokuje dostęp do całego folderuwp-adminwraz z całą jego zawartością.Disallow: /polityka-prywatnosci– blokuje dostęp do jednej, konkretnej podstrony.
3. Allow: wyjątki od blokad
Używane, gdy chcesz zablokować cały wielki folder, ale w jego wnętrzu znajduje się jeden mały element, który robot koniecznie musi zobaczyć.
Plaintext
User-agent: *
Disallow: /pliki/
Allow: /pliki/cennik-ogolny.pdf
W tym scenariuszu roboty ominą cały folder /pliki/, ale wejdą i zaindeksują plik z cennikiem PDF.
4. Sitemap: link do mapy strony
To świetna praktyka SEO. Na samym dole pliku robots.txt warto wkleić bezpośredni, pełny (bezwzględny) adres URL do swojej mapy strony XML. Ułatwia to nowym robotom natychmiastowe odnalezienie listy wszystkich podstron.
Sitemap: https://twojadomena.pl/sitemap_index.xml
5. Crawl-delay: opóźnienie crawlowania
Dyrektywa używana głównie dla mniejszych wyszukiwarek lub robotów badawczych. Mówi robotowi, ile sekund ma odczekać między pobraniem kolejnych stron (np. Crawl-delay: 5).
Zapobiega to przeciążeniu słabego serwera, gdy bot próbuje pobrać tysiące podstron w jedną sekundę. Ważne: Googlebot całkowicie ignoruje tę dyrektywę. Jeśli chcesz ograniczyć częstotliwość skanowania przez Google, musisz to ustawić bezpośrednio w Google Search Console.
Typowe konfiguracje robots.txt
Zobaczmy, jak wyglądają w praktyce gotowe, bezpieczne szablony plików robots.txt dla najpopularniejszych scenariuszy.
Przykład 1: Standardowy plik dla WordPressa
Dla większości klasycznych stron opartych na WordPressie, optymalna konfiguracja wygląda następująco:
Plaintext
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://twojadomena.pl/sitemap_index.xml
Dlaczego to działa? Blokujemy dostęp do zaplecza (/wp-admin/), ale robimy wyjątek dla pliku admin-ajax.php, ponieważ wiele nowoczesnych wtyczek i motywów potrzebuje tego skryptu do poprawnego ładowania elementów strony po stronie użytkownika.
Przykład 2: Blokowanie parametrów URL (np. sortowanie w sklepie)
W dużych sklepach internetowych parametry filtrowania generują gigantyczną duplikację treści. Możemy użyć znaku gwiazdki *, aby zablokować robotom dostęp do adresów zawierających znaki zapytania:
Plaintext
User-agent: *
Disallow: /*?sort=
Disallow: /*?filter=
Dzięki temu robot nie straci budżetu indeksowania na skanowanie tej samej kategorii ułożonej alfabetycznie czy według cen.
Przykład 3: Blokowanie konkretnego bota (np. zbierającego dane do AI)
Jeśli nie chcesz, aby roboty skanowały Twoje autorskie artykuły w celu uczenia modeli sztucznej inteligencji, możesz zablokować konkretne roboty (np. GPTBot od OpenAI):
Plaintext
User-agent: GPTBot
Disallow: /
User-agent: *
Disallow: /wp-admin/
Dla bota OpenAI cała strona jest zablokowana (Disallow: /), natomiast pozostałe roboty (w tym Googlebot) mogą swobodnie skanować witrynę poza panelem admina.
Częste błędy w robots.txt (I jak ich unikać)
Ponieważ robots.txt zarządza globalnym ruchem na stronie, potknięcie w tym miejscu bywa katastrofalne w skutkach. Oto grzechy główne webmasterów.
1. Disallow: / przez pomyłkę – blokada całego serwisu!
To absolutny koszmar każdego pozycjonera. Często podczas tworzenia nowej strony programiści pracują na tzw. wersji testowej (stagingu). Aby strona testowa nie trafiła do Google, blokują ją komendą:
Plaintext
User-agent: *
Disallow: /
Jeden mały ukośnik / po słowie Disallow oznacza: „Zablokuj dostęp do wszystkiego”. Jeśli podczas przenoszenia strony na właściwą, produkcyjną domenę zapomnisz usunąć ten jeden ukośnik, robot Google przy kolejnej wizycie wyrzuci całą Twoją witrynę z indeksu wyszukiwarki. Ruch spadnie do zera w kilka dni.
2. Blokowanie plików CSS i JS
To błąd zakorzeniony w starym podejściu do SEO sprzed kilkunastu lat. Dawniej uważano, że roboty czytają tylko czysty tekst, więc blokowano im dostęp do folderów ze stylami CSS i skryptami JavaScript (/wp-includes/ czy /themes/), by oszczędzać transfer.
Dziś Googlebot nie jest już prostym czytnikiem kodu – to zaawansowana przeglądarka internetowa. Google renderuje Twoją stronę dokładnie tak samo, jak robi to człowiek na ekranie smartfona. Jeśli zablokujesz pliki CSS i JS, Googlebot zobaczy Twoją stronę jako rozsypany, brzydki tekst z lat 90. Uzna, że strona jest nieprzyjazna dla urządzeń mobilnych (UX) i drastycznie obniży Twoje pozycje.
3. Zbyt agresywne blokowanie kategorii
Czasami właściciele stron chcą zablokować tylko jedną subkategorię, ale robią to nieprecyzyjnie. Wpis wpisany jako: Disallow: /buty zablokuje nie tylko folder /buty/, ale również artykuł na blogu o adresie domena.pl/buty-do-biegania-ranking. Jeśli chcesz zablokować wyłącznie folder, zawsze pamiętaj o domykającym ukośniku: Disallow: /buty/.
Testowanie pliku robots.txt
Zanim pójdziesz spać po edycji pliku robots.txt, musisz upewnić się, że wszystko działa poprawnie. Nie polegaj na intuicji – użyj oficjalnych narzędzi.
1. Robots.txt Tester w Google Search Console
Google udostępnia dedykowane, darmowe narzędzie weryfikacyjne. Mimo zmian w interfejsie GSC, narzędzie to jest kluczowe dla szybkiego testu składni.
Narzędzie pobiera Twój aktualny plik z serwera i pozwala Ci przeprowadzić symulację. Możesz wkleić dowolny adres URL ze swojej strony (np. ścieżkę do najważniejszego produktu) i kliknąć przycisk TEST. System natychmiast podświetli na zielono słowo ALLOWED (Dozwolone) lub na czerwono BLOCKED (Zablokowane), wskazując dokładnie, która linijka kodu wywołała daną reakcję.
2. Sprawdzenie w trybie Inspekcji URL
Drugim, niezwykle pewnym sposobem na sprawdzenie, czy robots.txt nie płata figli, jest użycie głównego paska wyszukiwania na samej górze Google Search Console – narzędzia Inspekcja URL.
- Wklej tam adres podstrony, co do której masz wątpliwości, i naciśnij Enter.
- Jeśli strona nie jest zaindeksowana, zwróć uwagę na sekcję Zasięg / Dostępność.
- Jeśli zobaczysz komunikat: „Indeksowanie niedozwolone? Tak: zablokowane przez plik robots.txt”, masz jasność, że Twoja składnia w pliku tekstowym jest zbyt agresywna i musisz usunąć blokującą dyrektywę Disallow.
Mając poprawnie skonfigurowany i przetestowany plik robots.txt, zapewniasz robotom Google czystą, bezpieczną i efektywną ścieżkę poruszania się po Twojej witrynie. Przekłada się to na optymalne wykorzystanie budżetu indeksowania i wyższe pozycje tych stron, na których najbardziej Ci zależy.