robots.txt
to jeden z najprostszych, a zarazem najbardziej ryzykownych plików technicznych w SEO. Jedna linijka potrafi przyspieszyć pracę robotów albo… wyłączyć widoczność całej witryny. Dobrze skonfigurowany plik pomaga ukierunkować crawlowanie (np. nie marnować budżetu na parametry i wyniki wyszukiwania), a także wskazać robotom mapę witryny. Źle skonfigurowany — utrudni renderowanie, zablokuje zasoby CSS/JS i spowoduje niepotrzebne błędy w Search Console.
Najważniejsze, by rozumieć różnicę między crawlowaniem a indeksacją: robots.txt
steruje odwiedzaniem adresów przez boty, nie decyduje bezpośrednio o tym, czy URL znajdzie się w indeksie. Do deindeksacji służy meta robots noindex
na konkretnej stronie (a bot musi móc tę stronę pobrać, żeby meta w ogóle zobaczyć).
Czym jest robots.txt i jak działa
robots.txt
to prosty plik tekstowy w katalogu głównym domeny (np. https://twojadomena.pl/robots.txt
), który instruuje roboty wyszukiwarek, jak crawlować Twój serwis.
Crawlowanie vs indeksacja — kluczowa różnica
- Crawlowanie to pobieranie treści przez boty.
- Indeksacja to decyzja wyszukiwarki, czy dany URL ma trafić do wyników.
Disallow
ogranicza pobieranie URL-i, ale nie gwarantuje braku indeksacji (URL może trafić do indeksu z samych linków zewnętrznych/wewnętrznych).- Jeśli chcesz wykluczyć stronę z wyników, użyj
<meta name="robots" content="noindex">
na tej stronie i nie blokuj jej wrobots.txt
— inaczej bot nie zobaczy meta.
Co robots.txt może, a czego nie może
Może:
- zablokować crawlowanie wybranych ścieżek (
Disallow
), - zezwolić na wyjątki w zablokowanej strefie (
Allow
), - wskazać lokalizację map witryny (
Sitemap
).
Nie może:
- wymusić deindeksacji (od tego jest meta
noindex
lub nagłówekx-robots-tag
), - ustalać wersji kanonicznej,
- regulować szybkości crawlowania w Google (
Crawl-delay
przez Google ignorowane), - działać „globalnie” dla całej infrastruktury — każda subdomena ma swój własny
robots.txt
.
Jak wyszukiwarki czytają reguły — składnia i priorytety
User-agent:
— wskaż bota (np.Googlebot
) lub*
dla wszystkich.Disallow:
— ścieżka zakazana; pusta wartość = wszystko dozwolone.Allow:
— wyjątek odDisallow
(obsługiwane m.in. przez Google).- Wildcardy:
*
(dowolny ciąg znaków),$
(koniec adresu). - Reguły dopasowane bardziej szczegółowo zwykle wygrywają nad ogólnymi.
- Wpisy
Sitemap:
mogą występować wielokrotnie (dla wielu map).
Minimalny, bezpieczny start (WordPress)
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://twojadomena.pl/sitemap_index.xml
Konsekwencje złej konfiguracji
- zablokowanie katalogów z CSS/JS utrudnia renderowanie i obniża jakość ocen UX,
- globalne
Disallow: /
(często po developmencie) = brak crawlowania całej witryny, - blokowanie stron, które mają
noindex
, uniemożliwia botowi odczyt meta i „uwięzi” adres w indeksie.
Gdzie umieścić robots.txt i jak dodać w WordPressie
Lokalizacja i dostępność pliku
- Miejsce: katalog główny hostingu (root domeny).
- Publiczny URL:
https://twojadomena.pl/robots.txt
. - Sprawdź, czy serwer zwraca HTTP 200 i nagłówek
Content-Type: text/plain
. - Maksymalny rozmiar praktyczny: do ~500 KB (to i tak bardzo dużo).
WordPress — trzy bezpieczne sposoby
- Ręcznie (FTP / Menedżer plików)
- Utwórz w root
robots.txt
, wklej treść, zapisz w kodowaniu UTF-8. - Plus: pełna kontrola. Minus: łatwo o błąd przy ręcznych edycjach.
- Utwórz w root
- Wtyczka SEO (Yoast / Rank Math / AIOSEO)
- Z poziomu panelu edytujesz
robots.txt
isitemap
. - Nie twórz wtedy pliku ręcznie, aby uniknąć konfliktu dwóch źródeł.
- Z poziomu panelu edytujesz
- Motyw/własny snippet (dla zaawansowanych)
- Serwowanie „wirtualnego”
robots.txt
przez hook (np.do_robots
). - Wymaga świadomości, by nie kolidować z wtyczkami SEO.
- Serwowanie „wirtualnego”
Nagłówki, cache i wersjonowanie
Content-Type
:text/plain; charset=utf-8
.- Cache: możesz keszować, ale pamiętaj o odświeżeniu po zmianach (purge).
- Roboty okresowo pobierają nową wersję — przy krytycznych zmianach warto równolegle zaktualizować i pingnąć sitemapę.
Subdomeny, staging i wielojęzyczność
- Każda subdomena (np.
blog.twojadomena.pl
) ma osobnyrobots.txt
. - Środowiska testowe (
stage.twojadomena.pl
) zabezpiecz hasłem i dodajDisallow: /
tylko tam — nigdy na produkcji. - W wersjach wielojęzycznych (np.
/pl/
,/en/
) zwykle jedenrobots.txt
dla domeny, bez blokowania zasobów dla hreflang i API (/wp-json/
).
Szybka lista kontrolna wdrożenia
- publiczny URL
.../robots.txt
zwraca 200 itext/plain
, - nie blokujesz katalogów z CSS/JS,
- dodałeś linie
Sitemap:
dla wszystkich map, - nie ma globalnego
Disallow: /
na produkcji, - strony z
noindex
nie są blokowane wrobots.txt
, - subdomeny mają własne, dostosowane pliki.
Składnia i najważniejsze dyrektywy w robots.txt
robots.txt
składa się z bloków reguł dla wybranych botów. Każdy blok zaczyna się od User-agent:
i zawiera dyrektywy, które go dotyczą. Komentarze zaczynamy #
. Ścieżki są case-sensitive (po domenie), więc /Folder/
i /folder/
to różne adresy.
Struktura pliku — bloki dla botów
Najpierw reguły dla konkretnych botów (np. Googlebot-Image), potem ogólny blok *
. Bot wybiera najlepiej dopasowaną nazwę (np. Googlebot-Image
zamiast Googlebot
, a Googlebot
zamiast *
).
# Blok dla obrazów Google
User-agent: Googlebot-Image
Allow: /wp-content/uploads/
Disallow: /private/
# Ogólny blok dla wszystkich
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://twojadomena.pl/sitemap_index.xml
User-agent — do kogo mówisz?
User-agent: *
— reguły dla wszystkich botów.- Konkret:
Googlebot
,Googlebot-Image
,AdsBot-Google
,Bingbot
. - Jeśli ten sam bot pasuje do wielu bloków, bierze ten najbardziej szczegółowy.
Disallow — czego nie crawlować
Zakazuje pobierania dopasowanych ścieżek. Pusta wartość po Disallow:
oznacza „nic nie zakazuj”.
User-agent: *
Disallow: /wp-admin/
Disallow: /search/ # katalog wyników wyszukiwarki wewnętrznej
Disallow: /*?s= # zapytania ?s= (WordPress search)
Disallow: /*.pdf$ # wszystkie PDF-y
Uwaga:
Disallow
nie usuwa stron z indeksu. Do deindeksacji użyjnoindex
(meta/nagłówek).
Allow — wyjątek od zakazu
Pozwala na crawl w obrębie zablokowanego katalogu. Wspierane m.in. przez Google.
User-agent: *
Disallow: /private/
Allow: /private/js/
Allow: /private/css/
Sitemap — gdzie są mapy witryny
Podawaj pełne adresy; możesz dodać kilka linii, także do map na subdomenach.
Sitemap: https://twojadomena.pl/sitemap_index.xml
Sitemap: https://blog.twojadomena.pl/sitemap_index.xml
Wildcardy i kotwica końca
*
— dowolny ciąg znaków (w tym parametry).$
— koniec URL (użyteczne dla rozszerzeń plików).
User-agent: *
Disallow: /*?utm_ # wszystkie adresy z parametrami kampanii
Disallow: /*?filter_* # adresy z parametrami filtrów
Disallow: /*.xlsx$ # pliki xlsx
Allow: /media/*.webp$ # zezwól wybrane rozszerzenie w danym katalogu
Priorytety i rozstrzyganie konfliktów
Google stosuje zasadę najdłuższego dopasowania ścieżki (bardziej szczegółowa reguła wygrywa).
User-agent: *
Disallow: /private/
Allow: /private/zasoby-publiczne/
# Wynik:
# /private/raport.html → zablokowane
# /private/zasoby-publiczne/ → dozwolone (Allow jest bardziej szczegółowe)
Dyrektywy i konstrukcje, których lepiej nie używać
Noindex:
w robots.txt — niewspierane przez Google.Crawl-delay:
— ignorowane przez Google (częściowo wspiera Bing/Yandex).Host:
— ignorowane przez Google.- Blokowanie
/wp-includes/
,/wp-content/
w WordPress — grozi utratą renderu (CSS/JS).
Przykłady dopasowań — szybkie studium przypadku
User-agent: *
Disallow: /tag/
Disallow: /*?orderby=
Allow: /tag/poradnik-seo/ # wyjątek: chcesz, by ta sekcja była crawlowa
# /tag/nowosci/ → zablokowane
# /tag/poradnik-seo/ → dozwolone (Allow)
# /kategoria/akcesoria/?orderby=price → zablokowane (parametr sortowania)
Minimalny, bezpieczny wzorzec (WordPress/WooCommerce)
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
# NIE blokuj koszyka/checkout — daj tam meta noindex w szablonie:
# /cart/, /checkout/, /my-account/
Sitemap: https://twojadomena.pl/sitemap_index.xml
20 gotowych przykładów reguł (różne przypadki)
Nie wklejaj wszystkich naraz. Wybierz te, które pasują do Twojej witryny.
Komentarze po#
są dla Ciebie – roboty je ignorują.
1) WordPress – bezpieczny start
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://twojadomena.pl/sitemap_index.xml
2) WP – nie blokuj zasobów (CSS/JS)
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
# Nie blokujemy /wp-includes/ ani /wp-content/ – potrzebne do renderu
3) Wewnętrzna wyszukiwarka WP
User-agent: *
Disallow: /*?s=
# Lepiej: meta noindex na stronach wyszukiwania, zamiast Disallow
4) Parametry UTM, FBCLID, GCLID (śmieci w indeksie)
User-agent: *
Disallow: /*?utm_
Disallow: /*&utm_
Disallow: /*?gclid=
Disallow: /*?fbclid=
5) Katalog wyników wyszukiwania (niestandardowy)
User-agent: *
Disallow: /search/
6) Strony podglądu, wersje robocze
User-agent: *
Disallow: /*?preview=true
Disallow: /wp-json/wp/v2/ # ostrożnie – blokując API możesz utrudnić integracje
7) Archiwa dat / autorów (jeśli duplikują)
User-agent: *
Disallow: /author/
Disallow: /2023/
Disallow: /2024/
# Częściej stosuj meta noindex w szablonie tych archiwów
8) Paginacje w tagach/kategoriach (jeśli nieużyteczne)
User-agent: *
Disallow: /tag/*/page/
Disallow: /category/*/page/
9) WooCommerce – parametry, sortowanie, filtrowanie
User-agent: *
Disallow: /*?orderby=
Disallow: /*?filter_
Disallow: /*?min_price=
Disallow: /*?max_price=
# Uwaga: nie blokuj istotnych listingów – rozważ faceted SEO + kanonikalizacje
10) WooCommerce – koszyk/checkout/konto (preferuj meta noindex)
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
# Lepsze: noindex w szablonach, bez Disallow, by robot widział meta
11) Blokowanie feedów (opcjonalnie)
User-agent: *
Disallow: /feed/
Disallow: /*/feed/
Disallow: /comments/feed/
12) Pliki do pobrania (PDF, CSV – jeśli nie chcesz ich w indeksie)
User-agent: *
Disallow: /*.pdf$
Disallow: /*.csv$
# Jeśli chcesz, by roboty indeksowały opisy plików – nie blokuj, użyj noindex po stronie listingu
13) Katalogi prywatne / staging
User-agent: *
Disallow: /private/
Disallow: /backup/
Disallow: /stage/
Disallow: /test/
# Staging zabezpiecz również hasłem (Basic Auth)
14) Wyjątki w obszarze zablokowanym (Allow w Google)
User-agent: *
Disallow: /private/
Allow: /private/css/
Allow: /private/js/
15) Wiele map witryny (multi-site, subdomena bloga)
Sitemap: https://twojadomena.pl/sitemap_index.xml
Sitemap: https://blog.twojadomena.pl/sitemap_index.xml
Sitemap: https://twojadomena.pl/news-sitemap.xml
16) Googlebot-Image – dopuszczamy obrazy
User-agent: Googlebot-Image
Allow: /wp-content/uploads/
17) AdsBot-Google – landing pages dla kampanii muszą być crawlable
User-agent: AdsBot-Google
Allow: /
18) Ograniczenie botów narzędziowych (ostrożnie – mogą być przydatne)
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Disallow: /
19) Parametry kampanii i śledzenia (dodatkowe)
User-agent: *
Disallow: /*?utm_source=
Disallow: /*?utm_medium=
Disallow: /*?ref=
Disallow: /*?sessionid=
20) Wykluczenie podkatalogu z materiałami backend (np. exporty)
User-agent: *
Disallow: /export/
Disallow: /admin-tools/
Disallow: /*.log$
Wskazówka: jeśli masz wiele warstw przekierowań (np. 301→301→200), uporządkuj je –
robots.txt
nie rozwiązuje problemów łańcuchów, a tylko dokłada komplikacji w crawlowaniu.

Jak testować i monitorować
Szybka weryfikacja techniczna
- Wejdź w przeglądarce na
https://twojadomena.pl/robots.txt
.
Powinno zwrócić HTTP 200 i treść „czystego” tekstu. - Sprawdź nagłówek
Content-Type: text/plain; charset=utf-8
. - Jeśli używasz CDN/kesza, po zmianach wykonaj purge.
Google Search Console – Inspekcja URL i raporty
- Inspekcja URL → Przetestuj adres na żywo:
zobaczysz, czy Crawl allowed = Tak/Nie dla danego URL. - Strony (Indexing → Pages):
przejrzyj sekcję „Wykluczone” – zobaczysz „Zablokowano przez plik robots txt” oraz konkretne przykłady. - Sitemaps: dodaj/zaktualizuj mapę. Jeśli zmieniasz reguły robots, dobrze jest również „odświeżyć” zgłoszenie mapy.
Test w crawlerze (Screaming Frog / Sitebulb)
- Uruchom crawl domeny i porównaj listę „Blocked by robots.txt”.
- Przetestuj „Custom robots.txt” (Screaming Frog ma opcję Local robots.txt) – możesz sprawdzić nową wersję przed wdrożeniem na produkcji.
- Sprawdź zakładki: Render, Blocked Resources – czy CSS/JS są dostępne.
Analiza logów serwera
- W logach http(s) zobaczysz faktyczne odwiedziny botów (User-Agent, kod odpowiedzi, ścieżka).
- Szukaj:
- nadmiernych hitów na „mało wartościowe” parametry,
- błędów 404/5xx indeksowanych stron,
- nagłych spadków hitów Googlebota po zmianach w
robots.txt
.
Procedura po zmianach
- Zrób kopię obecnego
robots.txt
. - Wprowadź zmiany najpierw na stagingu i przetestuj crawlerem.
- Wdróż na produkcję, zrób purge cache/CDN.
- Zaktualizuj/zgłoś Sitemaps w GSC.
- Monitoruj przez 7–14 dni: raport „Strony” i „Crawled/Indexed” oraz logi.
Najczęstsze czerwone flagi
- „Zablokowano przez plik robots.txt” w ważnych URL-ach produktowych/kategorii.
- Blokada katalogów z CSS/JS.
- Globalne
Disallow: /
pozostawione po developmencie. - Blokowanie stron z meta noindex (robot nie może odczytać meta).
- Brak linii
Sitemap:
lub błędne ścieżki map.
Budujemy strony zgodne z najlepszymi standardami Google: Core Web Vitals, podejście mobile-first, schema.org i dostępność.
Tworzenie stron internetowychWtyczki WordPress do robots.txt – które wybrać i jak dbać o czytelność
Zasada numer jeden: jedna wtyczka SEO powinna odpowiadać zarówno za robots.txt
, jak i sitemapę. To minimalizuje konflikty i utrzymuje spójność. Plik fizyczny robots.txt
trzymaj tylko wtedy, gdy świadomie rezygnujesz z edycji przez wtyczkę.
Yoast SEO – bezpieczny minimalizm
Plusy:
- Prosty edytor
robots.txt
i automatyczna obsługa sitemap (gdy włączona funkcja map). - Rozsądne ustawienia domyślne; mniejsze ryzyko „przeoptymalizowania”.
Na co uważać: - Jeśli istnieje fizyczny
robots.txt
w root, edycja w panelu może być wyłączona. - Edytor plików bywa blokowany przez politykę hostingu (to normalne – wtedy edytuj przez FTP).
Czytelność: Yoast zwykle nie „zaśmieca” pliku. Zalecany, jeśli chcesz minimum reguł + pełną kontrolę.
Rank Math SEO – elastyczny edytor wirtualny
Plusy:
- Wygodny „wirtualny”
robots.txt
(bez fizycznego pliku), szybka edycja i rollback. - Dobra obsługa multisite; wygodne dodawanie kilku linii
Sitemap:
.
Na co uważać: - Szablony i gotowce potrafią dodać zbyt wiele reguł – trzymaj minimalizm.
- Łatwo przypadkowo zablokować zasoby, jeśli bezrefleksyjnie użyjesz gotowych presetów.
Czytelność: świetna, jeśli trzymasz się własnej konwencji i ograniczasz liczbę bloków.
All in One SEO (AIOSEO) – wszystko w jednym
Plusy:
- Globalny edytor
robots.txt
+ integracja z sitemapą i regułami indeksowania. - Dobre podpowiedzi dla początkujących.
Na co uważać: - Opcje typu „blokady botów” mogą dopisywać obszerne listy user-agentów. Czytelność i utrzymanie spadają, a efekt SEO bywa iluzoryczny.
- Unikaj nadmiarowych reguł – łatwo o chaos.
Czytelność: dobra, o ile nie włączasz masowego „blokowania botów”.
SEOPress – lekko i przejrzyście
Plusy:
- Prosty edytor, czysty domyślny output; dobre dla stron nastawionych na minimalizm.
- Wsparcie multisite.
Na co uważać: - Jeśli równocześnie działa inna wtyczka SEO, możesz dorobić się dwóch źródeł prawdy. Zostań przy jednej.
Czytelność: bardzo dobra, gdy trzymasz jednolitą konwencję formatowania.
„WP Robots Txt” i podobne wtyczki pojedynczego celu
Plusy:
- Bardzo proste – tylko edycja
robots.txt
.
Na co uważać: - Brak integracji z mapami witryn; większe ryzyko rozjazdu między
robots.txt
a sitemapą. - Łatwo o konflikt, gdy później doinstalujesz dużą wtyczkę SEO.
Czytelność: zależy wyłącznie od Twojej dyscypliny – brak „prowadzenia za rękę”.
Rekomendacja wyboru
- Wybierz jeden „silnik” SEO (Yoast albo Rank Math albo SEOPress/AIOSEO) i powierz mu jednocześnie
robots.txt
oraz sitemapę. - Unikaj równoległej edycji: wtyczka + fizyczny plik na FTP.
- Zadbaj o konwencję formatowania – ten sam układ bloków we wszystkich projektach.
Wtyczki WordPress – edycja robots.txt
Konwencja czytelności — prosty standard do wdrożenia
- Krótki komentarz nagłówkowy (data/autor zmiany).
- Najpierw bloki dla botów specyficznych (np.
Googlebot-Image
), potem blok*
. - Grupuj reguły: katalogi, parametry, rozszerzenia plików.
- Na końcu wszystkie wiersze
Sitemap:
(pełne URL-e). - Puste linie między blokami, bez egzotycznych dyrektyw.
Przykład „czytelny”:
# robots.txt – SocialBerry, aktualizacja: 2025-08-25
User-agent: Googlebot-Image
Allow: /wp-content/uploads/
User-agent: *
# Katalogi systemowe
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
# Parametry i śmieci
Disallow: /*?s=
Disallow: /*?utm_
Disallow: /*?fbclid=
Disallow: /*?gclid=
# Rozszerzenia (opcjonalnie)
# Disallow: /*.pdf$
Sitemap: https://twojadomena.pl/sitemap_index.xml
Sitemap: https://blog.twojadomena.pl/sitemap_index.xml
Przykład „nieczytelny” (czego unikać):
User-agent:* Disallow:/ wp-admin/ Disallow:/*?s=Disallow:/*?utm_Allow:/wp-admin/admin-ajax.php
Sitemap:https://twojadomena.pl/sitemap_index.xml Sitemap:https://blog.twojadomena.pl/sitemap_index.xml
# losowa lista 50 botów do blokowania...
Kiedy fizyczny plik, a kiedy „wirtualny” przez wtyczkę?
- Wirtualny (przez wtyczkę SEO): zalecany w 90% przypadków — łatwa edycja, wersjonowanie, spójność z sitemapą.
- Fizyczny plik: gdy masz nietypową infrastrukturę/CI/CD, chcesz wersjonować
robots.txt
w repo lub hosting blokuje edycję plików z panelu.
Drobne, ale ważne dobre praktyki
- Nie blokuj katalogów z CSS/JS – wpływa to na render.
- Nie używaj
Noindex:
wrobots.txt
— Google tego nie wspiera. Crawl-delay
iHost
ignorowane przez Google — nie śmieć nimi w pliku.- Strony typu koszyk/checkout/konto oznaczaj meta
noindex
w szablonach, nie wrobots.txt
. - Po każdej zmianie: purge cache/CDN i szybki test w GSC → Inspekcja URL.

Podsumowanie – warto poświęcić parę minut na porządny robots.txt
Dobrze zaprojektowany robots.txt
porządkuje sposób, w jaki boty eksplorują Twoją stronę. To nie jest „magiczny przełącznik SEO”, ale element, który realnie wpływa na wydajność crawlowania, szybkość wykrywania nowych treści i stabilność renderowania. Klucz tkwi w zrozumieniu różnicy między crawlowaniem a indeksacją: Disallow
jedynie ogranicza pobieranie adresów, natomiast o obecności w wynikach decydują mechanizmy indeksacji. Dlatego do usuwania adresów z wyników służy meta noindex
/nagłówek X-Robots-Tag
, a nie robots.txt
.
Najczęstsze problemy wynikają z kilku prostych błędów: przypadkowe pozostawienie Disallow: /
po developmencie, blokowanie kluczowych zasobów CSS/JS (co obniża jakość renderu), blokowanie stron z noindex
(robot nie widzi meta) oraz brak odniesień do Sitemaps, przez co roboty wolniej odnajdują nowe adresy. W środowiskach z subdomenami pamiętaj, że każda z nich ma swój własny robots.txt
. W stagingu zabezpieczaj dostęp hasłem i stosuj osobny, restrykcyjny plik – nigdy nie kopiuj go bezrefleksyjnie na produkcję.
Finalnie, najlepszą strategią jest minimalizm plus świadome wyjątki: krótki, czytelny plik z kilkoma regułami i wyraźnie wskazaną mapą witryny. Gdy dochodzą zaawansowane przypadki (filtrowanie, sortowanie, faceted navigation, rozbudowane parametry, różne boty), pracuj iteracyjnie: wprowadź zmianę, przetestuj w Inspekcji URL i crawlerze, sprawdź logi, a potem wdrażaj na produkcję z kontrolą efektów w Search Console.
Najważniejsze zasady w pigułce
- Nie myl
Disallow
z deindeksacją – do wykluczania używajnoindex
. - Nie blokuj katalogów z CSS/JS – są potrzebne do renderowania.
- Dodaj wszystkie mapy witryny w liniach
Sitemap:
(także dla subdomen). - Każda subdomena ma osobny
robots.txt
. - Staging/test: hasło + restrykcyjny
robots.txt
tylko tam. - Zmiany wprowadzaj małymi krokami i monitoruj w GSC, crawlerze i logach.
Co zrobić teraz (checklista działań)
- Otwórz
https://twojadomena.pl/robots.txt
i sprawdź: HTTP 200 orazContent-Type: text/plain
. - Upewnij się, że nie blokujesz /wp-content/ i /wp-includes/ (WordPress) ani krytycznych zasobów.
- Dodaj/zweryfikuj linie
Sitemap:
(wszystkie mapy w pełnych URL-ach). - Sprawdź w Search Console → Inspekcja URL, czy kluczowe strony mają „Crawl allowed: Yes”.
- Przepuść test w Screaming Frog/Sitebulb z lokalnym
robots.txt
, zanim wdrożysz zmiany. - Po wdrożeniu zrób purge cache/CDN i zaktualizuj Sitemaps w GSC.
- Monitoruj raporty „Strony” i logi przez 7–14 dni; koryguj reguły, jeśli zajdzie potrzeba.
Chcesz mieć pewność, że robots.txt, sitemap i render są skonfigurowane poprawnie?
Zamów szybki audyt techniczny SEOOficjalne wytyczne Google dotyczące pliku robots.txt oraz metatagów indeksowania znajdziesz w dokumentacji Search Central: robots.txt – wprowadzenie i meta robots.
Mini FAQ, czyli nie bądź zielony w temacie robots.txt

Robots.txt – co to jest i do czego służy?
Gdzie musi się znajdować robots.txt?
https://twojadomena.pl/robots.txt
. Serwer powinien zwracać HTTP 200 i Content-Type: text/plain
.Czy Disallow usuwa stronę z Google?
Disallow
ogranicza crawlowanie, ale adres może się pojawić w indeksie z samych linków. Do wykluczania użyj meta noindex
(lub nagłówka X-Robots-Tag
) i nie blokuj równocześnie tego URL w robots.txt.Jak dodać mapę witryny w robots.txt?
Sitemap: https://twojadomena.pl/sitemap_index.xml
. Dopuszczalne są wiele linii Sitemap:
(np. blog, newsy, subdomeny).Czy każda subdomena ma własny robots.txt?
blog.twojadomena.pl/robots.txt
to inny plik niż www.twojadomena.pl/robots.txt
. Reguły dobierasz do roli subdomeny.Czy mogę blokować CSS i JS w robots.txt?
Jak dodać robots.txt w WordPressie – wtyczka czy plik?
Jak przetestować robots.txt w praktyce?
/robots.txt
i sprawdź HTTP 200. W Search Console użyj Inspekcji URL (czy „Crawl allowed: Yes”). W crawlerze (Screaming Frog/Sitebulb) przetestuj „custom robots.txt”.Czy warto blokować parametry UTM, fbclid, gclid?
Disallow: /*?utm_
, Disallow: /*?fbclid=
, Disallow: /*?gclid=
.Czy Crawl-delay/Host/Noindex działają w Google w robots.txt?
Crawl-delay
i Host
. Noindex
w robots.txt również nie działa. Do deindeksacji stosuj meta noindex
lub nagłówek X-Robots-Tag
.Co zrobić, gdy przez przypadek mam Disallow: / na produkcji?
Czy blokować wyniki wyszukiwania, filtry i sortowanie?
Disallow: /*?s=
, Disallow: /*?orderby=
, Disallow: /*?filter_
. Rozważ też kanonikalizację i reguły po stronie szablonu.Jak wykluczyć pliki PDF z crawlowania i wyników?
Disallow: /*.pdf$
(dotyczy crawlowania). Jeśli chcesz je usunąć z wyników, zastosuj meta/nagłówek noindex
na stronach, które je eksponują, bo sam Disallow nie usuwa z indeksu.