Gdy prowadzisz stronę na WordPressie, nagłe pojawienie się błędu typu „Too Many Redirects” może być frustrujące i stresujące. Użytkownicy trafiają na pustą stronę, zamiast treści, a przeglądarka odmawia załadowania witryny. Taki problem to informacja, że Twoja strona utknęła w tzw. pętli przekierowań, co może prowadzić do spadków w wynikach wyszukiwania, utraty konwersji i zaufania odwiedzających.
W tym przewodniku dowiesz się:
- Co to jest pętla przekierowań i w jaki sposób przeglądarki ją wykrywają;
- Jakie są najczęstsze przyczyny jej powstawania w środowisku WordPress;
- Jak krok po kroku zlokalizować problem – od plików konfiguracyjnych po wtyczki i CDN;
- Co zrobić, żeby przywrócić stronę do działania.
Na koniec znajdziesz sekcję z przydatnymi ciekawostkami, jak np. wpływ CDN, HTTPS i Chmury.
1. Czym właściwie jest pętla przekierowań?
To sytuacja, w której przeglądarka zgodnie z instrukcjami co chwilę przeładowuje różne adresy URL bez dotarcia do finalnej strony.
Na przykład:
A → B → A → B → … → A → B
Po kilkudziesięciu powtórzeniach przeglądarka zatrzymuje proces i wyświetla błąd „ERR_TOO_MANY_REDIRECTS”.
Dlaczego to takie groźne?
- Użytkownicy nie mogą zobaczyć Twojej strony – co zupełnie zabija UX.
- Roboty Google mogą uznać stronę za błędnie skonfigurowaną i obniżyć jej pozycję .
- Błąd może mieć różne komunikaty, zależnie od przeglądarki:
- Chrome: „Too many redirects”
- Firefox: „The page isn’t redirecting properly”
2. Skąd się bierze pętla przekierowań? – Główne przyczyny
a) Niezgodne adresy URL (www vs bez www, HTTP vs HTTPS)
Przykład: w WordPress masz ustawione https://example.com
, ale .htaccess wymusza https://www.example.com
. To klasyczna sytuacja prowadząca do zapętlenia.
b) Błędne reguły w .htaccess
Plik .htaccess
odgrywa kluczową rolę w zarządzaniu ruchem na stronie opartej na WordPressie. To właśnie tutaj najczęściej znajdują się polecenia odpowiedzialne za przekierowania, zabezpieczenia czy strukturę linków. Choć jest to potężne narzędzie, każda nieprawidłowo sformułowana reguła może mieć poważne konsekwencje – w tym wywołanie pętli przekierowań.
Jednym z najczęstszych błędów jest dublowanie przekierowań – na przykład sytuacja, w której w pliku .htaccess
wymuszasz przejście z adresu bez „www” na wersję z „www”, ale równocześnie konfiguracja WordPressa próbuje to odwrócić. W efekcie przeglądarka krąży między tymi dwoma wersjami bez końca. Podobny problem pojawia się przy wymuszaniu protokołu HTTPS. Jeśli serwer już automatycznie przekierowuje użytkowników na szyfrowaną wersję strony, a .htaccess
próbuje to zrobić ponownie, może dojść do zapętlenia.
Innym przypadkiem są reguły napisane z błędami składniowymi lub nieodpowiednio sformatowane wyrażenia regularne, które „łapią” zbyt wiele adresów, przekierowując nawet te, które nie powinny być ruszane. W praktyce oznacza to, że każda strona serwisu – zamiast ładować się normalnie – natychmiast zostaje przekierowana gdzieś indziej, często z powrotem do punktu wyjścia.
Niebezpieczne bywają również resztki dawnych konfiguracji. Jeśli wcześniej używałeś jakiejś wtyczki do przekierowań, która dodawała własne reguły do .htaccess
, a teraz została usunięta, jej wpisy mogły pozostać w pliku i nadal działać w tle. Czasem wystarczy nawet drobna zmiana w strukturze katalogów, aby dotychczasowe przekierowania przestały mieć sens i zaczęły prowadzić donikąd.
Warto pamiętać, że WordPress ma swój domyślny fragment .htaccess
, który odpowiada za poprawne ładowanie strony i wewnętrzne przekierowania. Jeśli ten fragment został usunięty lub zmodyfikowany, system może nie być w stanie odnaleźć właściwej ścieżki do treści, co również skutkuje pętlą.
Dlatego zawsze warto zachować ostrożność podczas edycji .htaccess
. Każda zmiana powinna być przemyślana, a najlepiej poprzedzona wykonaniem kopii zapasowej. Jeśli cokolwiek pójdzie nie tak, przywrócenie poprzedniej wersji pliku może uratować stronę przed poważniejszymi problemami.
c) Wtyczki przekierowujące
W ekosystemie WordPressa wtyczki do przekierowań są niezwykle przydatnym narzędziem – pozwalają w prosty sposób zarządzać ruchem na stronie, naprawiać błędne linki, ustawiać przekierowania 301 po migracji treści czy monitorować błędy 404. Dzięki nim nie trzeba ręcznie edytować pliku .htaccess
, co szczególnie cenią mniej zaawansowani użytkownicy. Jednak jak każda mocna funkcjonalność, również i ta niesie ze sobą ryzyko, zwłaszcza jeśli zostanie źle skonfigurowana lub użyta bez świadomości działania mechanizmów w tle.
Jedną z najpopularniejszych wtyczek tego typu jest Redirection – narzędzie o potężnych możliwościach, które jednak potrafi wygenerować niemałe zamieszanie, jeśli ustawisz reguły bez głębszego zrozumienia ich działania. Przykładowo, ustawienie ogólnego przekierowania z /
na /strona-glowna
bez wykluczeń może sprawić, że każda podstrona zacznie się zapętlać. Podobnie wygląda sytuacja, gdy użytkownik ustawi wiele reguł na ten sam adres docelowy – wówczas WordPress gubi się w logice przekierowań i wpada w pętlę.
Nie mniej problematyczne potrafią być wtyczki SEO, takie jak Yoast SEO, Rank Math czy All in One SEO, które także oferują mechanizmy przekierowań. Często użytkownicy nie zdają sobie sprawy, że jedna wtyczka już ustawia przekierowanie, a inna robi to równolegle – efekt? Konflikt i zapętlenie, które objawia się błędem „ERR_TOO_MANY_REDIRECTS”.
Dodatkowe ryzyko pojawia się przy migracji strony lub zmianie domeny. Wtyczki tego typu mają opcję automatycznego wykrywania zmian w adresach URL i tworzenia odpowiednich przekierowań. Jeśli jednak algorytm źle rozpozna nową strukturę lub zachowa starą wersję domeny w ustawieniach, może dojść do sytuacji, w której każde wejście na stronę kończy się przekierowaniem… z powrotem do miejsca, z którego właśnie przyszliśmy.
Nie można też zapominać o konfliktach między wtyczkami. Czasem nawet niepozorna funkcja jednej z nich – jak np. wymuszanie HTTPS, przekierowanie do wersji z „www” lub ustawienie języka – może wchodzić w kolizję z regułami innej. Szczególnie widać to w konfiguracjach, gdzie współistnieje kilka narzędzi zarządzających ruchem, np. Redirection + wtyczka cache + wtyczka do SSL + CDN z własnym systemem przekierowań.
Dlatego kluczowe jest, by po zaobserwowaniu problemu z pętlą przekierowań zacząć od wyłączenia wszystkich wtyczek, które mogą mieć związek z ruchem URL na stronie. Najszybszy sposób to zmiana nazwy folderu konkretnej wtyczki w katalogu wp-content/plugins
– na przykład z redirection
na redirection-off
. Dzięki temu WordPress przestaje ją widzieć i automatycznie ją dezaktywuje, nawet bez dostępu do kokpitu.
Dopiero po ponownym załadowaniu strony i sprawdzeniu, czy problem ustąpił, można aktywować poszczególne wtyczki pojedynczo i testować działanie każdej z nich. Tylko w ten sposób uda się precyzyjnie namierzyć źródło błędu.
Wniosek? Wtyczki do przekierowań to potężne narzędzie, ale tylko wtedy, gdy korzystamy z nich świadomie. Jeśli nie jesteś pewien działania konkretnej reguły, lepiej najpierw ją przetestować na kopii roboczej lub w środowisku stagingowym. I zawsze – absolutnie zawsze – robić backup przed jakąkolwiek zmianą przekierowań, zwłaszcza w aktywnym serwisie.
d) Niepoprawna migracja na HTTPS lub zmianę domeny
Migracja strony internetowej – czy to na nowy adres domeny, czy z protokołu HTTP na HTTPS – to pozornie proste zadanie. Ale w świecie WordPressa, gdzie każda linijka konfiguracji i każdy wpis w bazie danych ma znaczenie, nawet najmniejszy błąd potrafi wywołać chaos w postaci pętli przekierowań, błędów 404 lub nawet całkowitego braku dostępu do witryny. Często to właśnie nieprawidłowe przeprowadzenie migracji jest jednym z najczęstszych powodów występowania błędu „ERR_TOO_MANY_REDIRECTS”.
Migracja z HTTP na HTTPS jest dziś praktycznie obowiązkowa – Google promuje bezpieczne strony, a przeglądarki ostrzegają użytkowników, gdy odwiedzają witrynę bez szyfrowania. Niestety, wielu administratorów myśli, że wystarczy zainstalować certyfikat SSL i przekierować ruch z HTTP na HTTPS w .htaccess
. Problem w tym, że WordPress nadal może próbować ładować zasoby przez HTTP, jeśli nie zaktualizowano adresów w ustawieniach strony i w bazie danych. Taka niespójność prowadzi do konfliktów: serwer wymusza HTTPS, a WordPress wraca do HTTP – i mamy gotową pętlę przekierowań.
Równie niebezpieczna może być zmiana domeny – np. z mojastara.pl
na mojanowa.pl
. Jeśli nie zaktualizujesz adresów URL w ustawieniach WordPressa („Ustawienia → Ogólne”), to stara domena nadal będzie wymuszona na poziomie systemu CMS. Co więcej, jeśli nie zastosujesz poprawnych reguł przekierowań 301 w .htaccess
, przeglądarka zostanie wpuszczona w ślepy zaułek przekierowań między starą a nową domeną.
Częstym błędem jest również pominięcie aktualizacji bazy danych. WordPress zapisuje pełne adresy URL wpisów, obrazów, plików i linków wewnętrznych. Jeśli przeniesiesz stronę, ale nie zaktualizujesz tych danych (np. za pomocą wtyczki Better Search Replace lub poleceń w phpMyAdmin), witryna nadal będzie próbowała odwoływać się do starych ścieżek, co ponownie może prowadzić do zapętleń lub błędnych przekierowań.
Kolejnym punktem zapalnym są wtyczki do SSL, takie jak Really Simple SSL. Są bardzo pomocne, ale jeśli użyjesz ich bez sprawdzenia istniejących reguł w .htaccess
albo z włączonymi już przekierowaniami na poziomie serwera (np. w DirectAdminie, LiteSpeedzie czy Cloudflare), może dojść do konfliktu. Zamiast jednego przekierowania z HTTP na HTTPS, użytkownik otrzymuje ich kilka na raz – a to prosta droga do pętli.
Jeśli po migracji na HTTPS lub po zmianie domeny zauważysz, że strona nie ładuje się poprawnie, a przeglądarka zgłasza zbyt wiele przekierowań, zacznij od sprawdzenia:
-
Czy adresy WordPressa (URL) i witryny (URL) są poprawnie ustawione w
wp-config.php
lub w panelu WordPressa? -
Czy plik
.htaccess
nie zawiera sprzecznych lub powielonych reguł przekierowań? -
Czy wtyczki SSL lub SEO nie nadpisują adresów domeny lub protokołu?
-
Czy wszystkie adresy URL w bazie danych zostały zaktualizowane do nowej domeny i/lub HTTPS?
-
Czy serwer (lub CDN) nie wymusza dodatkowego przekierowania, które dubluje reguły WordPressa?
Odpowiednie przygotowanie i analiza to podstawa każdej migracji. Najlepiej najpierw przeprowadzić testy w środowisku stagingowym i dokładnie monitorować zachowanie strony po każdej zmianie. W razie problemów – zawsze warto wykonać backup i krok po kroku analizować źródło zapętlenia.
Migracja to nie tylko przenoszenie plików – to złożony proces wymagający dokładności i zrozumienia, jak WordPress obsługuje adresy URL, przekierowania i certyfikaty SSL. Nawet jeden źle ustawiony parametr potrafi całkowicie zablokować dostęp do witryny, dlatego świadome podejście do każdego kroku jest absolutnie kluczowe.
e) Błędy CDN / proxy / ELB
W nowoczesnym internecie coraz więcej stron korzysta z zaawansowanych rozwiązań infrastrukturalnych, takich jak CDN-y (Content Delivery Network), serwery proxy oraz ELB (Elastic Load Balancer) oferowane np. przez Amazon Web Services. Ich głównym celem jest przyspieszanie działania witryny, poprawa bezpieczeństwa i skalowalności, ale warto pamiętać, że niewłaściwa konfiguracja tych komponentów może powodować poważne problemy, w tym właśnie pętle przekierowań lub błędy typu ERR_TOO_MANY_REDIRECTS
.
CDN (np. Cloudflare, Akamai, Fastly)
CDN działa jako bufor pomiędzy użytkownikiem a Twoim serwerem. Przechwytuje zapytania i serwuje treści z rozproszonych geograficznie serwerów. Jeśli jednak CDN jest nieprawidłowo skonfigurowany – na przykład wymusza HTTPS, podczas gdy Twoja strona nadal funkcjonuje na HTTP – może dojść do niekończących się przekierowań.
Przykład problemu:
Strona ładuje się po HTTP, ale Cloudflare automatycznie wymusza HTTPS. W tym samym czasie WordPress nie ma poprawnie ustawionych adresów https://
w ustawieniach lub wp-config.php
, przez co próbuje cofnąć użytkownika do HTTP. Efekt? Zapętlona seria przekierowań między HTTP a HTTPS.
Aby temu zapobiec:
-
Upewnij się, że w panelu WordPressa adres witryny i WordPressa zaczyna się od
https://
. -
W Cloudflare włącz tryb SSL jako „Full” lub „Full (Strict)”, ale tylko wtedy, gdy Twój serwer obsługuje poprawnie SSL.
-
Wyłącz opcję „Always use HTTPS”, jeśli masz już ręcznie ustawione przekierowania w
.htaccess
lub wtyczce typu Really Simple SSL.
Dodatkowo – niektóre CDN-y mają własne reguły przekierowań lub cache’ują nagłówki HTTP, co może prowadzić do kolizji z ustawieniami WordPressa. W takich przypadkach warto tymczasowo wyłączyć CDN i sprawdzić, czy problem nadal występuje.
Serwery proxy (np. Nginx jako reverse proxy, load balancery)
Kiedy Twoja strona działa za tzw. reverse proxy, np. konfiguracją Nginx jako pośrednik dla Apache, lub jako część infrastruktury korporacyjnej, mogą wystąpić problemy z przekazywaniem nagłówków HTTP – zwłaszcza tych związanych z protokołem (X-Forwarded-Proto
).
Jeśli WordPress „myśli”, że użytkownik korzysta z HTTP, ale reverse proxy przekierowuje wszystko na HTTPS, może dojść do zapętlenia.
Typowy objaw:
Zainstalowano certyfikat SSL na warstwie proxy (np. Nginx), ale backend (Apache lub PHP) nie rozpoznaje połączenia jako bezpiecznego i odsyła użytkownika z powrotem do HTTP – CDN lub Nginx znowu zmusza go do HTTPS – i tak w kółko.
Rozwiązanie:
-
W pliku
wp-config.php
dodaj warunek rozpoznający protokół z nagłówków proxy:
-
Upewnij się, że serwer proxy przekazuje nagłówki typu
X-Forwarded-Proto
lubX-Forwarded-For
.
ELB (Elastic Load Balancer w AWS)
Amazonowy ELB również działa jako proxy i load balancer jednocześnie. Bardzo często używa się go w konfiguracjach, gdzie SSL jest terminowany na ELB, a serwery aplikacyjne (np. WordPress) pracują za nim i domyślnie komunikują się po HTTP.
Bez poprawnego przekazania nagłówków i zrozumienia, że ruch pochodzący z ELB jest w rzeczywistości połączeniem HTTPS, WordPress znów może próbować „cofać” odwiedzających do HTTP.
W efekcie:
-
ELB przekierowuje na HTTPS,
-
WordPress cofnie na HTTP,
-
i znowu ELB na HTTPS – zapętlenie gotowe.
Co zrobić:
-
Skonfiguruj ELB, by przekazywał nagłówki
X-Forwarded-Proto
orazX-Forwarded-Port
. -
Zastosuj ten sam trik z
wp-config.php
, jak przy Nginx. -
Możesz również rozważyć użycie wtyczek WordPressa, które lepiej interpretują środowisko ELB, jak np. „WP Offload Media” lub „Amazon Web Services for WordPress”.
3. Jak sprawdzić, czy strona wpadła w pętlę?
Pętla przekierowań to jeden z bardziej zdradliwych błędów, jakie mogą wystąpić na stronie internetowej – z pozoru niewidoczna, ale całkowicie blokująca dostęp do witryny. Na szczęście istnieje kilka prostych, ale skutecznych metod, które pozwalają zdiagnozować ten problem. Zarówno osoby techniczne, jak i początkujący użytkownicy WordPressa są w stanie samodzielnie sprawdzić, czy ich witryna nie utknęła w zapętleniu przekierowań.
Komunikaty błędów w przeglądarce
Najprostszym i najczęstszym sygnałem świadczącym o pętli przekierowań jest komunikat o błędzie wyświetlany przez przeglądarkę. Jeśli próbujesz załadować stronę i otrzymujesz komunikaty typu:
-
„Strona spowodowała zbyt wiele przekierowań”
-
„ERR_TOO_MANY_REDIRECTS”
-
„This page isn’t working – redirected you too many times”
…to możesz być niemal pewien, że masz do czynienia z pętlą przekierowań. Przeglądarki, takie jak Chrome, Firefox czy Edge, domyślnie przerywają próby ładowania strony po ok. 20 nieudanych przekierowaniach i wyświetlają taki właśnie błąd.
Narzędzia developerskie w przeglądarce (DevTools)
Aby dokładnie zobaczyć, co się dzieje podczas próby załadowania strony, możesz skorzystać z wbudowanych narzędzi programistycznych w przeglądarkach.
Jak to zrobić w Google Chrome:
-
Otwórz stronę, która sprawia problemy.
-
Naciśnij
F12
lub kliknij prawym przyciskiem myszy i wybierz Zbadaj (Inspect). -
Przejdź do zakładki Network.
-
Odśwież stronę (
Ctrl + R
). -
Obserwuj, czy przeglądarka wykonuje wiele przekierowań pomiędzy różnymi adresami URL (statusy 301 lub 302).
-
Jeśli widzisz powtarzające się cyklicznie adresy lub niekończące się przejścia, to oznaka zapętlenia.
Uwaga: W kolumnie „Status” zobaczysz np. wiele odpowiedzi 301 Moved Permanently
, prowadzących na zmianę do http → https
lub z www → bez www
i odwrotnie.
Konsola przeglądarki i logi serwera
W zakładce Console w narzędziach programistycznych mogą się pojawić błędy JavaScript lub komunikaty, które pośrednio wskażą, że strona nie jest ładowana z powodu problemów z przekierowaniami.
Z kolei logi serwera (np. Apache lub Nginx) to jedno z bardziej precyzyjnych narzędzi diagnostycznych. W logach błędów lub logach dostępu możesz zobaczyć, jak często i w jakim kierunku wysyłane są przekierowania. Jeśli widzisz wiele zapytań z tym samym IP w krótkim czasie i powtarzające się przekierowania – to znak, że występuje zapętlenie.
Testowanie w różnych przeglądarkach i trybach
Niektóre problemy z pętlą przekierowań mogą być związane z przestarzałą pamięcią podręczną przeglądarki (cache) lub ciasteczkami (cookies).
Warto przetestować:
-
otwarcie strony w trybie incognito,
-
w innej przeglądarce,
-
po wyczyszczeniu cache i cookies.
Jeśli tylko jedna przeglądarka zgłasza błąd – problem może być lokalny. Jeśli wszystkie przeglądarki blokują dostęp – pętla występuje globalnie.
4. Jak krok po kroku naprawić pętlę przekierowań?
✅ Krok 1: Sprawdź ustawienia WordPressa
Wejdź w Ustawienia → Ogólne, upewnij się, że Adres WordPressa i Adres witryny są identyczne (z www lub bez, HTTP/HTTPS)
Jeśli nie możesz wejść, ustaw WP_HOME i WP_SITEURL w wp-config.php
:
define('WP_HOME','https://twoja-domena.pl');
define('WP_SITEURL','https://twoja-domena.pl');
W razie potrzeby dodaj FORCE_SSL_ADMIN
.
✅ Krok 2: Wyczyść ciasteczka, cache przeglądarki i WordPressa
To proste działanie, które często rozwiązuje problem.
✅ Krok 3: Wyłącz wszystkie wtyczki
Zrób to przez panel lub zmień nazwę folderu wp-content/plugins
przez FTP – jeśli to pomoże, aktywuj wtyczki pojedynczo, aż znajdziesz winnego.
✅ Krok 4: Przeanalizuj plik .htaccess
Tymczasowo usuń lub zmień nazwy reguł dodanych ręcznie lub przez wtyczki. Przywróć domyślny kod WordPressa:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
✅ Krok 5: Sprawdź ustawienia SSL / CDN
Jeśli wymuszasz HTTP→HTTPS, upewnij się, że certyfikat działa, reguły nie nakładają się, a CDN nie tworzy zapętleń . W Cloudflare wyłącz opcje typu „Always Use HTTPS” na czas testu .
✅ Krok 6: Sprawdź uprawnienia plików (opcjonalnie)
Rzadko, ale zdarza się, że zła permisyjność powoduje błędy przekierowań (np. na /wp-admin/
) – warto to sprawdzić i ustawić 644
dla plików i 755
dla katalogów.
Pasjonat gier wideo, nowych technologii i wszystkiego, co związane z cyfrowym światem. Od zawsze fascynowały go nie tylko same gry, ale też to, jak powstają, jak działają i w jaki sposób oddziałują na graczy oraz społeczność online. Jako bloger z wieloletnim doświadczeniem, z zamiłowaniem tworzy treści, które nie tylko informują, ale też pomagają – zarówno początkującym, jak i zaawansowanym użytkownikom sieci. Uwielbia zagłębiać się w szczegóły i dzielić się swoją wiedzą w przystępny sposób.
Od lat nieustannie eksploruje świat SEO, optymalizacji treści i skutecznego pozycjonowania, śledząc zmieniające się algorytmy Google oraz najlepsze praktyki twórców stron internetowych. Do tego aktywnie interesuje się cyberbezpieczeństwem, a jego misją jest pokazywać, że internet nie musi być miejscem pełnym zagrożeń – o ile wiemy, jak się w nim poruszać świadomie i bezpiecznie.
Ostatnie komentarze