Za dużo przekierowań i brak kłódki po włączeniu HTTPS w WordPressie

Włączenie certyfikatu SSL powinno być formalnością, a bywa początkiem kłopotów: strona wpada w pętlę przekierowań i przeglądarka zgłasza ERR_TOO_MANY_REDIRECTS, albo działa, ale kłódki w pasku adresu nadal nie ma. Oba problemy mają konkretne, łatwe do usunięcia przyczyny.
Skąd bierze się pętla przekierowań?
Przeglądarka trafia na adres A, który przekierowuje na B, a B z powrotem na A. Po kilkunastu skokach przeglądarka się poddaje. W WordPressie najczęściej dzieje się tak, gdy:
- adresy
siteurlihomemająhttp://, a serwer wymuszahttps://(lub odwrotnie), - strona stoi za Cloudflare w trybie SSL „Flexible” – Cloudflare łączy się z serwerem przez HTTP, a serwer przekierowuje z powrotem na HTTPS,
- przekierowania ustawione są w kilku miejscach naraz: w .htaccess, we wtyczce i w panelu hostingu,
- niezgodność
wwwi wersji bezwwwmiędzy WordPressem a regułami serwera.
Krok 1: wyczyść ciasteczka i cache
Przeglądarka zapamiętuje przekierowania. Zanim zaczniesz zmiany, sprawdź stronę w oknie prywatnym albo wyczyść ciasteczka dla tej domeny. Jeśli używasz wtyczki cache lub CDN, wyczyść także ich pamięć.
Krok 2: ustaw spójny adres strony
W wp-config.php wymuś jeden, docelowy adres:
define( 'WP_HOME', 'https://twojadomena.pl' );
define( 'WP_SITEURL', 'https://twojadomena.pl' );
Ten sam adres (z www lub bez – byle wszędzie tak samo) musi być w regułach przekierowań serwera.
Krok 3: Cloudflare i serwery proxy
W Cloudflare ustaw tryb SSL/TLS na Full (strict) – wymaga ważnego certyfikatu na serwerze, który większość hostingów wystawia za darmo (Let's Encrypt). Jeśli strona stoi za proxy lub load balancerem, WordPress może nie wiedzieć, że połączenie jest szyfrowane. Pomaga dopisanie do wp-config.php, nad linią „To wszystko, zakończ edycję”:
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
$_SERVER['HTTPS'] = 'on';
}
Krok 4: jedno miejsce przekierowań
Wybierz jedno miejsce, które przekierowuje HTTP na HTTPS – najlepiej serwer (.htaccess lub opcja „Wymuś HTTPS” w panelu hostingu). Wyłącz analogiczne opcje we wtyczkach. Przykładowa reguła odporna na proxy znajduje się we wpisie o hardeningu przez .htaccess.
Przekierowanie na HTTPS powinno mieć jednego „właściciela”. Gdy ustawiają je trzy różne narzędzia, pętla to tylko kwestia czasu.
Brak kłódki mimo SSL – mixed content
Strona działa po HTTPS, ale część elementów (obrazki, skrypty, czcionki) wczytywana jest przez http://. Przeglądarka uznaje wtedy stronę za nie w pełni bezpieczną. Które to elementy, zobaczysz w konsoli przeglądarki (F12 → Konsola – ostrzeżenia „Mixed Content”).
Stare adresy siedzą zwykle w treści wpisów i ustawieniach w bazie danych. Najpewniej zamienisz je przez WP-CLI – najpierw na próbę, potem naprawdę:
wp search-replace 'http://twojadomena.pl' 'https://twojadomena.pl' --all-tables --dry-run
wp search-replace 'http://twojadomena.pl' 'https://twojadomena.pl' --all-tables
WP-CLI poprawnie obsługuje zserializowane dane, których nie wolno zmieniać „ręcznym” zapytaniem SQL. Bez WP-CLI użyj wtyczki do wyszukiwania i zamiany w bazie. Przed zamianą zrób kopię bazy danych. Twardo wpisane adresy http:// mogą też siedzieć w plikach motywu lub w ustawieniach page buildera.
Lista kontrolna po przejściu na HTTPS:
- Certyfikat ważny dla wersji z
wwwi bezwww. - Jeden adres w
siteurl,homei regułach serwera. - Jedno źródło przekierowania HTTP → HTTPS.
- Brak ostrzeżeń „Mixed Content” w konsoli.
- Nowa usługa w Google Search Console dla adresu
https://.
Najczęstsze pytania
Co oznacza „Przekierowuje zbyt wiele razy”?
Przeglądarka utknęła w pętli przekierowań – strona odsyła ją w kółko. W WordPressie najczęstsza przyczyna to złe ustawienia SSL (np. tryb „Flexible” w Cloudflare) lub sprzeczne reguły przekierowań.
Jak naprawić pętlę przekierowań SSL?
Ustaw spójne HTTPS: w Cloudflare tryb „Full (strict)”, poprawny adres strony z https w ustawieniach i jedno przekierowanie na HTTPS w .htaccess. Usuń sprzeczne reguły i wtyczki wymuszające SSL na kilka sposobów naraz.
Czy to problem z certyfikatem?
Nie zawsze – częściej z konfiguracją. Warto jednak sprawdzić, czy certyfikat jest ważny i obejmuje właściwą domenę, bo brak certyfikatu przy wymuszonym HTTPS też powoduje ten błąd.
Potrzebujesz pomocy z tym tematem?
MAQ Enterprise zajmie się tym za Ciebie – od jednorazowego audytu po stałą opiekę nad stroną. Zadzwoń: +48 604 790 398 lub napisz.
Napisz do mnie

