Kompletny przewodnik po HTTPS i SSL dla WordPress
Opublikowany: 2018-10-16Prawdopodobnie zauważyłeś w ciągu ostatnich kilku lat, że wiele Twoich ulubionych witryn zostało przeniesionych z adresów HTTP na HTTPS. Dodany list, przy niewielkim nakładzie czasu i wysiłku na wpisanie, dodaje ogromnej wartości i bezpieczeństwa tym stronom internetowym. Posiadanie witryny HTTPS opartej na WordPressie nie tylko sprawi, że Twoja firma będzie bardziej wiarygodna dla odwiedzających, ale także będzie miała wyższą pozycję w wynikach wyszukiwania.
Co to jest HTTPS?
Jeśli HTTP oznacza protokół przesyłania hipertekstu . HTTPS oznacza bezpieczny protokół przesyłania hipertekstu . Mozilla Developer Network (MDN) ma fantastyczną, prostą definicję protokołu:
HTTPS ( HTTP Secure ) to zaszyfrowana wersja protokołu HTTP. Zwykle używa protokołu SSL lub TLS do szyfrowania całej komunikacji między klientem a serwerem. To bezpieczne połączenie pozwala klientom na bezpieczną wymianę wrażliwych danych z serwerem, na przykład w przypadku czynności bankowych lub zakupów online.
Jeśli słyszałeś o szyfrowaniu end-to-end, to jest to. Tylko dwaj klienci zaangażowani w transakcję mogą odczytać dane. Każdy, kto może go przechwycić, zobaczy zniekształcony bałagan postaci, które teoretycznie są nie do złamania.
Brzmi całkiem nieźle, prawda? Jak więc uzyskać to cyfrowe pole siłowe? Przez SSL.
Co to jest SSL?
SSL oznacza warstwę bezpiecznych gniazd i po raz kolejny MDN może to wyjaśnić lepiej niż ktokolwiek inny:
[SSL] to protokół używany przez aplikacje do bezpiecznej komunikacji w sieci, zapobiegający manipulowaniu i podsłuchiwaniu poczty e-mail, przeglądania stron internetowych, przesyłania wiadomości i innych protokołów.
Wszystkie nowoczesne przeglądarki obsługują protokół TLS, co wymaga od serwera dostarczenia ważnego certyfikatu cyfrowego potwierdzającego jego tożsamość w celu nawiązania bezpiecznego połączenia. Możliwe jest, że zarówno klient, jak i serwer będą się wzajemnie uwierzytelniać, jeśli obie strony dostarczą własne indywidualne certyfikaty cyfrowe.
Te certyfikaty były kiedyś niesamowicie drogie i niedostępne dla prawie wszystkich, z wyjątkiem największych stron internetowych. Zobaczysz zieloną kłódkę w witrynach takich jak Amazon i Twitter, ale codzienne, zwykłe witryny WordPress (jak większość naszych) nie były w stanie zapłacić tysięcy dolarów, które kosztowałyby zakup certyfikatu.

Na szczęście dla nas wszystkich, ponieważ certyfikaty SSL stały się bardziej potrzebne zarówno do rankingu, jak i prowadzenia działalności, cena nie tylko spadła, ale wręcz zniknęła w przypadku większości witryn. Obecnie istnieje wiele usług, które oferują bezpłatne certyfikaty SSL, w tym większość hostów. Możesz uzyskać certyfikat SSL WordPress dość łatwo i bez większych problemów.
Jak uzyskać bezpłatny certyfikat SSL WordPress?
Subskrybuj nasz kanał YouTube
Obecnie główny dostawca bezpłatnych certyfikatów SSL pochodzi z usługi o nazwie Let's Encrypt.
Korzystając z ich usług, zyskujesz wszystkie korzyści wynikające z posiadania certyfikatu SSL bez wydawania ani grosza. A oto najlepsza część: większość głównych dostawców usług hostingowych współpracuje z Let's Encrypt, aby instalacja certyfikatu SSL była całkowicie bezbolesna.
Darmowy certyfikat SSL od Let's Encrypt możesz otrzymać na dwa sposoby.
Opcja 1. Zainstaluj bezpłatny certyfikat SSL ze swojego (obsługiwanego) konta hosta
Jak wspomniałem, wielu hostów współpracuje z Let's Encrypt, aby dodać bezpłatne certyfikaty SSL bezpośrednio w pulpitach cPanel swoich klientów lub w samym pulpicie hosta. Na przykład, jeśli hostujesz w SiteGround (tak jak ja), możesz zainstalować certyfikat SSL w około dwie sekundy. Z głównej strony logowania przejdź do zakładki Moje Konta i do Usług Dodatkowych . Powinieneś zobaczyć sekcję o nazwie Let's Encrypt Certificates , możesz zarządzać nimi i instalować je w dowolnym miejscu, klikając przycisk Wyświetl wszystko .

Dodatkowo możesz kliknąć przycisk Przejdź do cPanel i znaleźć logo Let's Encrypt pod nagłówkiem Bezpieczeństwo . Przenosi Cię na tę samą stronę, co View All .

Stamtąd zobaczysz listę wszystkich zainstalowanych certyfikatów. Jeśli to twój pierwszy raz, nie zobaczysz żadnego. Powinieneś jednak zobaczyć coś takiego:

Niezależnie od tego, czy zainstalujesz Wildcard (dla wszystkich subdomen w rodzicu), czy nie, po naciśnięciu przycisku Instaluj , Twój certyfikat SSL WordPress jest w drodze.

Serwer przetworzy instalację nowego certyfikatu SSL WordPress. Bułka z masłem. Jesteś prawie gotowy. Jednak nadal musimy go skonfigurować. Co znajduje się poniżej w następnej sekcji.
Przeczytaj także pełną listę hostów internetowych, które oferują bezpośrednie wsparcie dla Let's Encrypt. Proces dla większości obsługiwanych hostów powinien być podobny do SiteGround. Dodatkowo niektórzy gospodarze mogą pobierać opłaty za korzystanie z Let's Encrypt. Szczerze mówiąc, jest to trochę fałszywa opłata, a wielu hostów, którzy pobierają opłatę, nixuje opłatę, ponieważ Google czyni SSL standardem internetowym. Jeśli Twój nie oferuje tego za darmo, być może nadszedł czas, aby rozważyć innego hosta, ponieważ nie ma on na uwadze Twojego najlepszego interesu.
Opcja 2. Użyj „SSL za darmo”, aby ręcznie skonfigurować swój certyfikat Let's Encrypt
Jeśli Twój usługodawca hostingowy nie obsługuje Let's Encrypt, nadal możesz uzyskać bezpłatny certyfikat SSL, korzystając ze strony internetowej o nazwie SSL For Free.

Witryna pomoże Ci skonfigurować certyfikaty Let's Encrypt. Ale będziesz potrzebować dostępu do danych FTP swojej witryny i potencjalnie wsparcia ze strony hosta. Chociaż ta metoda działa, jest bardzo praktyczna i może być konieczne ręczne odnowienie certyfikatu po jego wygaśnięciu. Z tego powodu powinieneś spróbować znaleźć hosta, który oferuje bezpośrednią obsługę Let's Encrypt, ponieważ znacznie upraszcza to proces. Jeśli nie możesz z tego czy innego powodu, SSL za darmo jest najlepszą drugą opcją.
Dodatkowo możesz uzyskać bezpłatne certyfikaty SSL zarówno z Cloudflare, jak i FreeSSL. Cloudflare oferuje współdzielony certyfikat SSL w swoim bezpłatnym abonamencie. Jeśli już korzystasz z Cloudflare, jest to świetny sposób na uruchomienie witryny za pomocą HTTPS. Potem jest FreeSSL . Chociaż nie jest jeszcze publicznie dostępny, jest to bezpłatny projekt certyfikatu SSL firmy Symantec. Organizacje non-profit lub start-upy mogą już teraz korzystać z FreeSSL. W przeciwnym razie możesz zarejestrować się, aby otrzymywać powiadomienia, gdy stanie się publiczne.
Jeśli zdecydujesz się pójść tą drogą i ręcznie zainstalować certyfikat, Sucuri ma fantastyczny przewodnik, który przeprowadzi Cię krok po kroku przez proces instalacji. Pamiętaj jednak, że ręczna instalacja SSL będzie wymagała użycia wiersza poleceń, edycji plików WordPress Core i pracy z zadaniami CRON. Jeśli to nie brzmi jak Twój pomysł na zabawny dzień w pracy, odsyłam Cię do Opcji 1 powyżej.
Jak skonfigurować bezpłatny certyfikat SSL za pomocą WordPress
Bez względu na to, w jaki sposób zdecydujesz się uzyskać certyfikat, po jego zainstalowaniu użytkownicy będą mogli wyświetlić bezpieczną wersję Twojej witryny, przechodząc na stronę https://twojawitryna.com. Ale tylko dlatego, że Twoje połączenie HTTPS WordPress jest aktywne, nie oznacza, że skończyłeś. (Ale prawie jesteś.)
Aby poprawnie skonfigurować WordPress HTTPS do pracy z Twoim certyfikatem SSL, musisz wprowadzić pewne zmiany. Możesz to zrobić ręcznie… lub możesz użyć niesamowitej wtyczki, która zrobi wszystko za Ciebie. Nazywa się Really Simple SSL i zasługuje na swoją nazwę.

Wtyczka obsługuje cały proces. Po prostu zainstaluj i aktywuj. Uważaj – w naturalny sposób zostaniesz wylogowany z WordPressa przy pierwszym uruchomieniu wtyczki. Dzieje się tak, ponieważ wtyczka zmienia domyślny adres URL z „http://” na „https://”. Wszystko, co musisz zrobić, to zalogować się ponownie, używając swoich normalnych danych logowania. Nie musisz się niepokoić!
Po ponownym zalogowaniu zobaczysz, że wtyczka wprowadziła już niezbędne zmiany. Domyślne opcje są często wystarczająco dobre. Znajdziesz je w Ustawieniach – SSL .

A jeśli to nie wystarczy i chcesz jeszcze trochę poprawić, karta Ustawienia jest na górze.

Opcja, która prawdopodobnie najbardziej Cię interesuje, to pierwsza: automatyczne zastępowanie zawartości mieszanej . Pole powinno być domyślnie zaznaczone. Jeśli nie, sprawdź to. Następnie zapisz stronę.
Teraz możesz już iść. Pomyślnie zainstalowałeś i aktywowałeś WordPress HTTPS i WordPress SSL. Gratulacje!
Rozwiązywanie typowych błędów HTTPS/SSL
Tylko dlatego, że rzeczy są zainstalowane i gotowe, nie musi oznaczać, że działają płynnie. Możesz napotkać kilka problemów w swojej witrynie. Witryny HTTPS WordPress są jednak łatwe do rozwiązania. Przyjrzyjmy się rozwiązaniom niektórych z najczęstszych problemów.
W pewnym momencie, po skonfigurowaniu SSL w swojej witrynie i przejściu na WordPress HTTPS, możesz zobaczyć uszkodzone obrazy w swojej witrynie. Obrazy i treści, które kiedyś wyglądały idealnie w Twojej witrynie, mogą nie wyglądać tak, jakby nie istniały. Nie martw się. Nie zrobiłeś nic złego. Twoja witryna po prostu myśli, że te obrazy są niepewne (nie są), więc chcesz się upewnić, że WordPress SSL jest skonfigurowany do wyświetlania treści mieszanych.
Istnieją dwa różne typy mieszanej zawartości witryny. Jedna jest znana jako mieszana zawartość aktywna i powstaje, gdy HTTPS ładuje skrypt na górze HTTP. To wielkie nie, ale nie o to tutaj chodzi. Inny typ mieszanej zawartości jest znany jako mieszana zawartość wyświetlana i występuje, gdy zawartość przy użyciu połączenia HTTP jest ładowana do witryny HTTPS. Chociaż możliwe, że nie załadowałeś aktywnie żadnych obrazów do swojej witryny za pomocą protokołu HTTP, w WordPressie było coś, co spowodowało, że zostały one rozpoznane jako takie.
Zasadniczo coś w Twojej witrynie nie podobało się, że przeszedłeś na HTTPS i zamiast tego automatycznie wymusza na nich HTTP. Co je renderuje… cóż, to ich nie renderuje. Więc naprawmy to.
Pierwszym i najbardziej spójnym sposobem rozwiązania problemu mieszanych treści wyświetlanych jest użycie wtyczki WordPress SSL Insecure Content Fixer.


Za każdym razem, gdy instalujesz i aktywujesz wtyczkę, błąd mieszanej zawartości może natychmiast zniknąć. Domyślnie wtyczka zostanie ustawiona na prosty zestaw reguł w swoich ustawieniach (znajdziesz je w Ustawieniach — Niebezpieczna zawartość SSL w panelu administracyjnym WP). Możesz dostosować, jak rygorystyczne są reguły, których przestrzega, aż do wymuszenia HTTPS we wszystkich wywołaniach AJAX, ale w większości przypadków Simple będzie działać dobrze. Z mojego doświadczenia z tym konkretnym problemem wynika, że Simple pracowało za każdym razem. Ale twój przebieg może się różnić.

Jeśli nadal wyświetlasz zawartość mieszaną
Otwórz swoją witrynę, kliknij prawym przyciskiem myszy i wybierz opcję Wyświetl źródło strony lub naciśnij CTRL/CMD – U . Zobaczysz kod źródłowy strony, którą przeglądasz. W tym momencie naciśnij CTRL/CMD – F i wyszukaj src="http . Tak, z tylko jednym cudzysłowem. Jesteś dobry i możesz przejść dalej, jeśli widzisz 0.0.
Jeśli otrzymasz zwrócone wyniki, oznacza to, że witryna pobiera ze źródła HTTP, a nie HTTPS. Aby to naprawić, musisz sięgnąć do swojej bazy danych (ale ta jest łatwa i każdy może to zrobić).

Wtyczka Better Search and Replace w zasadzie umożliwia pracę w bazie danych za pośrednictwem panelu administracyjnego WordPress. Nie musisz zajmować się żadnym SQL, PHP ani niczym innym. Jest to standardowa strona WordPress, która działa jak typowa znajdź i zamień, której używałeś prawdopodobnie kilkanaście razy w edytorach tekstu.

Mamy pełny przewodnik po wtyczce, który możesz przeczytać tutaj, ale podział na naprawę błędu mieszanej treści WordPress SSL jest również dość prosty.
- Pobierz, zainstaluj i aktywuj wtyczkę
- Zrób kopię zapasową swojej witryny
- Przejdź do Narzędzia – Lepsze wyszukiwanie Zamień w bazie danych WordPress
- W polu Wyszukaj wpisz adres URL swojej witryny z http:// na początku
- W polu Zamień na wpisz adres URL swojej witryny za pomocą https://
- Zaznacz każdą tabelę w bazie danych za pomocą CTRL/CMD – A
- Upewnij się, że Uruchom jako suchobieg? sprawdzone. W ten sposób upewnisz się, że wszelkie błędy nie uszkodzą Twojej witryny i można je wcześniej naprawić
- Naciśnij Uruchom wyszukiwanie/zamień
Jeśli wszystko pójdzie zgodnie z planem, próba wykaże, że wyszukiwanie i wymiana zakończy się sukcesem i możesz uruchomić to naprawdę.

Przekierowanie HTTP na HTTPS
Teraz powinno to naprawić problemy z mieszaną zawartością ekranu. Jednak nadal prawdopodobnie chcesz się upewnić, że Twoja witryna korzysta z protokołu HTTPS, jak to możliwe, aby zapobiec wszelkim innym problemom. Jednym z takich problemów jest sytuacja, gdy witryna ma link zwrotny do wersji HTTP Twojej witryny, ale w rzeczywistości korzystasz z nowej, ulepszonej wersji HTTPS. Z technicznego punktu widzenia liczą się one jako dwie witryny , a ich stary link może być wyświetlany niektórym użytkownikom jako niezabezpieczony. Następnym krokiem jest sprawdzenie ustawień – Opcje ogólne . Upewnij się, że adres Twojej witryny jest ustawiony na HTTPS. Jeśli nie, zrób to i naciśnij Zapisz. (Strona Cię wyloguje. W porządku.)

Następnie musisz wejść do swojego klienta FTP i otworzyć plik .htaccess . Będzie on zlokalizowany w katalogu głównym instalacji WordPressa.

Będziesz chciał pobrać kopię tego jako kopię zapasową, a następnie otworzyć ją w swoim ulubionym edytorze kodu (mój to Sublime Text). Na samej górze pliku ( nie między tagami # BEGIN/END WordPress ) dodaj następujący kod. (Podziękowania dla Dreamhost za sam kod.)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Spowoduje to przekierowanie starych adresów URL HTTP do wersji HTTPS podczas ładowania witryny. Zauważ, że w kodzie, który umieszczasz [L, R=301] , jest to stałe przekierowanie 301 przez plik .htaccess . Jeśli to zrobisz, nie będziesz potrzebować wtyczki przekierowania 301. Przynajmniej dla domeny podstawowej.
Pamiętasz, jak powiedziałem, że liczą się jako dwie witryny? To naprawia to. Nadałeś nowej witrynie HTTPS WordPress cały ranking linków i ranking wyszukiwania, jaki miała Twoja witryna HTTP. Teraz upewnij się, że go zachowałeś, informując Big Daddy G (tak nazywam się obecnie w Google), że przeprowadziłeś się w bezpieczniejsze miejsce. Teraz nadszedł czas, aby załadować Google Search Console.
Nawet jeśli masz już wersję HTTP swojej witryny zarejestrowaną w Google Search Console, dodaj nową witrynę WordPress HTTPS jako nową właściwość.

Search Console wyświetli modalne pytanie o pełny adres URL witryny. W tym miejscu musisz upewnić się, że wprowadziłeś wersję HTTPS. Zwróć uwagę, że nawet modalny mówi ci, że są to oddzielne właściwości, tak abyś był świadomy, jak ważny jest ten krok.

Następnie jak zwykle przejdziesz przez proces weryfikacji nieruchomości. Kiedy skończysz, Google będzie wiedział, że zablokowałeś swoją witrynę przed wzrokiem ciekawskich.

Po zweryfikowaniu w Google i skonfigurowaniu Search Console z nową usługą, witaj w nowej witrynie HTTPS WordPress. Powinieneś być wolny i wolny od błędów, z którymi sam sobie poradzisz.
Błędy SSL WordPress z wtyczkami i motywami
Jeśli w tym momencie nadal masz błędy, istnieje duża szansa, że nie będziesz w stanie tego zrobić. Najbardziej prawdopodobnym winowajcą jest aktywna wtyczka lub motyw. Aby zobaczyć, który to może być, kliknij prawym przyciskiem myszy swoją stronę i wybierz z menu Sprawdź . Możesz także nacisnąć CTRL-SHIFT-I, aby otworzyć narzędzia programistyczne. Rozejrzyj się, aż zobaczysz kartę o nazwie Konsola . Jeśli są błędy, zobaczysz je podświetlone na czerwono.

Gdy spojrzysz na błędy, będziesz mógł zobaczyć, jakiego rodzaju są. Jeśli istnieją jakiekolwiek elementy oznaczone jako Zawartość mieszana , możesz spojrzeć na podany adres URL pliku, aby zobaczyć, która część instalacji jest odpowiedzialna. Możesz go łatwo zidentyfikować. Będzie to albo twój motyw, albo wtyczka z wyjścia błędu.
Teraz, ponieważ wiesz, co jest przyczyną błędu. Najlepszą rzeczą, jaką możesz zrobić, to zgłosić to autorowi wtyczki lub motywu. Wiele z nich ma fora wsparcia lub zespoły czatów na żywo właśnie z tego powodu. Polecam zgłosić to autorom z kilku powodów.
Po pierwsze, grzebanie w plikach wtyczek i motywów może być dość nieprzyjemne. Zwłaszcza jeśli sam nie jesteś programistą. Chociaż możesz znacznie łatwiej modyfikować pliki motywów dzięki motywom podrzędnym, nadal masz szansę złamać coś ważnego, o czym możesz nie wiedzieć. A jeśli chodzi o wtyczki… cóż, nigdy nie sugerujemy grzebania w plikach wtyczek. Czasami może być jeszcze bardziej nieprzyjemny niż motywy.
Drugim powodem jest to, że nie jesteś sam w tym problemie. Masz to. Inni też to mają. Tak działają te rzeczy. Dlatego programista musi o tym wiedzieć i dostarczyć poprawkę za pomocą aktualizacji. Więc nie tylko pomogłeś sobie z problemem, ale przyczyniłeś się do większego dobra i możesz czuć się cholernie dobrze ze sobą.
Ostrzeżenia o nieprawidłowym certyfikacie
Czasami użytkownik może poinformować Cię, że Twoja witryna wyświetla nieprawidłowy lub wygasły certyfikat. To nic wielkiego. To łatwe rozwiązanie. Ogólnie rzecz biorąc, aby naprawić wygasły certyfikat (lub go odnowić), wystarczy wykonać czynności opisane w powyższej sekcji zatytułowanej „Zainstaluj bezpłatny certyfikat SSL ze swojego (obsługiwanego) konta hosta”. W większości przypadków to zadziała. Jeśli tak się nie stanie, upewnij się, że zainstalowałeś certyfikat Wildcard, ponieważ może pojawić się błąd z powodu niezgodności nazwy domeny.

Jeśli to nie zadziała, skontaktuj się ze swoim gospodarzem. Jak powiedziałem wcześniej, jestem osobiście na SiteGround. A kiedy miałem ten problem z moim SSL, który nie odnawiał się automatycznie, zespół wsparcia naprawił go w ciągu pół godziny. To oczywiście zmieni hosta na hosta, ale oni chcą, aby Twoja witryna była online prawie tak samo jak Ty.
Błąd „Zbyt wiele przekierowań”
I na wypadek, gdyby przekierowanie 301 w pliku .htaccess nie powstrzymało tego (powinno), czasami może pojawić się błąd, w którym Twoja witryna utknie w nieskończonej pętli między witryną HTTP a witryną HTTPS. Na szczęście jest to prawie tak proste rozwiązanie jak nieprawidłowy certyfikat. Wystarczy otworzyć klienta FTP i znaleźć plik wp-config.php w tym samym folderze, w którym znajdował się .htaccess . Otwórz również ten w swoim ulubionym edytorze kodu. Dodaj następujący kod na dole pliku:
/** Prevent Too Many Redirects Loop **/
define('WP_HOME','https://mywebsite.com');
define('WP_SITEURL','https://mywebsite.com');
$_SERVER['HTTPS'] = 'on';
Zapisz i prześlij go z powrotem na serwer. Twoja witryna powinna teraz zatrzymać się tam, gdzie powinna.
Zawijanie z WordPressem HTTPS i SSL
Wiem, że to dużo. Ale WordPress HTTPS jest naprawdę ważny dla rentowności Twojej witryny w przyszłości. Użytkownicy bardziej Ci ufają. A co może ważniejsze, Google też będzie Ci bardziej ufać. Możesz teraz naprawiać błędy mieszanej zawartości, obsługiwać wygaśnięcie i odnawianie certyfikatu SSL, edytować pliki .htaccess i wp-config.php , a nawet bawić się bazą danych swojej witryny. W tym momencie zablokowałeś swoją witrynę. Kiedy coś się zepsuje z WordPress SSL, możesz to naprawić. Poklep się po plecach, idź na drinka i odpocznij dobrze, wiedząc, że Twoja witryna jest bezpieczna.
Jakie problemy WordPress z SSL miałeś w przeszłości i jak je rozwiązałeś?
Artykuł polecany przez supercaps / shutterstock.com
