Czym jest plik robots.txt? Skladnia, przyklady, bledy i roznica vs noindex | WebMajka
Czym jest plik robots.txt — podstawy w 30 sekund
robots.txt to prosty plik tekstowy umieszczany w glownym katalogu domeny (pod adresem twojadomena.pl/robots.txt), ktorego zadaniem jest informowanie robotow wyszukiwarek — Googlebota, Bingbota i innych — ktore czesci strony moga skanowac, a ktore powinny pominac. Standard powstal w 1994 roku jako Robots Exclusion Protocol i mimo trzydziestu lat dziala praktycznie bez zmian. Plik jest zwyczajnym tekstem w formacie .txt, zawierajacym serie dyrektyw w prostej skladni. Wazne: robots.txt to sugestia, nie zabezpieczenie — grzeczne roboty go respektuja, scrapery i boty spamowe — czesto ignoruja. Do ukrycia tresci potrzebujemy zabezpieczen po stronie serwera (logowanie, whitelisting IP), nie samego robots.txt. Mimo tego plik pozostaje fundamentalnym narzedziem SEO — kontroluje budzet crawlingu, pozycje i widocznosc w SERP-ach.
Jak dziala robots.txt — proces skanowania
Gdy robot wyszukiwarki przychodzi na nasza strone, pierwszym plikiem ktory sprawdza jest /robots.txt. Zanim zacznie skanowac jakikolwiek URL, pobiera i parsuje plik, zapamietuje regulki, a nastepnie podczas calego crawlu stosuje sie do nich. Googlebot cache'uje plik na okolo 24 godziny — zmiany nie dzialaja od razu, nalezy poczekac lub wymusic odswiezenie w Google Search Console. Ciekawy szczegol: robots.txt nie usuwa podstron z indeksu. Jesli strona jest juz zindeksowana, a my dodamy jej URL do Disallow, Google przestanie ja crawlowac, ale url moze pozostac w SERP-ach przez dlugi czas. Do realnego usuniecia strony z wynikow sluzy noindex lub narzedzie do usuwania w GSC.
Skladnia robots.txt — dyrektywy krok po kroku
Skladnia pliku jest prosta, ale wymaga precyzji — jeden bledny znak blokuje cala strone. User-agent: definiuje robota; * oznacza wszystkie roboty, konkretne nazwy: Googlebot, Bingbot, Yandex, GPTBot. Disallow: zabrania skanowania URL; Disallow: /admin/ blokuje wszystko w /admin/, Disallow: / blokuje cala strone. Allow: wyjatek od Disallow — pozwala skanowac konkretny URL mimo ogolnej blokady (np. blokujemy /wp-admin/ ale zezwalamy na admin-ajax.php). Sitemap: wskazuje pelny URL mapy witryny, np. Sitemap: https://twojadomena.pl/sitemap.xml. Crawl-delay: czas w sekundach miedzy zapytaniami; Googlebot IGNORUJE te dyrektywe, respektuja ja Bing i Yandex. Znaki specjalne: * (dowolny ciag znakow), $ (koniec URL). Komentarze po #.
Gotowy przyklad dla prostej strony firmowej
Dla typowej strony firmowej z kilkoma podstronami minimalny sensowny robots.txt wyglada tak:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /private/
Disallow: /*.pdf$
Sitemap: https://twojadomena.pl/sitemap.xml
Co to daje? Wszystkie roboty maja pelny dostep do strony, poza panelem admina, katalogiem prywatnym i plikami PDF (na wypadek gdybysmy mieli wewnetrzne dokumenty nie do indeksowania). Na koncu wskazujemy mape witryny. To jest absolutne minimum — i dla 80% stron calkowicie wystarczajacy. Wiele stron ma jeszcze prostszy robots.txt, zawierajacy tylko User-agent: * i Sitemap: — i dziala dobrze, bo Google domyslnie crawluje co moze znalezc.

robots.txt dla WordPress — gotowy szablon
WordPress generuje domyslnie podstawowy wirtualny robots.txt, ale dla projektow SEO warto go rozszerzyc. Optymalny robots.txt dla nowoczesnego WordPressa w 2026:
User-agent: *
Allow: /
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /trackback/
Disallow: /xmlrpc.php
Disallow: /feed/
Disallow: /?s=
Disallow: /*?s=
Disallow: /*?replytocom=
Sitemap: https://twojadomena.pl/sitemap_index.xml
Co waznego tu mamy? Blokujemy panel admina (ale zezwalamy na admin-ajax.php, ktory jest potrzebny do frontendu). Blokujemy wyszukiwanie wewnetrzne (/?s=), bo generuje nieskonczone URL-e z duplikatem tresci. Blokujemy feedy RSS, trackbacki, xmlrpc (czesto atakowane). Na koncu wskazujemy sitemape (w wiekszosci przypadkow z wtyczki Yoast SEO lub Rank Math sciezka to sitemap_index.xml). Wazne: NIE blokuj /wp-content/uploads/ ani /wp-content/themes/ — Google musi widziec obrazy, CSS i JS, zeby poprawnie renderowac strone. To klasyczny blad z dawnych poradnikow, ktory dzisiaj szkodzi SEO.
robots.txt dla PrestaShop — specyfika sklepu
PrestaShop ma od dawna wbudowany generator robots.txt w panelu admina (Shop Parameters > Traffic > SEO & URLs > Generate robots.txt). Warto tego uzyc jako bazy, a potem dostosowac. Typowy robots.txt dla PrestaShop:
User-agent: *
Allow: /
Disallow: /admin-dev/
Disallow: /adminXXXX/
Disallow: /classes/
Disallow: /config/
Disallow: /download/
Disallow: /mails/
Disallow: /modules/
Disallow: /translations/
Disallow: /upload/
Disallow: /*?orderby=
Disallow: /*?orderway=
Disallow: /*?tag=
Disallow: /*?id_currency=
Disallow: /*?search_query=
Disallow: /*?back=
Disallow: /*?n=
Sitemap: https://twojsklep.pl/1_pl_sitemap.xml
Kluczowa sprawa w sklepach: blokujemy parametry sortowania (orderby, orderway) i filtrowania — one generuja setki tysiecy duplikatow, ktore szkodza SEO i marnuja budzet crawla. Glowne strony kategorii i produktow zostaja otwarte. Przy wiekszych sklepach ta optymalizacja potrafi uratowac 50-70% budzetu crawla, ktory Google przeznaczal na nieskonczone permutacje parametrow. W pracy nad pozycjonowaniem sklepow internetowych robots.txt to jeden z pierwszych punktow audytu technicznego.
Porownanie — typowe dyrektywy i ich znaczenie
Ponizej tabela z najczestszymi konstrukcjami robots.txt i ich rzeczywistym znaczeniem.
| Dyrektywa | Znaczenie | Przyklad uzycia |
|---|---|---|
User-agent: * | Reguly dla wszystkich robotow | Poczatek sekcji domyslnej |
User-agent: Googlebot | Reguly tylko dla Googlebota | Osobna sekcja dla Google |
Disallow: / | Blokuj cala strone | Witryna w budowie, staging |
Disallow: /admin/ | Blokuj katalog admin | Panel administracyjny |
Disallow: /*.pdf$ | Blokuj wszystkie pliki PDF | Dokumenty wewnetrzne |
Disallow: /*?orderby= | Blokuj URLs z parametrem | Filtry sklepu |
Allow: /wp-content/uploads/ | Zezwol na katalog | Nadpisz ogolna blokade |
Sitemap: URL | Wskaz mape witryny | Ulatw Google znalezienie URLi |
Crawl-delay: 10 | 10 sekund miedzy zapytaniami | Ograniczenie dla Bing/Yandex |
# komentarz | Komentarz, ignorowany | Dokumentacja dla developera |
Pamietajmy: wielkosc liter ma znaczenie — /Admin/ i /admin/ to dla Googlebota rozne sciezki.
Najczestsze bledy w robots.txt
Robots.txt to plik, ktory jednym zlym znakiem potrafi skasowac strone z Google. Blad 1: Disallow: / na produkcji — klasyka, ktora zdarza sie po wdrazaniu z deva. Developer zapomnial zmienic plik przy przenoszeniu na produkcje; efekt: Google deindeksuje cala strone w kilka tygodni. Blad 2: Brak Sitemap — nie krytyczne, ale utrudnia Googlowi odkrywanie nowych URL-i. Blad 3: Blokowanie CSS i JS — stary trick z poradnikow sprzed 2015 roku: Disallow: /wp-content/themes/; dzisiaj Google musi widziec CSS i JS, zeby renderowac strone. Blad 4: Mieszanie Disallow z noindex — noindex w robots.txt JUZ NIE DZIALA od 2019 roku; do noindex sluzy meta tag albo X-Robots-Tag. Blad 5: Literowki w sciezkach — Disallow: admin/ dziala inaczej niz Disallow: /admin/. Blad 6: Blokowanie calej strony bez Allow — shoot in the foot. Zawsze po wdrazaniu testujemy plik w GSC.
Test robots.txt w Google Search Console
Google Search Console oferuje darmowy tester, ktory pozwala sprawdzic, czy dany URL bedzie crawlowany. Stary tester robots.txt zostal wygaszony w 2024 roku; obecnie funkcjonalnosc jest dostepna przez URL Inspection Tool w GSC — wpisujemy URL i sprawdzamy, czy Google moze go crawlowac. Alternatywa: technicalseo.com/tools/robots-txt/ albo merkle.com/seo/robots-txt-validator/ — wklejamy zawartosc pliku, podajemy URL, otrzymujemy wynik. Dodatkowo w GSC w raporcie Indexing > Pages widzimy, ile stron Google odrzucil z powodu robots.txt. Po kazdej zmianie robots.txt sprawdzamy minimum 5-10 kluczowych URL-i — to minuta roboty, ktora ratuje przed tygodniami problemow.
robots.txt a noindex meta — kluczowa roznica
To jedno z najczestszych nieporozumien w SEO. robots.txt mowi: 'nie crawluj tej strony', noindex mowi: 'nie pokazuj tej strony w wynikach Google'. To nie jest to samo! Jesli dodamy stronie zarowno Disallow w robots.txt jak i noindex meta tag, efekt bedzie paradoksalny: Google nie bedzie crawlowal strony, wiec nie zobaczy noindex tag — i jezeli mial ja juz w indeksie, zostanie tam dalej. Prawidlowe uzycie: jesli chcemy usunac strone z wynikow Google, uzywamy noindex (meta tag lub naglowek X-Robots-Tag), ale NIE blokujemy jej w robots.txt — Google musi ja crawlowac, zeby zobaczyc noindex. Jesli chcemy tylko zaoszczedzic budzet crawla (np. dziesiatki tysiecy stron z filtrami sklepu), uzywamy Disallow w robots.txt. Regula: kontrola indeksacji przez noindex, kontrola crawla przez robots.txt. Te dwa narzedzia rozwiazuja rozne problemy i nie nalezy ich mieszac. Pokrewny temat linkow kanonicznych tez dotyczy podobnej filozofii kontroli indeksu.
Specyficzne User-agent — GPTBot, CCBot, AI
W 2026 roku pojawil sie nowy wymiar robots.txt: kontrola AI. OpenAI, Anthropic, Google i inne firmy trenuja swoje modele LLM na naszych stronach. Glowne User-agenty do rozwazenia: GPTBot (OpenAI), CCBot (Common Crawl), ClaudeBot (Anthropic), Google-Extended (Bard, Gemini), PerplexityBot. Zeby zablokowac AI: User-agent: GPTBot + Disallow: / (i analogicznie dla pozostalych). Uwaga: zablokowanie tych botow nie wplywa na SEO w tradycyjnych wyszukiwarkach. Decyzja jest biznesowa: czy chcemy, zeby AI znalo nasze tresci (moze nas cytowac), czy nie.
Podsumowanie — robots.txt jako ciche narzedzie SEO
robots.txt to jeden z najstarszych i najprostszych elementow technicznego SEO, a jednoczesnie jeden z najczesciej zle konfigurowanych. Dobrze napisany plik oszczedza budzet crawla, wskazuje mape witryny, blokuje niepotrzebne parametry w sklepach. Zle napisany — kasuje strone z Google. Dla typowej strony firmowej wystarczy minimalistyczny plik z User-agent: *, Allow: / i linkiem do sitemap. Dla sklepu — rozbudowana wersja z blokada parametrow. Po kazdej zmianie testujemy plik w GSC. W naszej pracy nad profesjonalnymi stronami WWW robots.txt tworzymy razem z architektura informacyjna witryny — to fundament kontroli crawlingu od pierwszego dnia.
Najczęściej zadawane pytania (FAQ)
Gdzie umiescic plik robots.txt?
twojadomena.pl/robots.txt. Jesli umiescisz go gdziekolwiek indziej (np. /blog/robots.txt), roboty go zignoruja. Na WordPressie Yoast SEO i Rank Math potrafia wygenerowac wirtualny robots.txt (bez fizycznego pliku) — to tez dziala, bo serwer odpowiada na zapytanie /robots.txt wygenerowana tresc.Czy brak pliku robots.txt to problem?
Jaka jest roznica miedzy Disallow a noindex?
Czy mozna zablokowac cala strone w robots.txt?
User-agent: * + Disallow: / — to blokuje cala domene dla wszystkich robotow. Stosuje sie to tylko na stagingu i wersjach testowych, nigdy na produkcji! Niestety to jeden z najczestszych bledow SEO — developer zapomina zmienic plik przy wdrazaniu na produkcje i strona znika z Google. Efekt: spadek ruchu o 90-100% w ciagu 2-4 tygodni.Jak przetestowac robots.txt?
Czy robots.txt chroni przed hakerami?
Disallow: /admin-secret/), sami wskazujemy hakerom co ciekawego jest na naszej stronie. Prawdziwa ochrona to logowanie, HTTPS, haslo, whitelisty IP, firewall aplikacyjny.