Plik robots.txt to plik tekstowy umieszczony w głównym katalogu strony, który informuje roboty wyszukiwarek (crawlery), które części serwisu mogą być crawlowane, a które powinny być pominięte. Jest fundamentalnym elementem technicznego SEO i optymalizacji crawl budget.
Jak działa robots.txt?
Plik robots.txt wykorzystuje Robots Exclusion Protocol (REP) - standard utworzony w 1994 roku i do dziś stosowany przez wszystkie główne wyszukiwarki.
Proces działania
- Robot wyszukiwarki (np. Googlebot) odwiedza stronę
- Przed crawlowaniem sprawdza
https://example.com/robots.txt - Parsuje dyrektywy i stosuje się do nich (lub nie)
- Crawluje dozwolone strony zgodnie z regułami
Ważne zastrzeżenie
Robots.txt to rekomendacja, nie blokada. Dobrze napisane roboty (Google, Bing) respektują te dyrektywy, ale:
- Złośliwe boty mogą je ignorować
- Zablokowane URL-e mogą nadal pojawiać się w wynikach (jeśli są linkowane)
- To nie jest narzędzie do ochrony prywatnych danych
Podstawowa składnia
User-agent: *
Allow: /
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
Elementy pliku robots.txt
| Dyrektywa | Opis | Przykład |
|---|---|---|
User-agent | Określa robota (lub * dla wszystkich) | User-agent: Googlebot |
Allow | Zezwala na crawlowanie ścieżki | Allow: /public/ |
Disallow | Blokuje crawlowanie ścieżki | Disallow: /admin/ |
Sitemap | URL mapy strony XML | Sitemap: https://example.com/sitemap.xml |
Crawl-delay | Opóźnienie między requestami (nie Google) | Crawl-delay: 10 |
Reguły składniowe
- Wielkość liter ma znaczenie w ścieżkach (case-sensitive)
- Jeden User-agent per blok lub wiele dyrektyw pod jednym
- Pusta linia oddziela bloki
- Komentarze zaczynają się od
# - Kolejność ma znaczenie - bardziej szczegółowe reguły wygrywają
Dyrektywy szczegółowo
User-agent
Określa, którego robota dotyczą następujące reguły:
# Wszystkie roboty
User-agent: *
# Tylko Googlebot
User-agent: Googlebot
# Tylko Googlebot Images
User-agent: Googlebot-Image
# Bing
User-agent: Bingbot
Popularne roboty wyszukiwarek:
| Robot | Wyszukiwarka/Usługa |
|---|---|
Googlebot | Google Search |
Googlebot-Image | Google Images |
Googlebot-News | Google News |
Bingbot | Bing Search |
Slurp | Yahoo |
DuckDuckBot | DuckDuckGo |
Yandex | Yandex |
Roboty narzędzi SEO:
| Robot | Narzędzie |
|---|---|
AhrefsBot | Ahrefs (analiza linków) |
MJ12bot | Majestic (analiza linków) |
SemrushBot | Semrush (analiza SEO) |
DotBot | Moz (analiza SEO) |
BLEXBot | Webmeup (backlink explorer) |
SeznamBot | Seznam (czeski wyszukiwarka) |
PetalBot | Huawei (wyszukiwarka) |
Roboty social media:
| Robot | Platforma |
|---|---|
facebot | |
Twitterbot | Twitter/X |
LinkedInBot | |
Pinterest |
Roboty AI:
| Robot | Usługa |
|---|---|
GPTBot | OpenAI/ChatGPT |
ChatGPT-User | ChatGPT browsing |
CCBot | Common Crawl (dane dla AI) |
anthropic-ai | Anthropic/Claude |
Google-Extended | Google AI (Gemini) |
Bytespider | ByteDance/TikTok AI |
ClaudeBot | Anthropic Claude |
Disallow
Blokuje crawlowanie określonych ścieżek:
# Blokuj katalog
Disallow: /admin/
# Blokuj konkretny plik
Disallow: /private-page.html
# Blokuj wszystko
Disallow: /
# Pusta wartość = zezwól na wszystko
Disallow:
Allow
Zezwala na crawlowanie (nadpisuje Disallow):
# Zablokuj katalog, ale zezwól na konkretny plik
Disallow: /folder/
Allow: /folder/public-file.html
Wildcards (symbole wieloznaczne)
Google i Bing obsługują symbole wieloznaczne:
# * = dowolna sekwencja znaków
Disallow: /private-*/
# $ = koniec URL
Disallow: /*.pdf$
Disallow: /*.doc$
# Kombinacja
Disallow: /*?sessionid=
Przykłady zastosowania:
# Blokuj wszystkie parametry URL
Disallow: /*?
# Blokuj sortowanie i filtry
Disallow: /*?sort=
Disallow: /*?filter=
# Blokuj strony wyników wyszukiwania
Disallow: /search
Disallow: /*?s=
Disallow: /*?q=
Sitemap
Wskazuje lokalizację mapy strony XML:
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap-posts.xml
Sitemap: https://example.com/sitemap-pages.xml
- Może być wiele dyrektyw Sitemap
- Używaj pełnego URL (z https://)
- Sitemap może być również zgłoszony przez Search Console
Crawl-delay
Określa minimalny czas (w sekundach) między kolejnymi requestami:
User-agent: Bingbot
Crawl-delay: 10
Uwaga: Google ignoruje Crawl-delay. Dla Google ustaw limit crawlowania w Search Console.
Przykłady konfiguracji dla różnych platform
WordPress
User-agent: *
Allow: /wp-content/uploads/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /*?s=
Disallow: /*?p=
Disallow: /category/*?
Disallow: /tag/*?
Sitemap: https://example.com/sitemap_index.xml
E-commerce (WooCommerce, Shopify)
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /*?add-to-cart=
Disallow: /*?orderby=
Disallow: /*?filter=
Allow: /wp-content/uploads/
Sitemap: https://example.com/sitemap_index.xml
Astro / Static Sites
User-agent: *
Allow: /
# Blokuj strony techniczne
Disallow: /404/
Disallow: /_astro/
Sitemap: https://example.com/sitemap-index.xml
Blokowanie botów AI
W 2024+ wiele stron blokuje boty AI ze względu na scraping treści:
# Blokuj boty AI
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Google-Extended
Disallow: /
# Pozostałe roboty - dozwolone
User-agent: *
Allow: /
Uwaga: Google-Extended kontroluje tylko użycie treści do trenowania AI (Bard/Gemini), nie wpływa na Google Search.
Blokowanie botów narzędzi SEO
Niektóre strony blokują boty narzędzi SEO, aby utrudnić konkurencji analizę profilu linków:
# Blokuj narzędzia SEO konkurencji
User-agent: AhrefsBot
Disallow: /
User-agent: MJ12bot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: DotBot
Disallow: /
User-agent: BLEXBot
Disallow: /
Wady blokowania botów SEO:
- Utrudnia własną analizę strony w tych narzędziach
- Nie blokuje w pełni - dane historyczne pozostają
- Konkurencja może używać innych metod (np. proxy)
Kiedy rozważyć blokowanie:
- Gdy chcesz ukryć strategię linkowania
- Przy ochronie przed negative SEO
- Dla stron z wrażliwą strukturą
Robots.txt vs meta robots
| Aspekt | robots.txt | meta robots |
|---|---|---|
| Poziom kontroli | Katalogi, pliki | Pojedyncze strony |
| Lokalizacja | Główny katalog | Tag <head> lub nagłówek HTTP |
| Elastyczność | Mniejsza | Większa |
| Blokuje crawlowanie | Tak | Nie (strona jest crawlowana) |
| Blokuje indeksowanie | Nie* | Tak (noindex) |
*Ważne: robots.txt blokuje crawlowanie, ale strona może nadal być zaindeksowana jeśli jest linkowana z innych źródeł.
Jak skutecznie zablokować indeksowanie?
Jeśli chcesz, żeby strona nie pojawiała się w wynikach wyszukiwania, użyj meta robots:
<meta name="robots" content="noindex, nofollow">
Lub nagłówka HTTP:
X-Robots-Tag: noindex, nofollow
Nie blokuj strony w robots.txt jeśli chcesz ją noindex-ować - Googlebot musi móc ją zczytać, żeby zobaczyć dyrektywę noindex.
Optymalizacja Crawl Budget
Crawl budget to liczba stron, które Google jest skłonne zcrawlować w określonym czasie. Dla dużych stron (100k+ URL) optymalizacja robots.txt jest kluczowa.
Co blokować
# Strony bez wartości SEO
Disallow: /thank-you/
Disallow: /confirmation/
# Duplikaty treści
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?page=
# Zasoby wewnętrzne
Disallow: /internal/
Disallow: /staging/
# Wyszukiwarka wewnętrzna
Disallow: /search
Disallow: /*?q=
Czego NIE blokować
- CSS i JavaScript - Google potrzebuje ich do renderowania
- Obrazy - chyba że celowo chcesz je wykluczyć z Google Images
- Ważne strony - sprawdź dokładnie przed blokowaniem
Więcej o optymalizacji crawlowania w kontekście Core Web Vitals.
Najczęstsze błędy
1. Blokowanie całej strony przypadkowo
# ŹLE - blokuje wszystko!
User-agent: *
Disallow: /
2. Brak pliku robots.txt
Jeśli plik nie istnieje, roboty założą że wszystko jest dozwolone. Zawsze stwórz plik, nawet minimalny:
User-agent: *
Allow: /
3. Blokowanie zasobów potrzebnych do renderowania
# ŹLE - blokuje CSS/JS potrzebne do renderowania
Disallow: /css/
Disallow: /js/
4. Oczekiwanie że robots.txt ochroni dane
Robots.txt to nie zabezpieczenie. Wrażliwe dane chroń poprzez:
- Autoryzację (login/hasło)
- .htaccess / nginx config
- Odpowiednie uprawnienia serwera
5. Sprzeczne reguły
# Sprzeczne - która reguła wygra?
Disallow: /folder/
Allow: /folder/
Google wybiera najbardziej szczegółową regułę. W przypadku równej długości, Allow wygrywa.
6. Blokowanie stron z noindex
# ŹLE - Googlebot nie zobaczy noindex
Disallow: /private-page/
# Na stronie:
# <meta name="robots" content="noindex">
Jeśli zablokujesz stronę w robots.txt, Googlebot jej nie zczyta i nie zobaczy dyrektywy noindex.
Testowanie i walidacja
Google Search Console
- Wejdź do Search Console
- Inspekcja adresu URL → Testuj zablokowane zasoby
- Sprawdź “Robots.txt Tester” (stare narzędzie, wciąż dostępne)
Narzędzia online
- Google Search Console - oficjalne narzędzie
- Bing Webmaster Tools - dla Bingbot
- robots.txt Checker - walidatory online
Manualne testowanie
curl https://example.com/robots.txt
Gdzie umieścić plik?
Plik musi znajdować się w głównym katalogu domeny:
https://example.com/robots.txt ✓ Poprawnie
https://example.com/folder/robots.txt ✗ Ignorowany
Dla subdomen potrzebny jest osobny plik:
https://example.com/robots.txt
https://blog.example.com/robots.txt
https://shop.example.com/robots.txt
Robots.txt a bezpieczeństwo
Nie ujawniaj wrażliwych ścieżek
# ŹLE - informujesz atakujących o panelu admina
Disallow: /super-secret-admin-panel/
Disallow: /backup-database/
Atakujący mogą czytać robots.txt i odkryć ukryte ścieżki. Zamiast blokować w robots.txt, zabezpiecz te zasoby autoryzacją.
Odpowiednie podejście
- Publiczne strony → robots.txt do kontroli crawlowania
- Prywatne dane → autoryzacja + firewall
- Staging/dev → IP whitelist lub HTTP auth
Podsumowanie
Prawidłowo skonfigurowany plik robots.txt:
- Optymalizuje crawl budget - roboty skupiają się na ważnych stronach
- Zapobiega indeksowaniu duplikatów - filtry, sortowania, parametry
- Kontroluje dostęp botów - w tym botów AI
- Wskazuje sitemap - ułatwia odkrywanie treści
Pamiętaj jednak, że:
- Robots.txt nie jest zabezpieczeniem danych
- Nie gwarantuje usunięcia z indeksu
- Jest respektowany przez dobre boty, ale ignorowany przez złośliwe
Regularnie sprawdzaj plik robots.txt i dostosowuj go do zmian w strukturze strony. W połączeniu z meta robots i odpowiednią konfiguracją serwera, stanowi ważny element strategii White Hat SEO.
Źródła
-
Google Search Central - robots.txt https://developers.google.com/search/docs/crawling-indexing/robots/intro
-
Google Search Central - Create and submit a robots.txt file https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt
-
Google Search Central - robots.txt Specifications https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
-
Bing Webmaster Guidelines - robots.txt https://www.bing.com/webmasters/help/how-to-create-a-robots-txt-file-cb7c31ec
-
robotstxt.org - Original Specification https://www.robotstxt.org/



