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.