Artykuły

Plik robots.txt. Jakie ma znaczenie w optymalizacji SEO i indeksowaniu strony?

Wielu właścicieli stron żyje w przekonaniu, że wystarczy opublikować witrynę, a Google samo z siebie „zrozumie” jej strukturę. Nic bardziej mylnego. Gdy Googlebot wchodzi na Twoją domenę, pierwszą rzeczą, o którą pyta serwer, jest plik robots.txt. To absolutny fundament technicznego SEO. Jeśli zepsujesz ten jeden, niepozorny plik tekstowy, możesz w ułamku sekundy wymazać z wyników wyszukiwania cały swój biznes. Z drugiej strony, świadome zarządzanie robots.txt to najpotężniejsza broń w walce o tzw. Crawl Budget (budżet indeksowania).

Zarządzanie dostępem robotów to twarda, praktyczna strona marketingu w wyszukiwarkach. Nie polega ona na dodawaniu ładnych słów kluczowych, ale na bezwzględnym sterowaniu ruchem botów na poziomie serwera, co ostatecznie decyduje o tym, czy Twoje produkty w ogóle pojawią się w Google.

Robots.txt steruje czołganiem (Crawling), a nie indeksowaniem (Indexing)

To najczęściej powielany mit w branży SEO, który kosztuje firmy tysiące złotych. Wpisanie komendy Disallow w pliku robots.txt nie usuwa strony z indeksu Google. Zabraniasz w ten sposób robotowi jedynie odwiedzania (skanowania) danego adresu URL. Jeśli jednak do zablokowanej strony prowadzą silne linki z zewnątrz, Google i tak może ją zaindeksować (wyświetli się w wynikach wyszukiwania z komunikatem: „Brak informacji o tej stronie”).

Jeśli chcesz bezpowrotnie usunąć stronę z Google, musisz użyć tagu meta name="robots" content="noindex" w sekcji head strony, a w pliku robots.txt pozwolić botowi na jej odwiedzenie, by mógł ten tag przeczytać. To fundamentalna różnica.

Crawl Budget: Dlaczego to takie ważne w e-commerce?

Google nie ma nieskończonych zasobów. Na każdą domenę przeznacza określony czas i limit zapytań do serwera (Crawl Budget). Jeśli prowadzisz rozbudowany sklep internetowy z częściami samochodowymi, generujesz dziesiątki tysięcy podstron wynikających z filtrowania po marce, roczniku czy modelu. Bez odpowiedniego pliku robots.txt, boty Google będą tracić czas na skanowanie bezwartościowych wyników wyszukiwania wewnętrznego i stron logowania.

Efekt? Bot wyczerpie swój budżet na „śmieciowe” podstrony i nigdy nie dotrze do Twoich nowych, kluczowych produktów z wysoką marżą, przez co nie zdobędą one widoczności organicznej.

Składnia: Jak pisać instrukcje dla botów?

Plik robots.txt umieszczamy zawsze w głównym katalogu domeny (np. twojadomena.pl/robots.txt). Składa się on z prostych, kaskadowych dyrektyw:

  • User-agent: * – Instrukcja dotyczy wszystkich robotów sieciowych (Googlebot, Bingbot, AhrefsBot itp.).
  • Disallow: /koszyk/ – Zakaz skanowania całego katalogu „koszyk”. Jest to kluczowe w projektach takich jak system zamówień online dla restauracji, gdzie skanowanie pustych koszyków przez bota jest zwykłym marnotrawstwem zasobów serwera.
  • Allow: /wp-admin/admin-ajax.php – Wyjątek od reguły Disallow. Pozwalamy botowi na dostęp do konkretnego pliku, mimo że cały nadrzędny katalog jest zablokowany.
  • Sitemap: https://twojadomena.pl/sitemap.xml – Wskazanie lokalizacji mapy witryny XML. Przyspiesza to odnajdywanie nowych treści.

Najczęstsze i najbardziej kosztowne błędy w robots.txt

Nawet duże marki z budżetami korporacyjnymi popełniają błędy, które na miesiące wykluczają je z wyników wyszukiwania:

  1. Blokowanie plików CSS i JavaScript: W przeszłości blokowano skrypty, by oszczędzać transfer. Dziś Googlebot „renderuje” stronę wizualnie, by ocenić jej układ. Jeśli zablokujesz mu pliki stylów, próbując np. połączyć sprzedaż stacjonarną z online na nowej platformie, bot zobaczy nieczytelny tekst zepsutej strony i uzna ją za bezużyteczną na urządzeniach mobilnych, drastycznie ucinając zasięgi.
  2. Nieuważne wdrożenie z serwera testowego (Staging): Deweloperzy blokują środowiska testowe prostą regułą Disallow: /. Ekstremalnie często przy migracji na domenę docelową zapominają usunąć ten plik. Skutek? Cały biznes znika z indeksu w 48 godzin.
  3. Brak blokady parametrów filtrowania: Duży sklep internetowy B2B dla przemysłu posiada tysiące kombinacji filtrów (np. łożyska -> kulkowe -> 20mm -> luz C3). Tworzy to nieskończoną pętlę adresów URL (tzw. Spider Trap). Brak blokady parametrów ?sort= czy ?filter= zabija Crawl Budget.

Obszerne FAQ – Techniczne i biznesowe aspekty pliku robots.txt

I. Fundamenty i diagnostyka

1. Gdzie dokładnie na serwerze musi znajdować się plik robots.txt?
Zawsze, bezwzględnie w głównym katalogu domeny (root directory). Jeśli Twój adres główny to twojastrona.pl, bot będzie szukał instrukcji wyłącznie pod adresem twojastrona.pl/robots.txt. Plik umieszczony w jakimkolwiek podkatalogu (np. twojastrona.pl/sklep/robots.txt) zostanie całkowicie zignorowany przez algorytmy.

2. Skąd mam wiedzieć, czy mój robots.txt nie blokuje ważnych stron?
Użyj dedykowanego narzędzia w Google Search Console (GSC). W raporcie „Strony” znajduje się sekcja „Zablokowane przez plik robots.txt”. Dodatkowo możesz użyć starszego, ale wciąż działającego narzędzia „Tester pliku robots.txt” od Google, by na żywo wpisać konkretny URL swojego sklepu i sprawdzić, czy Googlebot ma do niego zielone światło.

3. Czy brak pliku robots.txt to błąd krytyczny SEO?
Nie, nie jest to błąd powodujący spadek rankingu, ale jest to niewykorzystany potencjał. Jeśli serwer zwraca kod błędu 404 dla ścieżki /robots.txt, Googlebot interpretuje to jako absolutne pozwolenie na skanowanie każdego najmniejszego skryptu i katalogu na Twoim hostingu, co marnuje budżet indeksowania.

II. Skanowanie kontra Indeksowanie (Mechanika bota)

4. Zablokowałem adres w robots.txt, ale on wciąż widnieje w wynikach wyszukiwania. Dlaczego?
Ponieważ robots.txt działa jak znak „Zakaz wjazdu” na drodze, ale nie wymazuje drogi z mapy. Jeśli inna witryna linkuje do Twojej zablokowanej podstrony, Google wie, że ona istnieje i może umieścić ten URL w indeksie (często bez opisu (snippetu), bo bot nie mógł wejść, by przeczytać treść). Aby usunąć wynik z wyszukiwarki, potrzebujesz tagu noindex w kodzie HTML i musisz ZEZWOLIĆ botowi na wejście na stronę w robots.txt, by mógł ten tag zobaczyć i wykonać polecenie.

5. Czy mogę zablokować indeksowanie obrazków z mojej strony za pomocą tego pliku?
Tak, jest to bardzo skuteczna metoda, jeśli nie chcesz, by Twoje grafiki (np. cenniki w formie JPG) latały po Google Grafika. Musisz użyć dedykowanego User-agenta:
User-agent: Googlebot-Image
Disallow: /wp-content/uploads/

III. Dyrektywy zaawansowane

6. Czy w robots.txt działają symbole wieloznaczne typu gwiazdka (*)?
Tak. Znak gwiazdki (*) działa jako zastępstwo dla dowolnego ciągu znaków. Możesz np. użyć reguły Disallow: /*?sort=, aby zablokować wszystkie adresy URL zawierające parametr sortowania. Dodatkowo działa znak dolara ($) oznaczający bezwzględny koniec ścieżki (np. Disallow: /*.pdf$ zablokuje wszystkie pliki PDF).

7. Czym jest dyrektywa Crawl-delay i czy warto jej używać?
Crawl-delay to komenda mówiąca botom, ile sekund mają odczekać przed pobraniem kolejnej strony. Historycznie ratowało to słabe serwery przed atakiem DDoS ze strony robotów. Jednak obecnie Googlebot całkowicie ignoruje komendę Crawl-delay. Częstotliwość indeksowania przez Google reguluje się algorytmicznie po stronie wyszukiwarki.

8. Jeśli mam konflikt reguł Allow i Disallow, która wygrywa?
Googlebot stosuje zasadę specyficzności. Dyrektywa bardziej precyzyjna i dłuższa nadpisuje tę ogólną. Jeśli napiszesz:
Disallow: /buty/
Allow: /buty/zimowe/
Bot nie wejdzie do katalogu „buty”, ale z pełnym prawem wejdzie głębiej do katalogu „zimowe”.

IV. Bezpieczeństwo i złośliwe boty

9. Chcę ukryć adres panelu administratora mojego sklepu. Czy robots.txt to dobre miejsce?
To najgorsze możliwe miejsce. Plik robots.txt jest w 100% publiczny. Każdy haker, który chce zaatakować Twój sklep, najpierw sprawdzi ten plik, aby zobaczyć, czego dokładnie próbujesz przed nim ukryć (np. widząc Disallow: /moj-tajny-login-admin/ podajesz mu adres na tacy). Do ochrony danych służą firewalle i autoryzacje po stronie serwera (.htpasswd).

10. Jak zablokować boty narzędzi takich jak Ahrefs, Majestic czy boty szkolące sztuczną inteligencję (AI)?
Dobre, komercyjne boty respektują plik robots.txt. Wystarczy podać ich nazwę, np.:
User-agent: AhrefsBot
Disallow: /
Pamiętaj jednak, że prawdziwe złośliwe boty (skrypty spamerskie) po prostu zignorują Twój plik tekstowy. Na nie pomoże tylko blokada adresów IP w pliku .htaccess lub zabezpieczenia klasy Cloudflare WAF.

V. Wpływ na e-commerce

11. Jakie elementy sklepu internetowego należy obowiązkowo zablokować?
Standardowa lista higieny technicznego SEO dla e-commerce obejmuje: koszyk zakupowy (checkout), procesy logowania/rejestracji klienta, politykę prywatności (jeśli generuje błędy duplikacji), wyniki wewnętrznej wyszukiwarki (search results), tagi używane wyłącznie do nawigacji, oraz wszelkie linki dodające produkt do ulubionych (wishlist), które mogłyby wywołać nieskończoną ilość unikalnych adresów URL dla bota.

12. Wdrożyłem nowy plik robots.txt. Po jakim czasie Google zaktualizuje instrukcje?
Googlebot ma bardzo agresywny system buforowania (cashowania) tego pliku, ale z reguły sprawdza go ponownie w ciągu 24 godzin od ostatniej wizyty. Jeśli naprawiłeś krytyczny błąd blokujący całą stronę, nie czekaj – wejdź do narzędzi Google Search Console w starej wersji (narzędzie do testowania robots) i kliknij przycisk wymuszający natychmiastowe przesłanie nowej wersji pliku do systemów Google.