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

Szymon Bujakowski
5 min czytania

Czym jest robots.txt?

Robots.txt to prosty plik tekstowy umieszczony w katalogu głównym witryny (np. https://example.com/robots.txt), który informuje roboty wyszukiwarek, które części serwisu mogą odwiedzać, a których powinny unikać. Plik ten działa w oparciu o protokół Robots Exclusion Protocol, który jest standardem stosowanym przez wszystkie duże wyszukiwarki - Google, Bing, Yandex czy Baidu.

Warto od razu wyjaśnić jedną rzecz: robots.txt to mechanizm oparty na zaufaniu. Roboty wyszukiwarek respektują jego dyrektywy, ale nie są do tego zobligowane technicznie. Prawidłowo napisany plik robot Google’a potraktuje poważnie - złośliwe boty mogą go całkowicie zignorować. Dlatego robots.txt nie jest narzędziem bezpieczeństwa i nie powinien służyć do ukrywania wrażliwych danych.

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://example.com/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.

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 sitemap w robots.txt to zmarnowana okazja. To jedno z pierwszych miejsc, które roboty sprawdzają szukając 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.

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.

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, roboty zakładają, że mogą crawlować całą witrynę. Jednak posiadanie robots.txt to dobra praktyka - pozwala kontrolować budżet crawlowania i wskazać lokalizację sitemap.

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

Roboty wyszukiwarek pobierają robots.txt cyklicznie, a Google cachuje ten plik zazwyczaj na około 24 godziny. Zmiany nie są więc natychmiastowe. W Google Search Console możesz poprosić o ponowne pobranie pliku, co przyspieszy proces.

Czy robots.txt wpływa na pozycjonowanie?

Pośrednio - tak. Prawidłowa konfiguracja robots.txt pomaga efektywnie zarządzać budżetem crawlowania, dzięki czemu roboty Google’a mogą skoncentrować się na stronach, które mają rzeczywistą wartość. Błędna konfiguracja może natomiast zablokować dostęp do ważnych zasobów i negatywnie wpłynąć na widoczność witryny.

Potrzebujesz audytu technicznego SEO?

Sprawdzimy konfigurację robots.txt, sitemap i inne elementy techniczne Twojej witryny.

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.