---
title: "Plik robots.txt - kompletny przewodnik po konfiguracji"
description: "Plik robots.txt kontroluje dostęp robotów wyszukiwarek do Twojej strony. Dowiedz się jak go poprawnie skonfigurować, poznaj nowoczesne dyrektywy i najlepsze praktyki."
date: 2015-11-05
updated: 2025-01-10
category: Optymalizacja
tags: ["SEO", "robots.txt", "optymalizacja", "crawling", "Googlebot"]
url: https://uper.pl/blog/robots-txt/
---

# Plik robots.txt - kompletny przewodnik po konfiguracji

**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

```txt
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:

```txt
# 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` | Facebook |
| `Twitterbot` | Twitter/X |
| `LinkedInBot` | LinkedIn |
| `Pinterest` | 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:

```txt
# 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):

```txt
# 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:

```txt
# * = dowolna sekwencja znaków
Disallow: /private-*/

# $ = koniec URL
Disallow: /*.pdf$
Disallow: /*.doc$

# Kombinacja
Disallow: /*?sessionid=
```

**Przykłady zastosowania:**

```txt
# 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:

```txt
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:

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

```txt
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)

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

```txt
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](/blog/ai-crawlers-vs-search-crawlers/) ze względu na scraping treści:

```txt
# 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:

```txt
# 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:

```html
<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ć

```txt
# 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](/blog/core-web-vitals/).

## Najczęstsze błędy

### 1. Blokowanie całej strony przypadkowo

```txt
# Ź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:

```txt
User-agent: *
Allow: /
```

### 3. Blokowanie zasobów potrzebnych do renderowania

```txt
# Ź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

```txt
# 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

```txt
# Ź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](/blog/google-search-console/)** - oficjalne narzędzie
- **Bing Webmaster Tools** - dla Bingbot
- **robots.txt Checker** - walidatory online

### Manualne testowanie

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

```txt
# Ź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](/blog/white-hat-seo/).

## Źródła

1. **Google Search Central - robots.txt**
[https://developers.google.com/search/docs/crawling-indexing/robots/intro](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](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](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](https://www.bing.com/webmasters/help/how-to-create-a-robots-txt-file-cb7c31ec)

5. **robotstxt.org - Original Specification**
[https://www.robotstxt.org/](https://www.robotstxt.org/)
