WordPress i HTTPS

Wordpres jest dość specyficznym systemem CMS i pomimo swojej dojrzałości, popularności i różnorodności zastosowań nie doczekał się sam w sobie prostej funkcji odpowiedzialnej za zmianę jego połączeń przez protokół HTTPS. Jak więc w prosty i szybki sposób puścić ruch z naszego wordpressa przez szyfrowane połączenie HTTPS, bez grzebania w bazie danych i samym WP? Proponuję wykorzystać do tego 2 wtyczki, automatyzujące nam większość zadań.

Pierwszą proponowaną wtyczką jest Really Simple SSL, która po instalacji automatycznie zamieni nam połączenia HTTP na HTTPS oraz ustawi przekierowania z HTTP na HTTPS. Wtyczka ta praktycznie nie wymaga żadnej późniejszej konfiguracji oprócz zmiany dwóch ustawień o czym powiem za chwilę po instalacji i uruchomieniu drugiej potrzebnej nam wtyczki.

WordPress jak już wspomniałem jest dość specyficznym systemem CMS, który nie daje możliwości szybkiej i prostej zmiany wszystkich odnośników (linków) http:// na https:// a które przechowywane są w bazie danych. Zrobić to oczywiście można ręcznie wydając odpowiednie polecenie do bazy danych ale jest to czasochłonne i istnieje ryzyko, że sami coś przeoczymy, przez co nasz WP może nie działać do końca bezproblemowo.

Instalujemy wtyczkę Better Search Replace i przechodzimy do jej konfiguracji. Narzędzia >> Better System Replace i w polu Search For wpisujemy nasz url, czyli http://www.naszastrona.pl, a w polu Replace With ten sam adres ale z HTTPS, czyli https://www.naszastrona.pl i tutaj uwaga, ważne jest aby wpisywać to wraz z adresem naszej strony, nie tylko sam http:// i https:// gdyż w innym przypadku może to spowodować zmianę połączeń przez https także dla linków zewnętrznych (do innych stron), jakie często umieszczamy w naszych artykułach.

Następnie w Select Tables używając klawisza ctrl i prawego przycisku myszy zaznaczamy wszystkie tabele lub tylko te jakie nas interesują oraz odznaczamy opcje Run as dry run, która jest standardowo zaznaczona (odpowiada za wyszukanie łańcucha podanego w Search for, w zaznaczonych tabelach bez jego zamiany na ten podany w polu Replace with), kolejnym krokiem będzie wciśnięcie klawisza Run Search/Replace. Jako, że wtyczka czasem powoduje problemy na niektórych serwerach, możemy użyć jej zamiennika Velvet Blues Update URLs którego działanie i uruchomienie jest podobne.

Po tej całej krótkiej operacji została nam tylko jedna rzecz. Wchodzimy w opcje konfiguracyjne wtyczki Better Search Replace Ustawienia >> SSL i w zakładce Setting zmieniamy tak, aby zaznaczony były jedynie dwie opcje Enable javascript redirection to ssl oraz Turn HTTP Strict Transport Security on a następnie klikamy Save.

To już wszystko i po tej całej prostej operacji nasz Wordress wszystkie połączenia powinien nawiązywać przez szyfrowany protokół HTTPS.

4 myśli na temat „WordPress i HTTPS

  1. Na początku chciałbym podziękować za informacje jak uruchomić tego SSL na swoim WP. Wszystko działa bez zarzutu. Mam jednak kilka uwag, otóż zauważyłem, że strony ładują się nieco wolniej niż bez szyfrowania i jakby przesyłana jest większa ilość danych. Niestety mój hostingodawca nie ma wdrożonego ani http/2 ani SPDY, więc nie wiem jak to jest z uruchomiona jedna z tych usług.

  2. To, że strona ładuje się wolniej może być kilka przyczyn.
    1. Brak kompresji Gzip przy połączeniach szyfrowanych, co jest zjawiskiem normalnym. Stąd też pewnie i większa ilość przesyłanych danych. Gzip możesz spróbować włączyć dla strony poprzez .htaccess.
    2. Zarówno Http/2 jak i SPDY, który wchodzi i w skład http/2 wpływają realnie na wydajność stron, więc wdrożenie takiego http/2 przez twojego usługodawcę było by wskazane. Z drugiej strony jest to dość młody protokół, więc możesz trafić na opór jego wdrożenia. Zawsze może jednak wdrożyć sam SPDY.

  3. Chciałem obyć się bez wtyczek i próbowałem zrobić przekierowanie 301 w pliku htaccess, jednak przekierowywało jedynie stronę główną, natomiast podstrony pozostawały w 2 wersjach (z http i https). Na innej stronie na joomla czy html nie było problemu, dopiero na WordPressie się pojawił. Mimo, że zastosowałem wspomniany tutaj plugin Really Simple SSL, który całkowicie rozwiązał problem przekierowań, to chciałym wiedzieć w jaki działający sposób można to zrobić bez stosowania pluginów…

    • Jeśli chcesz obyć się bez pluginów to, jedynie baza danych i podmiana bezpośrednia z http, na https. Wtyczki dają ten komfort , że robią to automatycznie za ciebie.

Dodaj komentarz

seven + fifteen =