Plik robots.txt — jak go dodać i czemu naprawdę służy
Plik robots.txt to pierwszy dokument, po który sięga robot wyszukiwarki, gdy trafia na twoją domenę. Zawiera dyrektywy mówiące, które ścieżki robot może indeksować, a które powinien pominąć. Jest to prosta zwykła treść tekstowa — ale błąd w jednej linii potrafi zablokować całą stronę w Google.
Poniższy poradnik pokazuje jak poprawnie utworzyć robots.txt, na co zwrócić uwagę, oraz kilka mniej oczywistych trików. Dla użytkowników WordPressa opisano też trzy wtyczki, które ułatwiają edycję pliku bez logowania się na FTP.
Czas wdrożenia: 5-15 minut.
⚠️ robots.txt nie jest zabezpieczeniem
robots.txt to prośba do robotów, a nie mechanizm kontroli dostępu. Dobrze skonfigurowane crawlery (Googlebot, Bingbot) przestrzegają dyrektyw, ale złośliwe boty je zignorują. Jeśli chcesz naprawdę zablokować dostęp do katalogu — użyj .htaccess, autoryzacji HTTP lub nagłówków X-Robots-Tag.
Czym jest robots.txt
robots.txt musi znajdować się w głównym katalogu domeny i być dostępny pod adresem:
https://twojadomena.pl/robots.txtPlik pod inną ścieżką (np. /blog/robots.txt) zostanie zignorowany. Każda subdomena wymaga własnego pliku — sklep.twojadomena.pl i twojadomena.pl to dla robotów dwie różne witryny.
Składnia w dwóch minutach
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://twojadomena.pl/sitemap.xmlZnaczenie:
User-agent— którego robota dotyczy blok (*oznacza wszystkich)Disallow— ścieżka, której robot nie powinien odwiedzaćAllow— wyjątek odDisallow(wyższy priorytet przy tej samej głębokości)Sitemap— pełny adres mapy strony (dyrektywa globalna, poza blokamiUser-agent)
Jak dodać robots.txt na hostingu Joton
Metoda 1: Menedżer plików w panelu
Najszybszy sposób, jeśli nie korzystasz z FTP/SSH.
- Zaloguj się do panelu administracyjnego
- Wybierz „Strony internetowe" i otwórz odpowiednią domenę
- Przejdź do „Menedżer plików"
- Otwórz katalog
public_html/(lub inny katalog główny domeny) - Utwórz nowy plik o nazwie dokładnie
robots.txt(małe litery, bez BOM) - Wklej treść i zapisz
Po zapisie sprawdź plik w przeglądarce: https://twojadomena.pl/robots.txt. Powinien zwrócić wpisaną treść bez przekierowań.
Metoda 2: SSH / SFTP
Dla osób pracujących z terminala.
ssh [email protected]
cd ~/public_html
nano robots.txt
# wklej treść, zapisz: Ctrl+O, Enter, Ctrl+XSprawdź uprawnienia — plik powinien mieć 644:
chmod 644 robots.txt💡 Klucze SSH zamiast hasła
Jeśli jeszcze nie korzystasz z kluczy SSH, zobacz poradnik Generowanie kluczy SSH — logowanie staje się szybsze i bezpieczniejsze.
Metoda 3: Wirtualny robots.txt (WordPress)
WordPress domyślnie generuje własny wirtualny robots.txt, gdy nie znajdzie fizycznego pliku w katalogu głównym. Oznacza to, że nawet bez żadnej konfiguracji adres /robots.txt zwraca coś w stylu:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.phpFizyczny plik ma pierwszeństwo nad wirtualnym. Jeśli wgrasz własny robots.txt do public_html/, WordPress przestanie generować swój.
💡 Ustawienie „Odstrasz wyszukiwarki"
W „Ustawienia → Czytanie" WordPressa znajduje się opcja „Odstrasz wyszukiwarki przed indeksowaniem tej witryny". Zaznaczenie jej dokleja do wirtualnego robots.txt regułę Disallow: /. To częsta przyczyna nagłego zniknięcia strony z Google po migracji z developu.
Przykładowe konfiguracje
Minimalna wersja dla zwykłej strony
User-agent: *
Allow: /
Sitemap: https://twojadomena.pl/sitemap.xmlMówi wszystkim robotom: „indeksujcie wszystko" i wskazuje sitemapę.
Wersja dla WordPressa
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /readme.html
Disallow: /license.txt
Disallow: /xmlrpc.php
Disallow: /?s=
Disallow: /search/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Sitemap: https://twojadomena.pl/sitemap_index.xmlDyrektywa Disallow: /?s= blokuje indeksowanie wyników wyszukiwania wewnętrznego — Google traktuje je jako „thin content" i obniża ocenę witryny.
Staging / wersja testowa
Na środowiskach developerskich blokuj wszystko, żeby Google nie zindeksował kopii strony produkcyjnej (zduplikowana treść obniża pozycje).
User-agent: *
Disallow: /⚠️ Uważaj przy migracji
Jeśli wdrażasz stronę ze stagingu na produkcję przez rsync, łatwo jest przez przypadek nadpisać produkcyjny robots.txt wersją blokującą wszystko. Dodaj plik do listy wykluczeń przy deployu lub użyj osobnych plików (robots.staging.txt, robots.prod.txt).
Zobacz też: Przewodnik po staging.
Użyteczne triki
Trik 1: Blokowanie konkretnych typów plików
Znak $ oznacza koniec URL-a, * — dowolny ciąg znaków. Możesz dzięki temu blokować całe kategorie plików.
User-agent: *
Disallow: /*.pdf$
Disallow: /*.zip$
Disallow: /*.doc$
Disallow: /*.xls$Typowe zastosowanie: masz w witrynie pliki PDF z ofertami, których nie chcesz pokazywać w wynikach Google niezależnie od strony, na której są osadzone.
Trik 2: Różne reguły dla różnych robotów
Bloki User-agent są niezależne. Robot czyta tylko najlepiej pasujący blok — jeśli istnieje sekcja dokładnie dla niego, ignoruje sekcję *.
# Dla Google pełen dostęp
User-agent: Googlebot
Allow: /
# Dla trenerów modeli AI — blokujemy
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
# Pozostali — reguły domyślne
User-agent: *
Disallow: /wp-admin/Google-Extended to osobny user-agent kontrolujący, czy Google może wykorzystywać twoje treści do trenowania modeli AI (Bard/Gemini). GPTBot to crawler OpenAI, ClaudeBot — Anthropic, CCBot — Common Crawl.
Trik 3: Crawl-delay dla agresywnych botów
Niektóre boty (np. Yandex, Bing) przyjmują dyrektywę Crawl-delay, która ustawia minimalny odstęp w sekundach między żądaniami. Google tę dyrektywę ignoruje (tempo crawlowania ustawisz w Google Search Console).
User-agent: Bingbot
Crawl-delay: 10
User-agent: YandexBot
Crawl-delay: 30Przydatne, gdy mały serwer zaczyna dławić się pod crawlerami wyszukiwarek, które mają dla ciebie mniejsze znaczenie biznesowe.
Trik 4: Dopasowania ze znakami wieloznacznymi
User-agent: *
# Blokuj wszystkie parametry sortowania
Disallow: /*?sort=
Disallow: /*?orderby=
# Blokuj strony z parametrami sesji
Disallow: /*?sessionid=
# Blokuj wydruki
Disallow: /*/print/Dzięki temu Google nie indeksuje kilkunastu wariantów URL-a z tym samym contentem i tylko zmienionym parametrem — typowy problem sklepów internetowych.
Trik 5: Wiele sitemap w jednym pliku
Dla dużych serwisów Google zaleca rozbijanie sitemap po 50 000 URL-i lub 50 MB. Wszystkie podaj w robots.txt:
Sitemap: https://twojadomena.pl/sitemap-posts.xml
Sitemap: https://twojadomena.pl/sitemap-products.xml
Sitemap: https://twojadomena.pl/sitemap-categories.xml
Sitemap: https://twojadomena.pl/sitemap-images.xmlSitemap jest dyrektywą globalną — umieść ją na końcu pliku, poza blokami User-agent.
Trik 6: Komentarze
Linie zaczynające się od # są ignorowane przez roboty. Używaj ich, żeby samemu zrozumieć plik za pół roku.
# Blok dla crawlerów AI — aktualizowany 2026-04
User-agent: GPTBot
Disallow: /Wtyczki WordPress do zarządzania robots.txt
Zamiast edytować plik przez FTP, możesz zarządzać nim z panelu WordPressa. Trzy sprawdzone opcje:
Yoast SEO
Najpopularniejsza wtyczka SEO dla WordPressa, działająca na ponad 13 mln witryn. Oprócz pełnej obsługi meta-tagów, sitemap i schema, ma wbudowany edytor robots.txt.
Gdzie znajdziesz: Yoast SEO → Narzędzia → Edytor plików
Funkcje:
- Edycja
robots.txti.htaccessz panelu - Jeśli plik nie istnieje fizycznie, wtyczka zaproponuje jego utworzenie
- Automatyczne dopisywanie adresu sitemapy generowanej przez Yoast
⚠️ Dostęp do edytora plików
Edytor plików Yoasta działa tylko, gdy w wp-config.php nie ustawiono DISALLOW_FILE_EDIT na true. Zobacz Hardening wp-config.php po szczegóły.
Rank Math SEO
Konkurent Yoasta, często polecany ze względu na bogatszy darmowy plan i integrację z Google Search Console bezpośrednio w panelu WordPressa.
Gdzie znajdziesz: Rank Math → Ogólne Ustawienia → Edytuj robots.txt
Funkcje:
- Edytor
robots.txtz podglądem składni - Predefiniowane szablony dla typowych scenariuszy
- Walidacja składni przed zapisem (wykrywa literówki i nieprawidłowe dyrektywy)
- Gotowe bloki dla blokady crawlerów AI (GPTBot, CCBot, Google-Extended)
Rank Math nie pozwoli ci zapisać robots.txt, jeśli w katalogu głównym istnieje już fizyczny plik — usuń go przez FTP, żeby wtyczka przejęła kontrolę (zacznie serwować wirtualną wersję).
Virtual Robots.txt
Minimalistyczna wtyczka robiąca tylko jedną rzecz: dodaje w panelu edytor wirtualnego robots.txt. Nie tworzy fizycznego pliku — treść zapisuje w bazie danych i serwuje ją pod adresem /robots.txt.
Gdzie znajdziesz: Ustawienia → Robots.txt
Wybierz tę wtyczkę, jeśli:
- Nie używasz (i nie chcesz używać) Yoasta ani Rank Math
- Potrzebujesz edytować
robots.txtz panelu, ale bez obciążania strony dużą wtyczką SEO - Pracujesz na wielu witrynach i szukasz jednolitego, prostego rozwiązania
Waży niecałe 20 KB, nie wpływa na wydajność frontendu.
💡 Która wtyczka dla kogo
Jeśli już masz Yoasta lub Rank Math — używaj ich wbudowanych edytorów, nie instaluj kolejnej wtyczki. Virtual Robots.txt ma sens tylko wtedy, gdy nie masz żadnej wtyczki SEO i nie chcesz jej instalować.
Weryfikacja pliku
Po wgraniu robots.txt zawsze sprawdź, czy działa poprawnie.
Podgląd w przeglądarce
Otwórz https://twojadomena.pl/robots.txt. Powinien zwrócić status 200 OK i wyświetlić czystą treść bez HTML-a wokół.
Curl z terminala
curl -I https://twojadomena.pl/robots.txt
curl https://twojadomena.pl/robots.txtPierwsza komenda pokaże nagłówki (status, Content-Type: text/plain). Druga — zawartość pliku.
Tester Google Search Console
Najbardziej wiarygodna metoda weryfikacji, bo pokazuje jak plik widzi konkretnie Googlebot.
- Zaloguj się do Google Search Console
- Wybierz właściwość dla swojej domeny
- Przejdź do „Ustawienia → robots.txt"
- Zobaczysz status ostatniego pobrania i ewentualne błędy parsowania
Alternatywnie: https://www.google.com/webmasters/tools/robots-testing-tool
Najczęstsze problemy
„Plik nie jest widoczny, choć go wgrałem"
Sprawdź kolejno:
- Czy plik jest w katalogu głównym domeny (
public_html/), a nie w podkatalogu - Czy nazwa jest dokładnie
robots.txt(małe litery, bez.txt.txt, bez BOM) - Czy uprawnienia to
644(nie600— serwer nie przeczyta) - Czy WordPress albo wtyczka SEO nie generuje wirtualnej wersji zamiast serwować twój plik — usuń wirtualny lub nadpisz fizycznym
„Strona zniknęła z Google po wgraniu robots.txt"
Najprawdopodobniej w pliku jest Disallow: / dla User-agent: *. Otwórz robots.txt, usuń tę regułę i poczekaj 1-3 dni na ponowne indeksowanie. Możesz przyspieszyć przez „Poproś o zindeksowanie" w Google Search Console.
„Blokuję URL w robots.txt, a Google nadal pokazuje go w wynikach"
robots.txt blokuje pobieranie strony, nie jej indeksowanie. Jeśli do zablokowanego URL-a prowadzą linki z zewnątrz, Google może pokazać go w wynikach bez treści (tylko z adresem URL).
Chcesz faktycznie usunąć stronę z indeksu? Użyj meta-tagu lub nagłówka:
<meta name="robots" content="noindex, nofollow"><IfModule mod_headers.c>
Header set X-Robots-Tag "noindex, nofollow"
</IfModule>I nie blokuj tej strony w robots.txt — inaczej Google nie pobierze jej i nie zobaczy dyrektywy noindex.
„Wtyczka SEO pokazuje moje zmiany, ale /robots.txt zwraca starą treść"
WordPress cache'uje wirtualny robots.txt. Wyczyść cache strony (LiteSpeed Cache, W3 Total Cache) oraz cache przeglądarki (Ctrl+F5). Jeśli korzystasz z Cloudflare, zrób również „Purge Everything".
Ścieżka sugerowanego wdrożenia
Jeśli masz 5 minut: Wgraj minimalną wersję z sitemapą przez menedżer plików. To lepsze niż brak pliku.
Jeśli masz 15 minut: Użyj wersji dla WordPressa z przykładu powyżej, dopasuj ścieżki do swojej struktury, przetestuj w Google Search Console.
Jeśli masz 30 minut: Przeanalizuj logi serwera (access.log) pod kątem agresywnych botów, dodaj reguły Crawl-delay lub Disallow dla crawlerów AI. Podziel sitemapę jeśli masz więcej niż 10 000 URL-i.
Powiązane artykuły
- Nagłówki bezpieczeństwa — kontrola indeksowania przez
X-Robots-Tag - Optymalizacja WordPress — LiteSpeed Cache i Redis
- Przewodnik po staging — osobne środowisko testowe
- Wtyczki bezpieczeństwa — dalsza ochrona witryny