Jeśli certyfikat SSL jest aktywny na serwerze, ale WordPress nadal otwiera stronę przez HTTP, brakuje konfiguracji po stronie aplikacji. Zmień adresy witryny na HTTPS, ustaw przekierowanie 301 i zaktualizuj stare odnośniki w bazie danych. To także najczęstsza droga do usunięcia błędu mieszanej zawartości.
Co dokładnie nie działa?
Objaw pozwala zawęzić przyczynę. Poniższa tabela pokazuje, od czego zacząć:
| Objaw | Możliwa przyczyna | Rozwiązanie |
|---|---|---|
| Brak kłódki przy adresie strony | WordPress lub część zasobów nadal korzysta z HTTP | Przełącz adresy witryny na HTTPS i popraw odnośniki |
| Komunikat o mieszanej zawartości | Obrazy, arkusze CSS, skrypty albo fonty są ładowane przez HTTP | Wykonaj zamianę adresów w bazie danych i sprawdź zasoby zewnętrzne |
| Błąd 404 po włączeniu HTTPS | Nieprawidłowe przekierowanie, reguły serwera albo permalinki | Sprawdź plik .htaccess i zapisz ponownie ustawienia bezpośrednich odnośników |
| Strona nie ładuje się przez HTTPS | Certyfikat nie obejmuje domeny albo serwer nie obsługuje poprawnie HTTPS | Skontaktuj się z hostingiem przed zmianami w WordPressie |
Jak ręcznie skonfigurować SSL w WordPress?
Ręczna konfiguracja jest trwalsza niż stałe podmienianie adresów przez wtyczkę. Wymaga kilku zmian, ale po ich zapisaniu WordPress nie musi wykonywać dodatkowej pracy przy każdym ładowaniu strony.
Przed rozpoczęciem przygotuj:
- Kopię zapasową plików WordPressa i bazy danych.
- Dostęp administratora do panelu WordPressa.
- Dostęp do plików serwera przez FTP lub menedżer plików hostingu.
- Adres domeny w obu wersjach, na przykład
http://twojadomena.plihttps://twojadomena.pl.
Przed uruchomieniem zamiany adresów wykonaj backup bazy danych. Błędna wartość w narzędziu do masowej podmiany może uszkodzić konfigurację witryny, a przywrócenie kopii będzie wtedy najszybszym sposobem naprawy.
- Zmień adresy w ustawieniach WordPressa – przejdź do Ustawienia → Ogólne. W polach „Adres WordPressa (URL)” i „Adres witryny (URL)” zamień prefiks
http://nahttps://, a następnie zapisz zmiany. - Ustaw przekierowanie 301 – połącz się z serwerem i otwórz plik
.htaccessw głównym katalogu WordPressa. Przed standardowymi regułami WordPressa dodaj:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Przekierowanie 301 kieruje użytkowników oraz roboty z wersji HTTP na HTTPS. Przed zapisaniem upewnij się, że plik nadal nazywa się dokładnie .htaccess, a edytor nie dodał rozszerzenia .txt.
Jeżeli serwer korzysta z nginx, plik .htaccess nie będzie obsługiwany. W takim przypadku regułę przekierowania trzeba ustawić w konfiguracji serwera albo w panelu hostingu.
- Zamień stare adresy w bazie danych – zainstaluj tymczasowo wtyczkę Better Search Replace, przejdź do Narzędzia → Better Search Replace i wpisz pełny adres witryny z HTTP w polu „Search for”, a jego wersję z HTTPS w polu „Replace with”.
- Wybierz tabele bazy danych – zaznacz wszystkie tabele, najpierw uruchom test „dry run”, a dopiero po sprawdzeniu wyników wykonaj właściwą zamianę. Nie zmieniaj adresu na sam prefiks, jeśli nie jest to konieczne. Pełny adres domeny ogranicza ryzyko modyfikacji obcych wartości.
- Usuń narzędzie po zakończeniu – po potwierdzeniu poprawnego działania strony wyłącz i usuń Better Search Replace. Jest potrzebne do jednorazowej migracji adresów, a nie do stałej pracy witryny.
Jeżeli używasz Elementora, sprawdź także jego narzędzie do zamiany adresów URL. Page builder może przechowywać adresy obrazów, przycisków i teł niezależnie od zwykłych ustawień WordPressa.
Czy wtyczka Really Simple SSL wystarczy?
Really Simple SSL może być wygodnym rozwiązaniem dla osoby, która nie chce edytować plików i bazy danych. Traktuj ją jednak jako skrót lub pomoc przy migracji, a nie zamiennik poprawnej konfiguracji.
Wtyczka może wykrywać zasoby ładowane przez HTTP i podmieniać ich adresy podczas generowania strony. Przy większej liczbie elementów oznacza to dodatkową pracę przy kolejnych żądaniach, a czasem także problemy z pamięcią podręczną lub kompatybilnością. Ręczna zmiana adresów zapisuje poprawną konfigurację na stałe i ogranicza zależność od dodatkowego rozszerzenia.
Co sprawdzić po wdrożeniu SSL?
Po zmianach wykonaj końcową kontrolę:
- Otwórz stronę w oknie incognito i sprawdź, czy adres zaczyna się od
https://. - Wejdź na wersję HTTP i sprawdź, czy następuje przekierowanie 301 do HTTPS.
- Otwórz kilka podstron oraz narzędzia deweloperskie przeglądarki i sprawdź, czy nie ma komunikatów o mixed content.
- Wyczyść cache WordPressa, wtyczki optymalizującej, serwera i przeglądarki.
- Jeśli korzystasz z Elementora, wyczyść jego pliki CSS i pamięć podręczną.
- Dodaj wersję HTTPS witryny do Google Search Console i przeprowadź wymaganą weryfikację własności.
W Google Search Console adres z HTTPS może być traktowany jako osobna wersja witryny. Jeśli wcześniej używałeś wariantów z „www” i bez „www”, dodaj odpowiedni wariant HTTPS dla każdej skonfigurowanej właściwości.
Jeżeli po zmianach pojawi się błąd 500, 404 albo całkowita niedostępność strony, przywróć kopię zapasową i sprawdź konfigurację serwera. Przy nginx, instalacji Multisite lub nietypowych regułach hostingu lepiej poprosić administratora o weryfikację przed kolejnymi zmianami.