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
Dzięki za artykuł. Fajne to narzędzie: sslchecker.com bardzo pomogło :)