Plik robots.txt to prosty, lecz kluczowy element zarządzania ruchem robotów indeksujących na stronie internetowej. Poprawna konfiguracja pozwala wskazać wyszukiwarkom, które zasoby mają być przeszukiwane, a które powinny pozostać ukryte przed crawlerami. W tekście omówię, czym dokładnie jest plik, jak wygląda jego składnia, gdzie powinien się znajdować oraz jakie są najlepsze praktyki i najczęstsze błędy podczas jego tworzenia i wdrażania.
Czym jest plik robots.txt i jak działa
Plik robots.txt to plik tekstowy umieszczony w katalogu głównym serwera (np. https://twojadomena.pl/robots.txt), odczytywany przez roboty indeksujące przed rozpoczęciem przeszukiwania strony. Jego zadaniem jest przekazanie instrukcji dotyczących dostępu do określonych ścieżek witryny. Warto pamiętać, że robots.txt operuje na poziomie dostępu do zasobów (crawl), a nie na poziomie indeksowania wyników wyszukiwania — blokada w robots.txt może zapobiec pobraniu treści przez robota, ale niekoniecznie uniemożliwi jej pojawienie się w indeksie, jeśli chodzi o linkowanie zewnętrzne.
Podstawowe rodzaje dyrektyw zawartych w pliku to User-agent (określenie, do którego robota odnosi się grupa zasad), Disallow (zastrzeżenie ścieżek, których nie wolno indeksować), Allow (zezwolenie na dostęp do konkretnych ścieżek, przydatne przy bardziej szczegółowych regułach), a także dyrektywy pomocnicze, takie jak Sitemap czy crawl-delay.
Gdzie umieścić plik i podstawowe reguły
Plik musi znajdować się w katalogu głównym domeny: każdy subdomen ma własny plik. Adres pliku to zawsze /robots.txt na danej domenie. Jeśli Twoja strona działa pod kilkoma subdomenami (np. www i shop), każda z nich powinna mieć własny plik.
- Umiejscowienie: https://twojadomena.pl/robots.txt
- Kodowanie: zalecane UTF-8 bez BOM
- Limit rozmiaru: większość wyszukiwarek (w tym Google) czyta pierwsze 500 KB pliku; unikaj dużych, złożonych reguł
- Nazwa: musi być dokładnie robots.txt (małe litery zalecane)
- Uprawnienia: plik powinien być dostępny przez HTTP/HTTPS (status 200)
Jeśli serwer zwróci błąd 404 dla robots.txt, większość robotów potraktuje to jak brak ograniczeń (czyli dostęp jest dozwolony). W przypadku błędów 5xx zachowanie robotów może być różne — często następuje ograniczenie aktywności crawl do czasu przywrócenia poprawnej odpowiedzi.
Składnia i przykłady pliku robots.txt
Plik składa się z bloków reguł, gdzie każda grupa zaczyna się od dyrektywy User-agent, a następnie występują reguły za pomocą Disallow i Allow. Komentarze zaczynają się od znaku # i mogą być umieszczane w osobnych liniach.
Przykład podstawowy – zezwolenie wszystkim robotom na indeksowanie całej strony:
User-agent: *
Disallow:
Przykład blokady całej witryny dla wszystkich robotów:
User-agent: *
Disallow: /
Przykład bardziej zaawansowany – blokada katalogu /private/ z jednoczesnym zezwoleniem na dostęp do pliku publiczny.html w tym katalogu:
User-agent: *
Disallow: /private/
Allow: /private/publiczny.html
Przykład z dyrektywą Sitemap (wskazuje lokalizację mapy witryny):
User-agent: *
Disallow:
Sitemap: https://twojadomena.pl/sitemap.xml
W plikach robots.txt można stosować symbole specjalne: gwiazdka (*) jako wildcard oraz znak dolara ($) dla końca ścieżki. Przykład blokowania wszystkich ścieżek zawierających parametry session:
User-agent: *
Disallow: /*?session=
Wielokrotne grupy dla konkretnych crawlerów — np. reguły dla Googlebot i osobne dla innych:
User-agent: Googlebot
Disallow: /beta/
User-agent: *
Disallow: /private/
Ważna zasada dotycząca dopasowania: niektóre wyszukiwarki wybierają najbardziej szczegółowy dopasowujący się ciąg, inne posługują się pierwszym dopasowaniem. Najbezpieczniej konstruować reguły logicznie i unikać sprzecznych instrukcji dla tych samych user-agentów.
Różnice między blokowaniem crawl a zapobieganiem indeksowaniu
Plik robots.txt kontroluje jedynie czynność crawl (pobieranie stron przez robota). Jeśli chcesz uniemożliwić pojawienie się strony w wynikach wyszukiwania (indeksowaniu), użyj meta tagu robots z wartością noindex w nagłówku HTML lub nagłówka HTTP X-Robots-Tag. Trzeba pamiętać, że jeżeli strona zostanie zablokowana przez robots.txt, robot nie pobierze jej treści i nie zobaczy meta tagu noindex umieszczonego w HTML. W efekcie treść może się pojawić w wynikach bez opisu (tylko URL), jeśli inne strony linkują do niej.
Z tego powodu, jeżeli celem jest całkowite ukrycie zawartości i zapobieżenie pojawieniu się adresu w wynikach wyszukiwania, lepszym rozwiązaniem jest zastosowanie meta noindex oraz umożliwienie robotom dostępu (żeby mogli zobaczyć tag), lub wymaganie uwierzytelnienia (np. hasłem) dla chronionych zasobów.
Najczęstsze błędy i dobre praktyki
Do typowych błędów należą:
- blokowanie plików CSS i JS potrzebnych do renderowania strony, co może negatywnie wpływać na ocenę przez wyszukiwarki;
- próba użycia robots.txt do ukrywania poufnych danych — robots.txt jest publicznie dostępny i ujawnia ścieżki, które chcesz ukryć;
- pomyłki w ścieżkach (np. brak prowadzącego ukośnika) skutkują brakiem działania reguły;
- używanie nieobsługiwanych dyrektyw — np. dyrektywa noindex w robots.txt nie jest standardem i nie jest honorowana przez Google;
- przekroczenie limitu rozmiaru pliku, co powoduje obcięcie zawartości i niezamierzone zmiany w zasadach.
Dobre praktyki:
- umieszczaj tylko niezbędne reguły; im prostszy plik, tym mniejsze ryzyko błędów;
- nie blokuj zasobów statycznych (CSS/JS), które są potrzebne do prawidłowego renderowania strony;
- testuj zmiany przy użyciu narzędzi takich jak Google Search Console — tam znajdziesz robots.txt Tester;
- dodaj dyrektywę Sitemap w pliku, żeby ułatwić znalezienie mapy witryny przez roboty;
- monitoruj logi serwera, aby zobaczyć jak roboty odczytują plik i jakie strony odwiedzają;
- przed wdrożeniem istotnych zmian przetestuj plik na wersji stagingowej (pamiętając, że robots.txt jest zależny od domeny).
Konfiguracja w popularnych systemach i serwerach
WordPress: wiele wtyczek SEO (np. Yoast SEO, Rank Math) umożliwia edycję pliku robots.txt z poziomu panelu. Zwróć uwagę, aby nie zablokować katalogu /wp-content/ ani plików potrzebnych do działania motywu. Typowe zalecenie: Disallow: /wp-admin/ oraz Allow: /wp-admin/admin-ajax.php.
Plik robots.txt możesz także utworzyć ręcznie i umieścić w katalogu głównym serwera przez FTP. W przypadku hostingu statycznego (np. Netlify, GitHub Pages) plik należy włączyć do repozytorium lub skonfigurować reguły serwera, które będą zwracać jego zawartość.
Przykładowa konfiguracja Nginx (fragment, jako ilustracja komendy zwracającej plik z katalogu):
location = /robots.txt {
alias /var/www/twojadomena/static/robots.txt;
add_header Content-Type text/plain;
}
Przykładowa konfiguracja Apache (prosty sposób):
# Umieść plik robots.txt w katalogu DocumentRoot, np. /var/www/html/robots.txt
Pamiętaj, że edycja plików serwera wymaga uprawnień administratora i ostrożności — błędne reguły w konfiguracji mogą spowodować problemy z dostępem do witryny.
Narzędzia do testowania i monitoringu
Aby upewnić się, że plik działa zgodnie z oczekiwaniami, korzystaj z następujących narzędzi:
- Google Search Console — tester pliku robots.txt, symulator pobierania przez Googlebot, podgląd błędów;
- Bing Webmaster Tools — podobne funkcje dla Bing;
- prostych poleceń curl (np. curl -I https://twojadomena.pl/robots.txt) do sprawdzenia statusu HTTP;
- analiza logów serwera — zobaczysz, które roboty pobierają plik i które strony odwiedzają;
- narzędzia online symulujące zachowanie robotów — pozwalają przetestować, czy dana ścieżka będzie zablokowana.
Przykłady użycia curl
Sprawdzenie statusu HTTP pliku:
curl -I https://twojadomena.pl/robots.txt
Pobranie zawartości pliku:
curl https://twojadomena.pl/robots.txt
Specjalne dyrektywy i rozszerzenia
Niektóre wyszukiwarki wspierają dodatkowe dyrektywy. Na przykład dyrektywa Host jest obsługiwana przez Yandex i pozwala wskazać preferowaną wersję domeny. Dyrektywa crawl-delay może być honorowana przez niektóre roboty i służy do ograniczenia częstotliwości żądań.
Przykład z crawl-delay:
User-agent: *
Crawl-delay: 10
Należy jednak pamiętać, że nie ma jednej, uniwersalnej listy rozszerzeń obsługiwanych przez wszystkie wyszukiwarki. Dlatego projektując plik, skup się na standardowych dyrektywach i na tym, co jest krytyczne dla Twojej strony.
Podsumowanie praktycznych wskazówek przy wdrożeniu
Zanim opublikujesz plik:
- zrób kopię zapasową obecnej wersji;
- przetestuj każdą regułę w środowisku testowym;
- użyj narzędzi typu Google Search Console do symulacji działania;
- unikaj blokowania zasobów niezbędnych do renderowania;
- pamiętaj o różnicy między blokowaniem crawl a indeksowanie — używaj meta tagów lub nagłówków HTTP, gdy chcesz uniemożliwić pojawienie się w wynikach wyszukiwania;
- umieść dyrektywę Sitemap w pliku, aby ułatwić robotom odnalezienie mapy witryny.
Stosując powyższe zasady i regularnie monitorując zachowanie wyszukiwarek, można skutecznie zarządzać obecnością strony w indeksach, zachowując kontrolę nad tym, które obszary witryny są przeszukiwane przez roboty. Pamiętaj, że robots.txt to narzędzie kontroli dostępu dla crawlerów — używaj go świadomie i testuj efekty swoich zmian.