Błąd 429 (Too Many Requests)

Błąd 429 to kod odpowiedzi HTTP, którym serwer, CDN albo zapora informują, że klient przekroczył limit żądań w danym czasie. Google traktuje 429 jak błąd serwera: ignoruje treść, zwalnia skanowanie całego hosta i wraca później. Krótkie 429 nic nie psuje. Limit, który codziennie trafia w Googlebota, powoli wypycha strony z indeksu.

Błąd 429 oznacza, że klient wysłał za dużo żądań w określonym czasie. Google traktuje go jak błąd serwera: treść ignoruje, skanowanie całego hosta zwalnia, a strony stale zwracające 429 z czasem usuwa z indeksu.

Jak wygląda

Odpowiedź serwera albo warstwy pośredniej z limitem:

HTTP/1.1 429 Too Many Requests

Retry-After: 120

Wiele usług dodaje własne nagłówki z informacją o limicie, na przykład:

X-RateLimit-Limit: 100

X-RateLimit-Remaining: 0

W nginx limit żądań ustawia się modułem limit_req, a kod odpowiedzi po przekroczeniu limitu wskazuje dyrektywa:

limit_req_status 429;

Dla robotów wyszukiwarek zwykle robi się wyjątek, bo celem limitu jest ochrona przed nadużyciami, a nie blokowanie indeksowania.

Jak traktuje to Google

Według dokumentacji o kodach stanu (jak kody HTTP wpływają na roboty Google) roboty Google traktują 429 jako sygnał, że serwer jest przeciążony, i uznają go za błąd serwera. To jedyny kod 4xx z takim wyjątkiem: pozostałe błędy 4xx oznaczają, że treści nie ma, i nie wpływają na szybkość skanowania. Dla 5xx i 429 obowiązuje inna zasada: roboty mają na jakiś czas zwolnić, zindeksowane adresy zostają w indeksie, ale po jakimś czasie są usuwane, a treść odpowiedzi jest ignorowana.

Dokument o hamowaniu robota (zmniejszanie szybkości indeksowania) opisuje mechanizm dokładniej. Gdy infrastruktura Google napotka znaczną liczbę adresów z kodami 500, 503 lub 429, zmniejsza szybkość skanowania całej nazwy hosta, łącznie z adresami, które odpowiadają poprawnie. Gdy liczba błędów spadnie, tempo samo rośnie. Przy 429 można dołączyć nagłówek Retry-After z liczbą sekund albo datą UTC. Google dopuszcza tę metodę jako awaryjne hamowanie na kilka godzin lub 1-2 dni i ostrzega, że po kilku dniach takich odpowiedzi pod tymi samymi adresami może usunąć je z indeksu.

Ten sam dokument zabrania używać kodów 401 i 403 do ograniczania szybkości skanowania. Przewodnik o budżecie (optymalizacja budżetu indeksowania) wymienia sygnały ograniczania szybkości, w tym HTTP 429, obok błędów 5xx jako powód obniżenia limitu wydajności skanowania. Więcej o tym limicie w haśle o crawl budget.

Kiedy ma znaczenie

  • CDN albo WAF z ochroną przed botami, która liczy żądania Googlebota jak każdego innego klienta,
  • limit żądań na adres IP, gdy Google skanuje z wielu adresów naraz, ale z jednego zakresu,
  • sklep z nawigacją fasetową, gdzie robot generuje tysiące żądań o filtry i trafia w limit,
  • API albo wyszukiwarka wewnętrzna z własnym limitem, do której prowadzą linki z szablonu,
  • hosting współdzielony z limitem połączeń na konto.

Dokument o zmniejszaniu szybkości skanowania wskazuje, że nagły wzrost ruchu robota często wynika z nieefektywnej struktury adresów: nawigacji fasetowej, sortowania i filtrowania albo kalendarza z osobnymi adresami dla każdej daty (zmniejszanie szybkości indeksowania). Zanim podniesiesz limit, sprawdź, czy robot nie krąży po adresach, które powinny być zablokowane w pliku robots.txt.

Najczęstsze błędy

BłądSkutek
Limit w WAF bez wyjątku dla zweryfikowanego GooglebotaRobot dostaje 429 w szczycie skanowania, Google zwalnia na całym hoście
429 zamiast 404 dla nieistniejących adresówGoogle czeka i ponawia, zamiast usunąć adres
Limit liczony po nazwie klienta użytkownika, nie po IPPodszywające się boty i tak wchodzą, a prawdziwy robot trafia w limit
429 trzymany tygodniami jako „ochrona serwera”Adresy wypadają z indeksu, raport Statystyki indeksowania pokazuje spadek żądań
Brak Retry-AfterGoogle sam decyduje o powrocie, bez Twojej wskazówki
403 zamiast 429 jako limitGoogle nie zwalnia, tylko traktuje stronę jak nieistniejącą

Jak sprawdzić

W logach serwera i CDN odfiltruj odpowiedzi z kodem 429 i sprawdź, czy wśród klientów jest Googlebot. Adres IP zweryfikuj zgodnie z dokumentacją (weryfikacja żądań Googlebota), bo sama nazwa klienta użytkownika niczego nie dowodzi.

Z linii poleceń odtwórz serię żądań i obejrzyj nagłówki pierwszej odpowiedzi z 429:

for i in $(seq 1 50); do curl -s -o /dev/null -w "%{http_code}\n" https://example.com/kategoria/; done

curl -I https://example.com/kategoria/

W nagłówkach szukaj Retry-After, nagłówków z limitem oraz nazwy warstwy, która odpowiedziała. Odpowiedź od CDN albo zapory wygląda inaczej niż odpowiedź z aplikacji.

W Search Console raport Statystyki indeksowania (raport Statystyki indeksowania) pokazuje odpowiedzi na żądania robota według kodu i stan hosta, więc widać, czy 429 trafia w Googlebota i od kiedy. Adresy z tym kodem w raporcie Indeksowanie stron lądują jako URL jest zablokowany z powodu innego błędu 4xx. Jeśli 429 pojawia się w środku łańcucha przekierowań, sprawdzarka przekierowań wypisze kod każdego kroku. Opis wszystkich kodów i ich wpływu na indeksowanie znajdziesz w haśle o kodach odpowiedzi HTTP.

Monitorowanie

IndexRise co noc pobiera monitorowane adresy i zapisuje kod odpowiedzi. 429 traktujemy jako odmowę sprawdzenia, a nie błąd strony: adres zachowuje ostatni znany stan i jest oznaczony jako „nie udało się sprawdzić”, a projekt pokazuje, że zabezpieczenie serwisu nie wpuszcza monitoringu. Zamiast ponawiać mocniej, zwalniamy. Jeśli 429 powtarza się noc po nocy, limit trafia też w Googlebota i trzeba go poprawić, zanim raport Statystyki indeksowania pokaże spadek.

429 zwrócony robotowi raz to szum. 429 zwracany co noc to limit ustawiony przeciwko własnemu indeksowaniu.
Sprawdź to na swojej stronieSprawdzarka przekierowańCały łańcuch z kodami, celem i nagłówkami — do 10 adresów naraz.

Najczęściej zadawane pytania

Czy 429 to błąd klienta, czy serwera?

Formalnie to kod z grupy 4xx, czyli błąd klienta. Google traktuje go jednak jak błąd serwera, bo sygnalizuje przeciążenie, i reaguje tak samo jak na 503: zwalnia skanowanie.

Czy 429 usuwa strony z indeksu?

Nie od razu. Google zachowuje zindeksowane adresy, ale według dokumentacji adresy, które stale zwracają błąd serwera, są z czasem usuwane. Kilka dni 429 pod tym samym adresem to realne ryzyko.

Skąd się bierze 429, skoro mój serwer go nie wysyła?

Najczęściej z warstwy przed serwerem: CDN, zapory aplikacyjnej, modułu ochrony przed botami albo limitu w API. Sprawdź nagłówki odpowiedzi, zwykle zdradzają, która warstwa odpowiedziała.

Czy mogę użyć 429, żeby spowolnić Googlebota?

Tak, ale tylko awaryjnie, na kilka godzin do 1-2 dni. Dokumentacja Google wymienia 429 obok 500 i 503 jako sposób na pilne ograniczenie ruchu robota i ostrzega przed dłuższym stosowaniem.

Czy 403 zamiast 429 to lepszy sposób na limit?

Nie. Dokumentacja Google mówi wprost, żeby nie używać 401 ani 403 do ograniczania szybkości skanowania, bo te kody nie wpływają na tempo robota, a stronę traktuje się jak nieistniejącą.

Co z Retry-After przy 429?

Google czyta ten nagłówek przy 429 tak samo jak przy 503. Podaj liczbę sekund albo datę UTC, a robot dostanie wskazówkę, kiedy wrócić.

Aktualizacja: 2026-10-20