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

  1. Robot wyszukiwarki (np. Googlebot) odwiedza stronę
  2. Przed crawlowaniem sprawdza https://example.com/robots.txt
  3. Parsuje dyrektywy i stosuje się do nich (lub nie)
  4. 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

DyrektywaOpisPrzykład
User-agentOkreśla robota (lub * dla wszystkich)User-agent: Googlebot
AllowZezwala na crawlowanie ścieżkiAllow: /public/
DisallowBlokuje crawlowanie ścieżkiDisallow: /admin/
SitemapURL mapy strony XMLSitemap: https://example.com/sitemap.xml
Crawl-delayOpóź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:

RobotWyszukiwarka/Usługa
GooglebotGoogle Search
Googlebot-ImageGoogle Images
Googlebot-NewsGoogle News
BingbotBing Search
SlurpYahoo
DuckDuckBotDuckDuckGo
YandexYandex

Roboty narzędzi SEO:

RobotNarzędzie
AhrefsBotAhrefs (analiza linków)
MJ12botMajestic (analiza linków)
SemrushBotSemrush (analiza SEO)
DotBotMoz (analiza SEO)
BLEXBotWebmeup (backlink explorer)
SeznamBotSeznam (czeski wyszukiwarka)
PetalBotHuawei (wyszukiwarka)

Roboty social media:

RobotPlatforma
facebotFacebook
TwitterbotTwitter/X
LinkedInBotLinkedIn
PinterestPinterest

Roboty AI:

RobotUsługa
GPTBotOpenAI/ChatGPT
ChatGPT-UserChatGPT browsing
CCBotCommon Crawl (dane dla AI)
anthropic-aiAnthropic/Claude
Google-ExtendedGoogle AI (Gemini)
BytespiderByteDance/TikTok AI
ClaudeBotAnthropic 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

Aspektrobots.txtmeta robots
Poziom kontroliKatalogi, plikiPojedyncze strony
LokalizacjaGłówny katalogTag <head> lub nagłówek HTTP
ElastycznośćMniejszaWiększa
Blokuje crawlowanieTakNie (strona jest crawlowana)
Blokuje indeksowanieNie*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

  1. Wejdź do Search Console
  2. Inspekcja adresu URL → Testuj zablokowane zasoby
  3. 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

  1. Google Search Central - robots.txt https://developers.google.com/search/docs/crawling-indexing/robots/intro

  2. Google Search Central - Create and submit a robots.txt file https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt

  3. Google Search Central - robots.txt Specifications https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt

  4. Bing Webmaster Guidelines - robots.txt https://www.bing.com/webmasters/help/how-to-create-a-robots-txt-file-cb7c31ec

  5. robotstxt.org - Original Specification https://www.robotstxt.org/