Pętla przekierowań (ERR_TOO_MANY_REDIRECTS): przyczyny i naprawa
Strona się nie otwiera, a przeglądarka pisze o zbyt wielu przekierowaniach? Pokazujemy, jak ustalić, które reguły się zapętlają, i jak to naprawić.
Translated from Polish. Facts and examples refer to the Polish market.
Spis treści
Strona się zapętla, a Ty nie wiesz, która reguła za to odpowiada?
Opisz problemKrótka odpowiedź: co to jest pętla przekierowań
Pętla przekierowań to sytuacja, w której adres A kieruje na B, a B z powrotem na A (albo przez kilka kolejnych adresów wraca do punktu wyjścia). Przeglądarka po pewnej liczbie skoków przerywa wczytywanie i pokazuje błąd, w Chrome z kodem ERR_TOO_MANY_REDIRECTS. Kto trafi w pętlę, klient czy robot Google, nie dotrze do strony.
Winne są ustawienia, które sobie przeczą, często w różnych miejscach: na serwerze, we wtyczce, w panelu sklepu albo w Cloudflare. Naprawa polega na znalezieniu tej sprzeczności i jej usunięciu.
Jak wygląda ten błąd w przeglądarce
W polskiej wersji Chrome zobaczysz komunikat „Strona twojadomena.pl spowodowała zbyt wiele przekierowań”, a pod nim kod ERR_TOO_MANY_REDIRECTS i podpowiedź „Usuń pliki cookie”.
Firefox pisze: „Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie” i dodaje, że problem może wynikać z zablokowania lub odrzucenia ciasteczek.
Obie przeglądarki wspominają pliki cookie, bo czasem pętlę wywołuje zapisane ciasteczko, na przykład po zmianie ustawień logowania albo języka. Często jednak przyczyna leży po stronie serwera i wtedy błąd widzą także inni odwiedzający.
Najczęstsze przyczyny
Cloudflare w trybie Flexible, serwer wymusza https
https://Cloudflare pyta serwer po httpserwer odsyła na httpshttps://
Cloudflare w tym trybie łączy się z serwerem po http, więc serwer za każdym razem widzi „niezabezpieczone” zapytanie.
Dwie reguły o www w różnych miejscach
domena.plwww.domena.pldomena.pl
Na przykład serwer dodaje www, a reguła w CDN albo wtyczka je usuwa.
Po poprawce
http://domena.plhttps://domena.pl
Jedna reguła dla jednej zmiany, jedno przekierowanie i strona, która odpowiada kodem 200.
Cloudflare i tryb szyfrowania „Flexible”
To jedna z najczęstszych przyczyn po podłączeniu strony do Cloudflare. W trybie Flexible Cloudflare łączy się z Twoim serwerem przez zwykłe http (dotyczy https na standardowym porcie 443). Jeśli serwer albo wtyczka przekierowuje każde zapytanie http na https, odsyła Cloudflare na https, Cloudflare znowu pyta po http i tak w kółko. Dokumentacja Cloudflare mówi wprost: gdy serwer wymusza https, nie używaj trybu Flexible.
Odwrotny przypadek też istnieje. W trybie Full albo Full (strict), przy włączonej opcji Always Use HTTPS albo HSTS pętla pojawia się, gdy serwer przekierowuje z https na http.
Sprzeczne reguły o www i https
Przekierowanie na wersję z www albo bez www i z http na https ustawia się zwykle raz. Kłopot zaczyna się, gdy ta sama zmiana jest ustawiona w dwóch miejscach z różnym celem: na przykład w pliku .htaccess serwer dodaje www, a reguła przekierowania w Cloudflare je usuwa. Cloudflare wymienia sprzeczne reguły przekierowań jako osobną przyczynę pętli.
Adres strony w ustawieniach WordPressa
WordPress ma w ustawieniach ogólnych dwa pola: „Adres WordPressa (URL)” i „Adres witryny (URL)”. Jeśli wpisany tam adres różni się od tego, na który kieruje serwer (inna wersja www albo http zamiast https), WordPress i serwer mogą zacząć przerzucać się odwiedzającym.
WordPress za proxy, które obsługuje https
Gdy certyfikat działa na serwerze pośredniczącym (proxy, CDN), a sam WordPress dostaje zapytania po http, dokumentacja WordPressa ostrzega, że wymuszenie SSL wpada wtedy w nieskończoną pętlę przekierowań. WordPress nie wie, że odwiedzający jest już na https, i przekierowuje go ponownie.
Wtyczki i pamięć podręczna
Wtyczki do przekierowań, wymuszania SSL, bezpieczeństwa i wielojęzyczności potrafią dodawać własne reguły obok tych z serwera. Wtyczka pamięci podręcznej albo cache w CDN może też dalej podawać stare przekierowanie, mimo że regułę już poprawiłeś.
Jak znaleźć przyczynę krok po kroku
- Sprawdź, czy błąd widzą inni. Otwórz stronę w oknie prywatnym albo w innej przeglądarce. Jeśli tam działa, zacznij od usunięcia plików cookie dla tej domeny. Jeśli nie działa nigdzie, problem jest najpewniej po stronie serwera.
- Zobacz każdy krok pętli. Najszybciej zrobi to programista albo firma hostingowa poleceniem
curl(przykład niżej). W przeglądarce otwórz narzędzia dla programistów, zakładkę Network, zaznacz „Preserve log”, żeby lista nie znikała przy kolejnych przekierowaniach, i „Disable cache”, żeby wynik nie pochodził z pamięci podręcznej przeglądarki. Kolumna Status pokaże kody przekierowań, na przykład 301, 302, 307 albo 308, a w szczegółach każdego zapytania (nagłówek location) widać, dokąd kieruje. - Ustal, które adresy się powtarzają. Jeśli pętla skacze między http a https, szukaj w ustawieniach SSL (serwer, Cloudflare, wtyczka). Jeśli między wersją z www i bez www, szukaj reguł o domenie. Jeśli między dwoma różnymi podstronami, sprawdź reguły dla tych adresów we wtyczce do przekierowań, w panelu sklepu, na serwerze i w CDN.
- Wypisz wszystkie miejsca z regułami. Plik
.htaccessalbo konfiguracja nginx, panel hostingu, Cloudflare (tryb szyfrowania, Always Use HTTPS, Redirect Rules i Page Rules), wtyczki, ustawienia adresu w CMS. - Wyłączaj po kolei. Zacznij od wtyczek. W WordPressie bez dostępu do panelu możesz wyłączyć naraz wszystkie zwykłe wtyczki, zmieniając przez FTP nazwę folderu
wp-content/pluginsnaplugins_old(wtyczek z folderumu-pluginsto nie wyłączy). Jeśli strona zadziała, zaloguj się do panelu i otwórz stronę Wtyczki, żeby WordPress oznaczył je jako wyłączone. Potem przywróć nazwę folderu i włączaj wtyczki pojedynczo, aż błąd wróci.
Polecenie, które pokazuje kolejne kody odpowiedzi i adresy docelowe:
curl -sIL --max-redirs 15 https://twojadomena.pl/ | grep -iE "^HTTP|^location"
Opcja -I pobiera same nagłówki, a -L każe iść za przekierowaniami. Bez --max-redirs curl zatrzymuje się dopiero po 50 krokach. Jeśli w liniach location te same adresy wracają na zmianę, masz pętlę i od razu widzisz, między którymi wersjami adresu skacze.
Jak naprawić pętlę w zależności od przyczyny
- Cloudflare w trybie Flexible. W ustawieniach SSL/TLS w Cloudflare zmień tryb szyfrowania na Full albo Full (strict). Tryb Full wymaga certyfikatu SSL na Twoim serwerze, więc najpierw upewnij się u hostingodawcy, że go masz. Full (strict) wymaga ponadto, żeby certyfikat był ważny, obejmował Twoją domenę i pochodził od zaufanego wystawcy albo z Cloudflare Origin CA. Druga droga z dokumentacji Cloudflare to usunięcie przekierowania na https z serwera, ale wtedy połączenie między Cloudflare a serwerem zostaje nieszyfrowane.
- Full albo Full (strict) z przekierowaniem na http. Usuń z serwera regułę, która kieruje z https na http.
- Sprzeczne reguły www i https. Zdecyduj, gdzie mają działać przekierowania (serwer albo Cloudflare), i usuń duplikaty z pozostałych miejsc. Docelowo każdy wariant adresu ma trafiać jednym krokiem na wersję końcową.
- Zły adres w ustawieniach WordPressa. Wpisz w obu polach adres z tą samą wersją domeny co docelowa (z www albo bez), z
https://i bez ukośnika na końcu. Zwykle oba pola mają ten sam adres, chyba że WordPress stoi w podkatalogu. Gdy nie możesz wejść do panelu, dokumentacja WordPressa pozwala ustawić adres w plikuwp-config.php. Pola w ustawieniach przestaną wtedy być edytowalne.
define( 'WP_HOME', 'https://twojadomena.pl' );
define( 'WP_SITEURL', 'https://twojadomena.pl' );
- WordPress za proxy z https. Dokumentacja WordPressa podaje fragment do
wp-config.php, dzięki któremu WordPress rozpoznaje, że odwiedzający jest na https, na podstawie nagłówka przekazanego przez proxy. Wklej go, podobnie jak stałe WP_HOME i WP_SITEURL, nad linią z komentarzem „That's all, stop editing!”, bo kod dopisany na końcu pliku nie zadziała. Proxy musi ten nagłówek wysyłać (w nginx:proxy_set_header X-Forwarded-Proto $scheme;).
if( strpos( $_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false )
$_SERVER['HTTPS'] = 'on';
- Wtyczka. Gdy znajdziesz winną wtyczkę, usuń z niej regułę, która dubluje ustawienia serwera, albo zostaw przekierowania tylko w jednym narzędziu.
- Pamięć podręczna. Po każdej zmianie wyczyść cache wtyczki i CDN, a sprawdzaj w oknie prywatnym albo poleceniem curl, żeby nie oglądać starej wersji.
Co z pętlą robi Google
Google podaje, że jego roboty domyślnie śledzą do 10 kolejnych przekierowań. Pętla nie kończy się nigdy, więc Googlebot nie dociera do treści i adres nie trafia do indeksu.
W Search Console taki adres może pojawić się w raporcie Indeksowanie stron ze statusem „Błąd przekierowania”. Według pomocy Google ten status obejmuje zbyt długi łańcuch przekierowań, pętlę przekierowań, przekierowanie, które przekroczyło maksymalną długość adresu URL, oraz nieprawidłowy lub pusty adres w łańcuchu. Nie myl go ze statusem „Strona zawierająca przekierowanie”, który zwykle oznacza poprawne przekierowanie. Różnicę opisujemy w tekście o statusie „Strona zawierająca przekierowanie”.
Po naprawie otwórz status „Błąd przekierowania” w raporcie i kliknij „Sprawdź poprawkę”. Google ponownie odwiedzi adresy z listy. Kiedy planujesz nowe przekierowania, ustaw je tak, żeby każdy stary adres prowadził jednym krokiem do celu. Więcej o tym w tekście o przekierowaniu 301.
Kiedy oddać to specjaliście
Jeśli po wyłączeniu wtyczek i sprawdzeniu ustawień Cloudflare strona nadal się zapętla albo pętla pojawiła się po migracji, zmianie domeny czy przejściu na https, opisz nam problem: przejdziemy każdy krok przekierowania i wskażemy regułę do usunięcia.
Kiedy potrzebny jest specjalista
Strona się zapętla, a Ty nie wiesz, która reguła za to odpowiada? Opisz, co widzisz, a wskażemy przyczynę i powiemy, co poprawić.
Opisz problemNajczęstsze pytania
Co oznacza błąd ERR_TOO_MANY_REDIRECTS?
To kod błędu Chrome, który pojawia się, gdy wczytanie adresu wymaga zbyt wielu przekierowań. Oznacza to pętlę, w której adresy odsyłają się nawzajem i przeglądarka nigdy nie dociera do strony, albo zbyt długi łańcuch przekierowań.
Czy usunięcie plików cookie naprawi pętlę przekierowań?
Tylko wtedy, gdy pętlę wywołało zapisane ciasteczko. Sprawdź stronę w oknie prywatnym albo w innej przeglądarce. Jeśli tam też się zapętla, przyczyna leży najpewniej na serwerze i czyszczenie plików cookie nic nie zmieni.
Dlaczego pętla pojawiła się po podłączeniu Cloudflare?
Często przez tryb szyfrowania Flexible. Cloudflare łączy się wtedy z serwerem po http, a serwer odsyła na https. Cloudflare zaleca w takiej sytuacji tryb Full albo Full (strict), który wymaga certyfikatu SSL na serwerze.
Jak naprawić pętlę w WordPressie, gdy nie mogę wejść do panelu?
Przez FTP zmień nazwę folderu wp-content/plugins na plugins_old, co wyłączy wszystkie zwykłe wtyczki (bez mu-plugins). Jeśli to nie pomoże, ustaw poprawny adres strony stałymi WP_HOME i WP_SITEURL w pliku wp-config.php.
Ile przekierowań wytrzyma Google?
Roboty Google domyślnie śledzą do 10 kolejnych przekierowań. Pętla nie kończy się nigdy, więc adres nie zostanie zindeksowany, a w Search Console może dostać status „Błąd przekierowania”.
Czy pętla przekierowań szkodzi widoczności w Google?
Tak. Dopóki pętla trwa, Googlebot nie dociera do treści, a Search Console może pokazywać adres w grupie niezindeksowanych. Po naprawie kliknij w Search Console „Sprawdź poprawkę” przy statusie „Błąd przekierowania”, żeby Google ponownie odwiedził te adresy.
Przeczytaj też
- Migracja zrobiona poprawnie, a strony wypadły z indeksu: przeprowadzka jako test jakościPoprawna zmiana domeny, a 98% stron poza indeksem. Dwa przypadki z 2026 roku, słowa Muellera i jak odróżnić błąd techniczny od problemu z treścią.Problemy z widocznością
- Googlebot pobrał serwis ponad milion razy, a Google zindeksował 4 adresy: kiedy Google traci zaufanie do serwisuDwa przypadki z odpowiedziami Johna Muellera: dlaczego Google pobiera serwis bez końca i go nie indeksuje oraz kiedy pomaga poprawa, noindex albo 410.Problemy z widocznością
- Strona zeskanowana, ale jeszcze niezindeksowana: co zrobićCo znaczy ten status w Search Console, kiedy go zignorować, skąd się bierze i co naprawdę pomaga stronie trafić do indeksu Google.Problemy z widocznością
Źródła
- Cloudflare: ERR_TOO_MANY_REDIRECTS
- Cloudflare: tryb szyfrowania Flexible
- WordPress: zmiana adresu witryny
- WordPress: HTTPS i serwer proxy
- WordPress: typowe błędy i wyłączanie wtyczek
- Google Search Central: kody stanu HTTP i błędy sieci
- Pomoc Search Console: raport Indeksowanie stron
- Chrome DevTools: panel Network
- curl: dokumentacja polecenia