Jak przenieść stronę na HTTPS? Instrukcja krok po kroku
Jeszcze na początku XXI wieku wielu poważnych projektantów stron używało protokołu HTTP. Część z nich przeszła na jego bezpieczną wersję (HTTPS) w latach 2010-2011, kiedy to miały miejsce poważne zmiany wywołane przez hakera o pseudonimie Moxie Marlinspike i stworzone przez niego narzędzia. Oprogramowanie Firesheep i SSLStrip umożliwiły kradzież danych z niezabezpieczonych stron internetowych.
Niedawno rząd USA zlecił wszystkim federalnym witrynom przejście w trybie pilnym na HTTPS. Ma to się odbyć najpóźniej do końca 2016 roku. Wkrótce także przeglądarka Mozilla Firefox przestanie obsługiwać niezabezpieczone połączenia HTTP. W związku z tym przewiduje się kolejny przełom i masowe przejścia na HTTPS. Prędzej czy później zmiany te dotkną także nas.
Aby nie ryzykować spadku ruchu na firmowej witrynie, warto już teraz zająć się przeniesieniem strony z HTTP na HTTPS. Jest to tym bardziej wskazane, że Google obiecuje „faworyzować” w wynikach wyszukiwania witryny z certyfikatem HTTPS.
Jak przenieść swoją stronę na HTTPS? Poniżej znajduje się instrukcja, jak zrobić to krok po kroku.
Przygotowanie strony internetowej
Aby przygotować stronę do przejścia na protokół HTTPS należy zmienić pewne elementy w architekturze strony. Dzięki temu unikniemy ewentualnych problemów technicznych już po przeprowadzeniu zmiany.
- Zmiana linków wewnętrznych z bezwzględnych (czyli takich zawierających pełny adres linkowanego zasobu, np. https://widzialni.pl/dobre-rady) na względne (zawierające jedynie część adresu).
Istnieją dwa typy odnośników względnych:
- niezależne od domeny
/dobre-rady/
- niezależne od protokołu:
//blog.widzialni.pl/dobre-rady
Kiedy eliminuje się z adresu nazwę domeny lub protokołu, przeglądarka sama doda ten element na postawie aktualnego adresu podstrony. W ten sposób, niezależnie od tego, czy strona używa protokołu HTTP czy HTTPS, zawsze będzie odwoływać się do strony z tym samym protokołem. Należy pamiętać, że mówimy o linkach wewnętrznych, jako że zewnętrzne strony internetowe mogą w ogóle nie obsługiwać HTTPS, dlatego też linki do nich zostawiamy w niezmienionej formie.
Jeśli masz kilka subdomen jednej strony i wszystkie z nich przenosisz na HTTPS, to względna struktura linków pomoże robotom Google w poprawnej indeksacji.
- Korekta załączników treści multimedialnych
Sprawdź, jakie treści multimedialne (zdjęcia, filmy, prezentacje itp.) występują na witrynie i z pomocą jakiego protokołu są wywoływane. Należy zmienić wszystkie odnośniki na względne również dla multimediów. Po przejściu na HTTPS Twoje media i treści również będą ładowały się z zabezpieczonych witryn. Warto się jednak upewnić, że content naprawdę jest dostępny za pomocą protokołu HTTPS (w przypadku materiałów z witryn zewnętrznych).
Jeśli stosowane przez Ciebie zdjęcia są dostępne w obrębie tej samej domeny co Twoja witryna, to w takim razie używaj względnych adresów, np. //site.pl/img/mega-image.jpg. Jeśli ładujesz zdjęcia z serwisów zewnętrznych (Content Delivery Network lub innych stron), to powinny one również obsługiwać HTTPS. W przeciwnym razie należy zrezygnować z tych załączników.
Popularne serwisy, które pozwalają na wprowadzenie treści, np. YouTube lub Facebook i inne już od dawna wspierają HTTPS. Z nimi nie będzie problemów. Jeśli jednak używasz treści multimedialnych z mniej popularnych serwisów i witryn, sprawdź czy Twój materiał będzie działał oraz prawidłowo wyświetlał się po zmianie protokołu.
- Zewnętrzne skrypty
Dla zewnętrznych skryptów należy również używać względnych adresów URL. Na przykład dla biblioteki jQuery, zamiast kodu:
<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js”></script>
trzeba użyć:
<script src=”//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js”></script>
Analogicznie należy postąpić z Google Analytics, Google AdWords, różnymi bibliotekami JavaScript itp. Trzeba przy tym pamiętać: popularne serwisy i biblioteki obsługują HTTPS, a z mniej popularnymi mogą wystąpić problemy.
Instalacja certyfikatu SSL
Po poprawieniu wewnętrznych i zewnętrznych linków oraz sprawdzeniu dostępności treści i skryptów za pomocą protokołu HTTPS, można zająć się instalacją i konfiguracją certyfikatu SSL.
Wybór i zakup odpowiedniego certyfikatu SSL
Istnieje kilka rodzajów certyfikatów SSL. W zależności od specyfiki danego projektu, należy wybrać odpowiedni.
- Zwykłe certyfikaty są polecane osobom fizycznym i prawnym. Są wydawane na jedną domenę i ich wygenerowanie trwa kilka minut.
- Certyfikaty EV (Extended Validation), czyli z rozszerzonym sprawdzeniem firmy. Oprócz przynależności domeny do instytucji żądającej certyfikatu, tutaj również sprawdza się obecność organizacji, świadectwo rejestracji państwowej, poprawność połączeń i wiele innych elementów. EV-certyfikat daje możliwość uzyskania zielonej linii w pasku adresu przeglądarki z nazwą firmy (można zauważyć to na m.in. Twitterze).
- Wildcard – certyfikaty wydawane na wszystkie subdomeny jednej witryny. Jeśli masz wiele subdomen, np. regionalnych, to koniecznie trzeba pozyskać taki certyfikat.
- Z obsługą IDN – nie wszystkie certyfikaty obsługują domeny zapisane w językach narodowych, np. cyrylicy bądź z polskimi znakami diakrytycznymi. Jeśli posiadasz taką domenę, to musisz szukać certyfikatów z obsługą IDN.
Instalowanie certyfikatu na serwerze
Większość firm hostingowych oferuje możliwość szybkiego zainstalowania certyfikatu za pomocą panelu sterowania. Jeśli masz z tym problem, skontaktuj się z wsparciem technicznym hostingu lub zleć to zadanie programiście. Instalacja trwa zwykle kilka minut, ale przy tym sam serwer musi obsługiwać protokół SSL. Jeśli masz wątpliwości, sprawdź czy obsługuje certyfikaty SSL i jak można je zainstalować. Certyfikat nie jest przypisany do IP lub hostingu, więc można go zainstalować na dowolnie wybranym hostingu. Jeśli bieżący nie obsługuje SSL, trzeba przejść do innego.
Sprawdzanie dostępności strony poprzez protokół HTTPS
Instalując certyfikat SSL, upewnij się, że Twoja strona jest dostępna przy użyciu dwóch protokołów, z http:// i https://. Jeśli z jakiegoś powodu adres okazał się niedostępny, to trzeba pilnie znaleźć przyczynę takiego stanu i rozwiązać ten problem.
Konfiguracja witryny
Po udanej konfiguracji certyfikatu na serwerze, można zająć się konfiguracją witryny.
Przekierowania 301 z HTTP na HTTPS
Należy skonfigurować przekierowania dla wszystkich adresów w obrębie witryny, tak aby roboty sieciowe oraz użytkownicy zostali automatycznie przeniesieni na wersję serwisu z protokołem HTTPS.
Sprawdzenie poprawności działania witryny
Sprawdź wszystkie linki, dostępność serwisu, poprawność przekierowań, obecność blokady w pasku adresu przeglądarki – wszystko powinno działać idealnie. Jeśli coś funkcjonuje źle, napraw to.
Poinformuj wyszukiwarki o przeniesieniu
Aby zmniejszyć ryzyko utraty ruchu, o całej wykonanej przez Ciebie pracy poinformuj wyszukiwarkę. Użyj w tym celu Google Search Console.
Oczekiwanie na ponowne indeksowanie
To już wszystko. Twoja strona jest bezpieczna, podobnie jak jej użytkownicy. Google z czasem zmieni adres strony w wyszukiwarce.
Niektóre zdjęcia na mojej stronie są jeszcze na http większość już przeszła na https. Jak zmienić pozostałe ? Czy zrobi to za mnie Google Search Console za jakiś czas po przeindeksowaniu ?
Witam, musi Pan ręcznie zmienić odnośniki do plików z http na https na stronie. W przypadku, gdy dodaje Pan odnośniki do plików z zewnętrznego serwera który nie ma zainstalowanego certyfikatu SSL to warto te grafiki przenieść na własny serwer.
Pomocny wpis, u mnie się udało. Bałem się że będzie problem z błędami bo mieszane są url. Ale się udało zrobić to poprawnie. Dziękuję za pomoc.