Czym jest błąd ERR_TOO_MANY_REDIRECTS?
To komunikat przeglądarki (Chrome pokazuje go jako ERR_TOO_MANY_REDIRECTS, Firefox jako „Strona nie przekierowuje poprawnie"), który pojawia się, gdy serwer w kółko odsyła przeglądarkę z jednego adresu na drugi, bez końca. Zamiast strony widzisz błąd, zanim jakikolwiek plik WordPress zdąży się w ogóle wczytać. Przyczyna prawie zawsze leży w konflikcie między dwoma miejscami, które próbują ustalić, jaki adres jest tym „właściwym".
Najczęstsze przyczyny pętli przekierowań
1. Niezgodne adresy siteurl i home w bazie danych
WordPress przechowuje w tabeli wp_options dwa adresy: siteurl i home. Jeśli po migracji, zmianie domeny albo ręcznej edycji te dwa adresy się różnią (na przykład jeden ma https://, drugi http://, albo jeden ma www, a drugi nie), WordPress zaczyna przekierowywać sam siebie, próbując dopasować rzeczywisty adres do zapisanego w bazie.
2. Podwójne wymuszanie https, w .htaccess i we wtyczce jednocześnie
Reguła przekierowania na https w pliku .htaccess działająca równolegle z wtyczką SSL (na przykład Really Simple SSL) albo z ustawieniem wymuszania https w samym WordPress, tworzy zapętlenie: serwer przekierowuje na https, WordPress znów wykrywa „zły" protokół i przekierowuje ponownie.
3. Zły tryb SSL w Cloudflare
To jedna z najczęstszych przyczyn na stronach za Cloudflare. Tryb Flexible zakłada, że połączenie między Cloudflare a serwerem origin jest po http, a WordPress ma ustawione wymuszanie https, więc serwer bez przerwy odsyła z powrotem na https, a Cloudflare znów łączy się po http. Rozwiązaniem jest zmiana trybu na Full albo Full (strict), o ile serwer ma poprawny certyfikat SSL.
4. Wtyczka cache serwująca zapętloną wersję strony
Jeśli błędna reguła przekierowania została już raz wygenerowana i zapisana w cache (wtyczki cache albo cache na poziomie Cloudflare), przeglądarka może dostawać zapętloną odpowiedź nawet po naprawieniu właściwej przyczyny, dopóki cache nie zostanie wyczyszczony.
5. Konflikt wtyczek bezpieczeństwa lub przekierowań
Wtyczki do przekierowań (Redirection), firewalle aplikacyjne czy wtyczki wymuszające konkretną domenę potrafią nadpisywać się nawzajem regułami przekierowań, szczególnie po aktualizacji jednej z nich.
Jak zdiagnozować i naprawić pętlę krok po kroku
Krok 1: Sprawdź łańcuch przekierowań w narzędziach deweloperskich
Otwórz stronę w przeglądarce, wciśnij F12, przejdź do zakładki Network i odśwież stronę. Zobaczysz listę kolejnych przekierowań (kody 301 lub 302) i dokładnie to, między jakimi adresami skacze przeglądarka, http a https, z www a bez www, stara domena a nowa. To najszybszy sposób, by zawęzić poszukiwania do jednej z pięciu przyczyn powyżej.
Krok 2: Sprawdź i wyrównaj siteurl oraz home w bazie
W phpMyAdmin, w tabeli wp_options, znajdź wiersze siteurl i home, oba powinny mieć identyczny adres z https:// i tym samym wariantem www. Bezpieczniej jest jednak ustawić je na sztywno w wp-config.php, to nadpisuje wartości z bazy bez ryzyka pomyłki:
define('WP_HOME', 'https://twojadomena.pl');
define('WP_SITEURL', 'https://twojadomena.pl');
Krok 3: Sprawdź tryb SSL w Cloudflare
W panelu Cloudflare wejdź w SSL/TLS i sprawdź aktywny tryb. Jeśli strona ma poprawny certyfikat SSL na serwerze (najczęściej Let's Encrypt, darmowy na większości hostingów), ustaw Full (strict). Tryb Flexible w połączeniu z wymuszaniem https po stronie WordPress niemal zawsze kończy się pętlą.
Krok 4: Wyłącz podwójne wymuszanie https
Zdecyduj, które jedno miejsce ma wymuszać https, wtyczka SSL, reguła w .htaccess albo Cloudflare, i wyłącz pozostałe. Regułę w .htaccess rozpoznasz po fragmencie podobnym do:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Krok 5: Wyczyść cache na wszystkich poziomach
Wyczyść cache wtyczki cache w WordPress, cache po stronie hostingu (jeśli panel to oferuje) i cache Cloudflare (Caching → Purge Everything). Stara, zapętlona odpowiedź potrafi zostać w cache nawet po naprawieniu przyczyny.
Krok 6: Dezaktywuj wtyczki przez FTP
Jeśli żaden z powyższych kroków nie pomógł, połącz się przez FTP, przejdź do wp-content/ i zmień nazwę folderu plugins na plugins_disabled. Jeśli pętla zniknie, przywróć nazwę i aktywuj wtyczki pojedynczo, żeby znaleźć tę, która ją powodowała.
Kiedy lepiej zadzwonić do specjalisty
Jeśli strona jest za Cloudflare i korzysta jednocześnie z wtyczki cache oraz wtyczki bezpieczeństwa, przyczyn może być kilka naraz, a naprawienie jednej bez sprawdzenia pozostałych często tylko przenosi problem. Dla sklepu czy strony firmowej każda godzina przestoju to utracona sprzedaż. Zadzwoń do mnie: 577 020 415, diagnozę zaczynam w ciągu godziny, a naprawę błędów WordPress wyceniam uczciwie, rozliczając co 15 minut.