Najczęstsze błędy SSL w WordPress wynikają z niepełnej konfiguracji HTTPS, pętli przekierowań albo problemu z certyfikatami zaufania na serwerze. Najpierw rozpoznaj objaw, a przed zmianami w bazie danych, pliku .htaccess lub wp-config.php wykonaj pełną kopię zapasową.
Jaki błąd SSL występuje na stronie?
Objaw zwykle wskazuje, w którym miejscu szukać przyczyny. Brak kłódki przy prawidłowo otwierającej się stronie najczęściej oznacza Mixed Content, natomiast niedostępność całej witryny może wynikać z pętli przekierowań. Problemy z aktualizacją WordPressa lub wtyczek często dotyczą konfiguracji serwera, a nie samej strony.
| Objaw | Prawdopodobna przyczyna | Rozwiązanie |
|---|---|---|
| Kłódka nie pojawia się, a przeglądarka ostrzega o niezabezpieczonych elementach | Mixed Content, czyli zasoby ładowane przez HTTP na stronie HTTPS | Sprawdź adresy w ustawieniach WordPressa i zaktualizuj odnośniki w bazie danych |
| ERR_TOO_MANY_REDIRECTS | Sprzeczne reguły w .htaccess, wp-config.php lub ustawieniach proxy |
Sprawdź adresy witryny i reguły przekierowań z HTTP na HTTPS |
| cURL error 60 przy aktualizacji lub instalacji wtyczki | Brak aktualnego pliku certyfikatów CA na serwerze | Zaktualizuj plik CA w WordPressie lub konfigurację PHP i systemu |
Zabezpiecz stronę przed naprawą
Zmiana adresów w bazie danych albo edycja plików serwera może zablokować panel administracyjny lub całą witrynę. Przed rozpoczęciem upewnij się, że możesz przywrócić poprzednią konfigurację:
- Wykonaj kopię bazy danych z poziomu panelu hostingu lub narzędzia administracyjnego.
- Skopiuj pliki WordPressa, szczególnie
.htaccess,wp-config.phpi katalogwp-content. - Sprawdź dostęp FTP, SFTP albo menedżera plików, aby móc cofnąć zmianę poza panelem WordPressa.
- Zapisz aktualne adresy witryny i reguły przekierowań przed ich modyfikacją.
Jak naprawić Mixed Content w WordPressie?
Mixed Content pojawia się wtedy, gdy strona otwiera się przez HTTPS, ale obrazy, arkusze stylów, skrypty lub osadzone materiały nadal są pobierane z adresów HTTP. Sama instalacja certyfikatu nie zmienia automatycznie wszystkich zapisanych odnośników.
Metoda ręczna – trwała zmiana adresów
To lepsze rozwiązanie, gdy masz dostęp do panelu i kopii zapasowej. Zmiany zapisują poprawne adresy w konfiguracji i bazie danych, więc strona nie musi naprawiać odnośników przy każdym ładowaniu.
- Zmień adresy WordPressa – przejdź do Ustawienia > Ogólne. W polach „Adres WordPressa (URL)” i „Adres witryny (URL)” zmień
http://nahttps://, a następnie zapisz zmiany. - Wykonaj kopię bazy danych – jest potrzebna przed masową zamianą adresów.
- Zainstaluj Better Search Replace – wtyczkę znajdziesz w Wtyczki > Dodaj nową. Następnie przejdź do Narzędzia > Better Search Replace.
- Uruchom testową zamianę – w polu wyszukiwania wpisz pełny adres witryny z HTTP, a w polu zamiany ten sam adres z HTTPS. Najpierw użyj opcji „dry run”, aby sprawdzić liczbę zmian.
- Wykonaj zamianę – zaznacz właściwe tabele, sprawdź oba adresy znak po znaku i uruchom operację dopiero po upewnieniu się, że domena jest poprawna.
Jeśli korzystasz z Elementora lub innego page buildera, sprawdź także jego narzędzie do zamiany adresów. Niektóre obrazy tła, przyciski i ustawienia widżetów są przechowywane w danych tego narzędzia.
Really Simple SSL jako szybka alternatywa
Wtyczka Really Simple SSL może automatycznie wymusić HTTPS i tymczasowo obsłużyć część problemów z mieszaną zawartością. To rozwiązanie jest łatwiejsze dla początkujących, ale nie zastępuje zawsze poprawnej zmiany adresów w bazie. W zależności od konfiguracji wtyczka może wykonywać dodatkową pracę przy ładowaniu strony, dlatego po naprawie stałej warto ograniczyć jej użycie lub sprawdzić wpływ na wydajność.
Jak usunąć pętlę przekierowań i błąd cURL 60?
ERR_TOO_MANY_REDIRECTS
Pętla przekierowań powstaje, gdy serwer, WordPress lub zewnętrzne proxy wzajemnie wymuszają różne wersje adresu. Sprawdź, czy oba adresy w Ustawienia > Ogólne są identyczne i używają HTTPS. Jeśli nie możesz wejść do panelu, wartości można tymczasowo ustawić w pliku wp-config.php przed wierszem z komentarzem kończącym edycję:
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
Zastąp example.com własną domeną. Nie dodawaj końcowego ukośnika, jeśli pozostała konfiguracja witryny go nie używa. Sprawdź również, czy wtyczka SSL, panel hostingu i serwer proxy nie mają kilku niezależnych reguł wymuszających HTTPS.
Jeśli używasz Apache, plik .htaccess znajduje się zwykle w katalogu głównym WordPressa, obok katalogów wp-admin, wp-content i wp-includes. Po pobraniu kopii pliku przez FTP lub menedżer plików możesz umieścić na jego początku jedną regułę przekierowania:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Nie wklejaj tego fragmentu wielokrotnie. Jeśli hosting korzysta z reverse proxy, zmienna HTTPS może być przekazywana inaczej. W takim przypadku dalsze zmiany najlepiej skonsultować z administratorem serwera, ponieważ kolejna reguła może nasilić pętlę zamiast ją usunąć.
cURL error 60
Błąd cURL error 60 z komunikatem „unable to get local issuer certificate” pojawia się zwykle podczas połączeń WordPressa z zewnętrznymi serwerami. Oznacza problem z lokalnym zestawem certyfikatów CA, którego PHP i cURL używają do weryfikacji połączeń. Nie jest to zazwyczaj błąd certyfikatu witryny ani problem, który naprawi wtyczka WordPressa.
Postępuj w tej kolejności:
- Zaktualizuj plik CA WordPressa – przez FTP lub menedżer plików podmień
wp-includes/certificates/ca-bundle.crtna plik pochodzący z aktualnej wersji WordPressa. Zachowaj kopię poprzedniego pliku. - Sprawdź konfigurację PHP – administrator serwera może wskazać aktualny plik
cacert.pemwphp.iniza pomocą ustawieńcurl.cainfoiopenssl.cafile. - Zaktualizuj certyfikaty systemowe – na własnym serwerze trzeba odświeżyć pakiet
ca-certificatesoraz uruchomić ponownie PHP-FPM lub Apache. - Sprawdź właściwą wersję PHP – przy kilku wersjach PHP każda może korzystać z innego pliku konfiguracyjnego. Na hostingu współdzielonym poproś administratora o wykonanie tej zmiany.
Nie wyłączaj weryfikacji SSL w WordPressie ani w cURL jako stałego rozwiązania. Usuwa to komunikat kosztem bezpieczeństwa połączeń.
Co sprawdzić po naprawie?
Po zmianach otwórz stronę w trybie prywatnym, wyczyść cache wtyczki i serwera, a następnie sprawdź kilka podstron oraz panel administracyjny. Końcowa weryfikacja powinna obejmować:
- sprawdzenie kłódki i listy zasobów blokowanych przez przeglądarkę,
- test adresu HTTP oraz HTTPS, aby upewnić się, że przekierowanie kończy się na jednej wersji,
- ponowne uruchomienie aktualizacji wtyczki lub WordPressa, jeśli wcześniej występował cURL error 60,
- dodanie wersji HTTPS domeny do Google Search Console, a także wariantu z „www”, jeśli był wcześniej używany osobno.
Jeżeli po tych czynnościach nadal występuje cURL error 60 i nie masz dostępu do php.ini, problem wymaga interwencji administratora hostingu. W przypadku pętli przekierowań warto przekazać mu kopię .htaccess oraz informację, czy strona korzysta z proxy lub usługi cache.