Włączenie SSL w WordPressie wymaga dwóch osobnych działań: instalacji certyfikatu na serwerze oraz zmiany konfiguracji samego WordPressa. Najbezpieczniej wykonać to ręcznie, ustawiając adresy HTTPS, przekierowanie 301 w pliku .htaccess i aktualizując stare odnośniki w bazie danych.
Co przygotować przed włączeniem SSL?
Certyfikat SSL musi być aktywny dla domeny na poziomie hostingu. Może to być certyfikat udostępniony przez hosting, na przykład Let’s Encrypt. Sama wtyczka WordPressa nie zainstaluje certyfikatu na serwerze.
Przed zmianami przygotuj:
- Aktywny certyfikat SSL przypisany do właściwej domeny.
- Dostęp do panelu hostingu oraz przez FTP lub menedżer plików.
- Kopię zapasową plików WordPressa i bazy danych.
Backup jest konieczny, ponieważ zmiana adresów w bazie danych lub błędna edycja pliku .htaccess może spowodować problemy z działaniem strony albo utratę dostępu do panelu.
Wtyczka czy konfiguracja ręczna?
Wtyczka może ułatwić migrację mniej technicznym użytkownikom, ale przy większości stron nie jest potrzebna jako stały element konfiguracji. Ręczne ustawienie HTTPS ogranicza liczbę zależności i nie wymaga sprawdzania dodatkowych reguł przy każdym ładowaniu witryny.
| Metoda | Trudność | Wpływ na wydajność | Zalecenie |
|---|---|---|---|
| Really Simple SSL | Niska | Może zwiększać obciążenie strony | Dobra przy szybkiej migracji |
| Konfiguracja ręczna | Średnia | Neutralny po wdrożeniu | Preferowana przy stałej konfiguracji |
| Opcja hostingu, na przykład DirectAdmin | Niska | Zwykle neutralny | Wystarczająca dla prostych witryn |
Niektóre panele hostingowe mają funkcję „Wymuś przekierowanie na HTTPS”. Możesz z niej skorzystać, ale nie włączaj jednocześnie kilku niezależnych mechanizmów przekierowania. Sprzeczne reguły mogą prowadzić do pętli lub błędu 500.
Jak ręcznie włączyć SSL w WordPressie?
Poniższa procedura dotyczy standardowej, pojedynczej instalacji WordPressa działającej na serwerze Apache. Jeżeli hosting korzysta z Nginx, plik .htaccess nie będzie używany. W takim przypadku przekierowanie konfiguruje się w panelu hostingu albo w konfiguracji serwera.
- Zmień adresy witryny w WordPressie – zaloguj się do panelu i przejdź do Ustawienia → Ogólne. W polach „Adres WordPressa (URL)” oraz „Adres witryny (URL)” zmień wyłącznie protokół z
http://nahttps://. Zachowaj nazwę domeny, wariant z „www” lub bez niego oraz ewentualną ścieżkę podkatalogu. Zapisz zmiany. WordPress może wylogować Cię z panelu, dlatego zaloguj się ponownie przez adres HTTPS. - Dodaj przekierowanie w pliku .htaccess – przez FTP lub menedżer plików otwórz plik znajdujący się w katalogu głównym WordPressa. Wykonaj jego kopię, a następnie dodaj regułę przed sekcją
# BEGIN WordPress:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Reguła sprawdza, czy żądanie nie korzysta już z HTTPS. Dzięki temu nie przekierowuje ponownie adresów zabezpieczonych i nie tworzy typowej pętli. Jeśli po zapisaniu pojawi się błąd 500, przywróć poprzednią wersję pliku .htaccess i skontaktuj się z administracją hostingu.
- Zamień stare adresy w bazie danych – instalacja certyfikatu i zmiana ustawień nie poprawiają automatycznie wszystkich odnośników zapisanych wcześniej w treści, menu czy ustawieniach motywu. Do jednorazowej migracji możesz użyć wtyczki Better Search Replace.
Wtyczka jest narzędziem tymczasowym, dlatego po zakończeniu operacji można ją wyłączyć i usunąć. Przed uruchomieniem zamiany wykonaj kopię bazy danych, a następnie postępuj tak:
- Przejdź do Narzędzia → Better Search Replace.
- W polu wyszukiwania wpisz pełny stary adres, na przykład
http://example.com. - W polu zamiany wpisz właściwy adres, na przykład
https://example.com. - Wybierz tabele należące do tej instalacji, najpierw uruchom tryb testowy, a dopiero po sprawdzeniu raportu wykonaj właściwą zamianę.
Nie wyszukuj samego http://, ponieważ mogłoby to zmienić także zewnętrzne adresy, które nie należą do Twojej domeny. Opcję zmiany GUID-ów pozostaw wyłączoną, chyba że masz konkretny powód do jej użycia.
Co zrobić przy błędzie Mixed Content?
Mixed Content oznacza, że strona otwiera się przez HTTPS, ale część zasobów nadal jest pobierana przez HTTP. Dotyczy to między innymi obrazów, arkuszy CSS, skryptów i adresów zapisanych w treści.
Źródło problemu sprawdzisz w narzędziach deweloperskich przeglądarki. Otwórz stronę, naciśnij F12, przejdź do zakładki „Console” i odszukaj komunikaty wskazujące adresy HTTP.
W razie problemów wykonaj następujące czynności:
- Sprawdź, czy w ustawieniach WordPressa oba adresy zaczynają się od
https://. - Uruchom testową zamianę pełnej domeny w Better Search Replace.
- Przejrzyj ustawienia motywu, wtyczek i zewnętrznych skryptów wskazanych w konsoli.
- Wyczyść cache WordPressa, serwera, CDN i przeglądarki.
- Jeśli strona nie ładuje się po zmianie
.htaccess, przywróć kopię tego pliku.
Nie każdy zasób zewnętrzny da się naprawić przez zmianę własnej domeny. Jeżeli obraz lub skrypt pochodzi z obcej strony i nie obsługuje HTTPS, trzeba zmienić źródło zasobu albo usunąć go z witryny.
Co sprawdzić po wdrożeniu?
Po zakończeniu konfiguracji sprawdź stronę w oknie incognito, aby ominąć zapisane przekierowania i pamięć podręczną. Zweryfikuj także kilka podstron, formularz kontaktowy, logowanie, obrazy i – w przypadku sklepu – koszyk oraz płatności.
Na koniec wykonaj tę krótką kontrolę:
- Otwórz stary adres HTTP i sprawdź, czy prowadzi do odpowiadającego mu adresu HTTPS.
- Sprawdź, czy przeglądarka nie zgłasza mieszanej zawartości.
- Wyczyść cache wtyczek i hostingu.
- Dodaj wersję HTTPS witryny w Google Search Console i zaktualizuj mapę strony.
- Sprawdź działanie witryny ponownie na komputerze i urządzeniu mobilnym.
Po poprawnym wdrożeniu użytkownicy powinni być automatycznie kierowani na HTTPS, a wszystkie własne zasoby witryny powinny ładować się przez bezpieczne połączenie. Jeśli certyfikat jest nieprawidłowy już przy otwieraniu domeny, problem leży po stronie hostingu, a nie konfiguracji WordPressa.