Migracja z HTTP do HTTPS – 10 kroków

Wraz ze zmianami w wyszukiwarce Google, coraz ważniejsze staje się bezpieczne połączenie pomiędzy przeglądarką a serwerem.

Google już kilka lat temu włączyło bezpieczne połączenie do czynników rankingowych. A w styczniu 2017 wprowadzone zostały nowe zasady informowania użytkowników przeglądarki Chrome o bezpiecznym połączeniu o czym pisałem we wpisie “Google wymusza HTTPS://”

Także temat migracji witryny z protokołu HTTP do HTTPS napotka większość z właścicieli witryn lub osób zajmujących się SEO.

Poniższe zestawienie czynności zawiera tylko 10 kroków. Są to moim zdaniem najważniejsze kwestie, o których warto pomyśleć podczas migracji.

1. Kontrola oprogramowania

Migracja to dobry moment na sprawdzenie czy wszystko w porządku z naszym oprogramowaniem. Warto zwrócić uwagę na błędy wszelkiego typu, niepotrzebne przekierowania czy też błędne canonicale.

Na tym etapie zwróciłbym uwagę także na powielenia wewnętrzne treści, np strony głównej, które wyeliminowałbym bym by nie utworzyły się na nowo w HTTPS.

Przydatne:
Xenu, Netpeak Spider, Screaming Frog SEO Spider, Beam Us Up SEO Spider

2. Kontrola konfiguracji oprogramowania

Dobrze jest sprawdzić przed rozpoczęciem migracji jak posiadane oprogramowanie jest przystosowane do przejścia na HTTPS.

Czasami wystarczy tylko zmiana adresu w panelu lub włączenie odpowiedniej opcji. Jednak nie zawsze jest tak prosto i np trzeba zaktualizować oprogramowanie lub doinstalować odpowiedni moduł.

W tym kroku warto odwiedzić forum producent lub poszukać w Google :)

3. Zakup certyfikatu i instalacja na serwerze

Zakup certyfikatu to nic trudnego. Nie trzeba kupować go w firmie hostingowej, choć najczęściej to najłatwiejsza opcja.

Jeśli jednak aspekt finansowy przewyższa wygodę to generujemy odpowiedni CSR na swoim serwerze. Przy czym warto pamiętać by wygenerować go zgodnie z certyfikatem, który kupujemy. Kupując opcje wildcard w CRS podajemy *.domena a nie sama domenę.

W niektórych hostingach by podpiąć certyfikat trzeba zmienić opcję lub wykupić indywidualne IP.

Przy okazji sprawdźmy czy w łatwy sposób otrzymamy klucz prywatny, jakbyśmy chcieli zainstalować certyfikat na innych serwerze. Czasami trzeba pisać wiadomości z prośbami o ten klucz i bywa różnie :/.

4. Kontrola instalacji certyfikatu

Bardzo istotne jest by sprawdzić po instalacji certyfikatu SSL czy wszystko jest OK.

Przydatne:
https://www.sslchecker.com/sslchecker

5. Wdrożenie SSL w oprogramowaniu

Mamy więc już nasz certyfikat zainstalowany na serwerze – zaczynamy migrację.

W tym celu zgodnie z tym co znaleźliśmy zmieniamy konfiguracje lub włączamy odpowiednie opcje.

Należy pamiętać o tym, że wdrożenie nie będzie pełne jeśli część zasobów pobieranych będzie z niezabezpieczonych źródeł. Dotyczy to także pobieranych elementów z innych witryn np fontów z Google czy ramki z Facebook.

W przypadku części skryptów np WordPressa wymagana będzie także zmiana protokołu w linkach zapisanych na sztywno w bazie.

W tym celu możemy posłużyć się odpowiednią wtyczką czy zmienić odwołania via MySQL.

Można także wyeksportować bazę do pliku tekstowego, zmienić używając funkcji “znajdź i zamień” i zaimportować bazę po zmianach.

W tym przypadku proponuj zrobić kopię bezpieczeństwa z użyciem drugiej bazy (w razie problemów przełączamy) lub przynajmniej osobnego eksportu do pliku.

6. Kontrola wdrożenia

Jeśli wszystko zrobione jest do tej pory OK to kontrola przebiega szybko.

Podstawową kontrolę przeprowadzam używając przeglądarki Google Chrome. Napis “Bezpieczna” przy adresie strony jest OK :)

Sprawdzam jeszcze w kodzie wyszukując ciągu “http://”.

Kontrolę trzeba przeprowadzić przynajmniej dla kilku podstron. Zwłaszcza jak są one różnego typu (produktowe, treść, kontakt itd.)

7. Przekierowania

Kolejny krok to przekierowania. Cześć skryptów sama zacznie przekierowywać ruch z http:// do https://. Ważne by sprawdzić czy jest to przekierowanie 301. Jak nie to zmieniamy je na 301.

Jeśli skrypt nam nie pomaga to proponuję rozwiązać to samemu dodając odpowiednie zapisy w htpass.

Poniższe przekierowanie działa z wieloma skryptami. Może także z Twoim :).

RewriteEngine On
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Istotne jest by przekierowania był poprawne, najlepiej bez nadmiarowych skoków.

Kontrolujemy więcej niż jedno przekierowanie z różnych wariantów zapisu domeny. Strona główna i podstrony.
Przydatne:
https://httpstatus.io/

8. Google Search Console

Wszystko nam działa. Dodajemy więc nową wersje witryny w Google Search Console.

Google zbiera i wyświetla dane dla HTTP:// i HTTPS:// jak dla dwóch różnych witryn. Dane dla HTTPS będą stopniowo narastać a dla HTTP powinny znikać.

Warto na wersji HTTP pobrać kilka podstron. Efektem powinna być jasna informacja o przekierowaniach.

9. Zmiana protokołu w eksportach i narzędziach zewnętrznych

Na tym etapie warto zainteresować się wszelkiego typu eksportami np mapą XML czy plikami XML dla porównywarek. Sprawdzamy czy jest OK, czasami niestety skrypty nie chcą współpracować i wymagają zmian.
Mapę XML dodajemy do nowego profilu w GSC.

Kolejny prok to zmiana adresów w narzędziach zewnętrznych takich jak Google Analytics, Google Tag Maganer czy miejsca docelowe w Adwords. Jak używamy innych narzędzi to także i tam sprawdźmy czy nie trzeba zmienić adresu na nowy.

10. Zmiana istniejących linków

Na koniec, jeśli mamy taką możliwość warto zmienić część linków zewnętrznych np na banerach u Partnerów na nowy adres. Przyśpieszy to migrację i dodatkowo wzmocni wersję https://

Podsumowanie

Przez jakiś czas warto kontrolować postępy migracji. Czasami jakieś zjawisko np brak przekierowań subdomen :) albo blog wewnętrzny pozostawiony na http://, zauważymy po jakimś czasie.

Trzeba wiec trzymać rękę na pulsie.

Migracja to nic strasznego. Po zakupie certyfikatu same zmiany techniczne mogą zając 15 minut. Jednak należy przy tym zachować należyta uwagę.

A jak tam u Was przebiegły migracje?

Plik graficzny pobrany z: https://en.wikipedia.org/wiki/File:Internet2.jpg

1 komentarz, jak na razie :)

  1. Autor Dominik Piestrzyński dodany 1 sierpnia, 2017

    Dzięki za artykuł. Fajne to narzędzie: sslchecker.com bardzo pomogło :)

Twoja odpowiedź