Robots.txt - jak kontrolować dostęp robotów do Twojej strony?

Szymon Bujakowski
6 min czytania

Czym jest robots.txt?

Robots.txt to prosty plik tekstowy umieszczony w katalogu głównym witryny, na przykład pod adresem https://critical.pl/robots.txt. Informuje roboty wyszukiwarek, które części serwisu mogą odwiedzać, a których powinny unikać. Plik działa w oparciu o Robots Exclusion Protocol, stosowany przez największe wyszukiwarki — Google, Bing, Yandex i Baidu.

Warto od razu wyjaśnić jedną rzecz: robots.txt to mechanizm oparty na zaufaniu. Roboty wyszukiwarek respektują jego dyrektywy, ale złośliwe boty mogą je całkowicie zignorować. Dlatego plik nie jest narzędziem bezpieczeństwa i nie powinien służyć do ukrywania wrażliwych danych.

Co więcej, próba ukrycia sekretu przez Disallow może go wręcz wyciągnąć na wierzch. Robots.txt jest publicznie dostępny, więc osoba sprawdzająca serwis od razu zobaczy wpisane tam ścieżki do paneli, kopii zapasowych albo katalogów technicznych — także takie, których bez tej podpowiedzi mogłaby nigdy nie znaleźć. Prywatne zasoby zabezpiecza się uwierzytelnieniem i kontrolą dostępu, a nie prośbą skierowaną do robota.

Składnia robots.txt - najważniejsze dyrektywy

Plik robots.txt składa się z zestawu reguł pogrupowanych pod nagłówkami User-agent. Oto podstawowa składnia:

robots.txt
1
2
3
4
5
6
7

User-agent: *
Disallow: /admin/
Disallow: /koszyk/
Allow: /admin/public/

Sitemap: https://critical.pl/sitemap.xml

Omówienie poszczególnych dyrektyw:

  • User-agent - określa, do którego robota odnoszą się poniższe reguły. Gwiazdka (*) oznacza wszystkie roboty. Można też wskazać konkretnego bota, np. Googlebot lub Bingbot,
  • Disallow - blokuje dostęp do podanej ścieżki. Pusty Disallow: oznacza brak blokad,
  • Allow - nadpisuje blokadę Disallow dla konkretnej podścieżki. Przydatne, gdy blokujesz cały katalog, ale chcesz udostępnić jego fragment,
  • Sitemap - wskazuje lokalizację mapy witryny XML. Ta dyrektywa nie jest przypisana do żadnego User-agent i może pojawić się w dowolnym miejscu pliku.

Wzorce i znaki specjalne

Robots.txt obsługuje dwa znaki specjalne w ścieżkach:

  • * - dopasowuje dowolny ciąg znaków, np. Disallow: /*.pdf$ zablokuje wszystkie pliki PDF,
  • $ - oznacza koniec adresu URL, np. Disallow: /katalog$ zablokuje dokładnie /katalog, ale nie /katalog/produkt.
robots.txt
1
2
3
4
5

User-agent: *
Disallow: /*?sort=
Disallow: /*&sid=
Allow: /

Powyższy przykład blokuje adresy URL z parametrami sortowania i identyfikatorami sesji, które generują duplikaty treści w sklepach internetowych.

Najczęstsze błędy w konfiguracji robots.txt

Blokowanie plików CSS i JavaScript

To jeden z najczęściej spotykanych problemów. Wiele starszych konfiguracji zawiera reguły blokujące katalogi /wp-content/, /themes/ lub /assets/, co uniemożliwia Googlebotowi renderowanie strony. Bez dostępu do CSS i JS Google widzi stronę inaczej niż użytkownik i może ocenić ją jako mniej wartościową.

Mylenie Disallow z noindex

To fundamentalne nieporozumienie. Dyrektywa Disallow mówi robotowi “nie wchodź na tę stronę” - ale nie mówi “nie indeksuj jej”. Jeśli inna strona linkuje do zablokowanego adresu, Google może go zaindeksować na podstawie samego linku - bez dostępu do treści. W wynikach wyszukiwania pojawi się wtedy wpis z komunikatem “Opis tej strony jest niedostępny z powodu pliku robots.txt”.

Jeśli chcesz usunąć stronę z indeksu, użyj meta tagu noindex lub nagłówka HTTP X-Robots-Tag. Robots.txt tego nie załatwi.

Jeżeli URL ma nadal istnieć, ale nie powinien pojawiać się w Google, zostaw Googlebotowi dostęp do strony, aby mógł odczytywać noindex. Jeśli zasób ma zniknąć całkowicie, usuń go i zwróć kod 404 lub 410 albo zabezpiecz dostęp uwierzytelnieniem. Nie dokładaj Disallow do działającej strony z noindex, bo robot przestanie widzieć dyrektywę, która ma ją trzymać poza indeksem.

Blokowanie całej witryny przez przypadek

Wystarczy jedna linijka, żeby zablokować dostęp do całego serwisu:

robots.txt
1
2
3

User-agent: *
Disallow: /

Tego typu konfiguracja jest czasem zostawiana po migracji ze środowiska testowego na produkcję. Warto sprawdzać robots.txt po każdym wdrożeniu.

Brak dyrektywy Sitemap

Choć nie jest to błąd krytyczny, pominięcie wskazania sitemapy XML w robots.txt to zmarnowana okazja. To stabilny sposób przekazania robotom adresu aktualnej mapy witryny.

Robots.txt na popularnych platformach e-commerce

WooCommerce (WordPress)

WordPress domyślnie generuje wirtualny robots.txt dostępny pod adresem /robots.txt. Możesz go nadpisać, tworząc fizyczny plik w katalogu głównym lub korzystając z wtyczki (np. Yoast SEO, Rank Math). Typowa konfiguracja dla WooCommerce powinna blokować strony koszyka, realizacji zamówienia i konta użytkownika:

robots.txt
1
2
3
4
5
6
7
8
9

User-agent: *
Disallow: /koszyk/
Disallow: /zamowienie/
Disallow: /moje-konto/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap_index.xml

Shopify

Shopify generuje robots.txt automatycznie i do niedawna nie pozwalało na jego edycję. Od 2021 roku można modyfikować ten plik przez szablon robots.txt.liquid w motywie. Domyślna konfiguracja Shopify blokuje m.in. strony koszyka, konta, checkout i wewnętrzne wyszukiwanie - i w większości przypadków jest wystarczająca.

PrestaShop

PrestaShop generuje robots.txt automatycznie z poziomu panelu administracyjnego (SEO & URLs > Generowanie pliku robots.txt). Plik ten blokuje katalogi modułów, klas i konfiguracji. Warto jednak zweryfikować wygenerowaną zawartość, bo w niektórych wersjach PrestaShop blokuje zbyt wiele ścieżek, w tym adresy istotne dla indeksacji.

Nie wiesz, które adresy warto zablokować dla robotów?

Sprawdzimy plik robots.txt, sitemapę i strukturę URL-i, a potem oddzielimy użyteczne blokady od reguł, które mogą odciąć Google od ważnych stron lub zasobów.

Jak sprawdzić poprawność robots.txt?

Google Search Console oferuje narzędzie do testowania robots.txt w sekcji “Ustawienia > robots.txt”. Możesz tam sprawdzić, czy konkretny URL jest zablokowany dla danego robota. Warto z niego korzystać po każdej zmianie konfiguracji.

Poza Google Search Console pomocne są także narzędzia takie jak Screaming Frog, Ahrefs i Semrush, które podczas audytu technicznego raportują problemy z robots.txt.

Jeśli chcesz szybko prześledzić konkretną regułę przed wdrożeniem, wklej plik poniżej. Inspektor działa lokalnie i nie pobiera ani robots.txt, ani testowanego adresu.

Analiza lokalna w przeglądarce

Sprawdź regułę w robots.txt

Wklej plik, podaj robota i URL, aby zobaczyć, która reguła rozstrzyga dostęp. Dane pozostają w Twojej przeglądarce.

Możesz podać nazwę produktu, np. Googlebot, albo pełny User-Agent. Sprawdzamy ścieżkę razem z query stringiem.

Najczęściej zadawane pytania

Czy robots.txt może zablokować indeksowanie strony?

Nie bezpośrednio. Robots.txt blokuje crawlowanie (odwiedzanie strony przez robota), ale nie indeksowanie. Jeśli inne strony linkują do zablokowanego URL-a, Google może go zaindeksować bez dostępu do treści. Do blokowania indeksacji służy meta tag noindex.

Czy każda strona musi mieć plik robots.txt?

Nie jest to wymagane. Jeśli plik nie istnieje i serwer odpowiada kodem 404, Google zakłada brak ograniczeń crawlowania. Własny robots.txt jest jednak przydatny: pozwala blokować niepotrzebne przestrzenie URL-i i wskazać lokalizację sitemapy XML.

Czy zmiany w robots.txt działają natychmiast?

Roboty wyszukiwarek pobierają robots.txt cyklicznie, a Google zwykle przechowuje plik w pamięci podręcznej przez około 24 godziny. Po krytycznej zmianie lub naprawie błędu możesz poprosić o ponowne pobranie pliku w raporcie robots.txt w Google Search Console. Nie oznacza to jednak natychmiastowego odwiedzenia wszystkich właśnie odblokowanych URL-i.

Czy robots.txt wpływa na pozycjonowanie?

Pośrednio — tak. W dużych serwisach prawidłowy robots.txt może ograniczyć crawlowanie zbędnych parametrów i zasobów, ale nie gwarantuje, że każde zaoszczędzone żądanie Googlebot przeznaczy na ważne strony. Błędna reguła może za to odciąć robota od produktów, kategorii, CSS-u lub JavaScriptu i realnie zaszkodzić widoczności. Więcej o tym mechanizmie przeczytasz w poradniku o crawl budgecie.

Gotowy na strategiczne partnerstwo w marketingu cyfrowym?

Porozmawiajmy o Twoich wyzwaniach i celach. Opracujemy dopasowaną strategię i plan działania, które przyniosą mierzalne rezultaty dla Twojego e-commerce lub instytucji.