Skip to content

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.txt

Plik 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

robots.txt
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://twojadomena.pl/sitemap.xml

Znaczenie:

  • User-agent — którego robota dotyczy blok (* oznacza wszystkich)
  • Disallow — ścieżka, której robot nie powinien odwiedzać
  • Allow — wyjątek od Disallow (wyższy priorytet przy tej samej głębokości)
  • Sitemap — pełny adres mapy strony (dyrektywa globalna, poza blokami User-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.

  1. Zaloguj się do panelu administracyjnego
  2. Wybierz „Strony internetowe" i otwórz odpowiednią domenę
  3. Przejdź do „Menedżer plików"
  4. Otwórz katalog public_html/ (lub inny katalog główny domeny)
  5. Utwórz nowy plik o nazwie dokładnie robots.txt (małe litery, bez BOM)
  6. 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.

bash
ssh [email protected]
cd ~/public_html
nano robots.txt
# wklej treść, zapisz: Ctrl+O, Enter, Ctrl+X

Sprawdź uprawnienia — plik powinien mieć 644:

bash
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:

robots.txt
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Fizyczny 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

robots.txt
User-agent: *
Allow: /
Sitemap: https://twojadomena.pl/sitemap.xml

Mówi wszystkim robotom: „indeksujcie wszystko" i wskazuje sitemapę.

Wersja dla WordPressa

robots.txt
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.xml

Dyrektywa 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).

robots.txt
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.

robots.txt
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ę *.

robots.txt
# 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).

robots.txt
User-agent: Bingbot
Crawl-delay: 10

User-agent: YandexBot
Crawl-delay: 30

Przydatne, 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

robots.txt
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:

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.xml

Sitemap 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.

robots.txt
# 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.txt i .htaccess z 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.txt z 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.txt z 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

bash
curl -I https://twojadomena.pl/robots.txt
curl https://twojadomena.pl/robots.txt

Pierwsza 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.

  1. Zaloguj się do Google Search Console
  2. Wybierz właściwość dla swojej domeny
  3. Przejdź do „Ustawienia → robots.txt"
  4. 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:

  1. Czy plik jest w katalogu głównym domeny (public_html/), a nie w podkatalogu
  2. Czy nazwa jest dokładnie robots.txt (małe litery, bez .txt.txt, bez BOM)
  3. Czy uprawnienia to 644 (nie 600 — serwer nie przeczyta)
  4. 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:

html
<meta name="robots" content="noindex, nofollow">
apache
<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