Zmiana adresu z HTTP na HTTPS

Po opublikowaniu wpisu dotyczącego wad i zalet certyfikatów SSL dostałem od wielu z was e-maile z pytaniem jak poprawnie, a przede wszystkim bezpiecznie z punktu widzenia pozycjonowania serwisu, dosłownie przenieść cały serwis na protokół HTTPS. Cieszę się, że wpis ten was zainspirował do migracji na SSL, i że zwracacie się z tym pytaniem do mnie.

Cieszę się także, że mogę Wam pomóc, co więcej, pokażę statystyki z „narzędzi dla webmasterów” jednej z większych stron, na których wykonywałem tego typu manewr. Można zauważyć, jak przejście na HTTPS wpłynęło na wyniki wyszukiwania w Google.

Na początku…

Najpierw musimy zająć się samym uruchomieniem usługi SSL. Tutaj procedura będzie się różniła w zależności od dostawcy, z usług którego korzystamy. Poszczególne kroki będą jednak wyglądały w miarę podobnie. W czasie kiedy klient postanowił przejść na HTTPS za pomocą SSL klasy DV (ang. Domain Validation), dostawca hostingu, szczęśliwie dla jego kieszeni, oferował promocję, która polegała na obniżeniu kosztu pierwszego roku świadczenia SSL do kilkunastu złotych – grzech nie skorzystać – doradziłem. Polecam szukać tego typu promocji są one aktualnie bardzo popularne. Oczywiście sprawdźcie, ile kosztuje jego odnowienie w następnych latach.

Jak można wywnioskować z przytoczonej historii, SSL nie był oferowany w standardzie. Aby go uruchomić wystarczy zwyczajnie opłacić usługę dopiero po tym kroku możemy zabierać się za całą resztę. Uruchomienie SSLa w ramach domeny polega na prostej weryfikacji, która od naszej strony wymagała jedynie założenia skrzynki e-mail (jeżeli jeszcze nie istnieje) z adresem admin@domena.pl. Na tę skrzynkę zostanie wysłana wiadomość z linkiem umożliwiającym uruchomienie certyfikatu SSL. Po instalacji w panelu klienta, w której w w przypadku wystąpienie problemów,  powinno pomóc nam wsparcie techniczne, certyfikat powinien już działać. Próbujemy wejść na naszą stronę, jednak tym razem z dumnym i zielonym przedrostkiem https:// przed jej adresem.

Przekierowania czas zacząć

Wszystko fajnie, tylko teraz musimy przekierować cały ruch na protokół https. Nie powinien nikogo zdziwić fakt, że do zrealizowania tego celu skorzystamy z pliku .htacces i funkcji rewrite. Ponieważ jakieś tam SEO dla witryny zostało wcześniej poczynione, .htaccess przepisywał adresy jak to niektórzy specjaliści mówią z „bez www” na „www”. Wyglądało to następująco:

RewriteEngine On

RewriteBase /
RewriteCond %{HTTP_HOST} !^www.nazwa-domeny.pl [NC]
RewriteRule ^(.*)$ //www.nazwa-domeny.pl%{REQUEST_URI} [R=301,L]

Tak zupełnie przy okazji, przepisywanie w ten sposób adresów – czyli na subdomenę www lub na samą domenę – to kluczowy ruch w optymalizacji SEO. Wiadomo, że w tym momencie nam to nie wystarczy, ponieważ chodzi nam o przekierowywanie następujące:

  • //domena na https://www.domena
  • //www.domena na https://www.domena
  • https://domena na https://www.domena
  • https://www – zostawiamy w spokoju

Jak sobie z tym poradzić? Dodajmy następujące linie:

RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*)$ https://www.nazwa-domeny.pl/$1 [R=301,L]

Jeżeli działa, a na pewno tak jest jeżeli potrafimy używać techniki kopiuj-wklej i podmienić ciąg „nazwa-domeny” na ten właściwy bez dodatkowych modyfikacji, przechodzimy do następnych kroków.

Przekierowanie HTTP na HTTPS niczym szef

Aby to całe przejście na tryb SSL było naprawdę udane należy jeszcze sprawdzić czy nie pominęliśmy przypadkiem wymienionych niżej czynności. Są one niezbędne do tego aby zminimalizować ilość przepisywań adresów po stronie serwera i nie powodować jakichkolwiek problemów z indeksacją:

Linki do zewnętrznych wtyczek muszą także być poprzedzone protokołem https. Moja rada – linkujmy za pomocą wyrażenia //adres, czyli przykładowo <a href=”//inna-domena”>

Linkowanie wewnętrzne, jeżeli odbywa się za pomocą adresów bezpośrednich także musi zostać uaktualnione do postaci https://nazwa-domeny.pl/… lub //nazwa-domeny.pl/…

Mapa strony (sitemap) też powinna być jak najszybciej uaktualniona do nowej postaci adresów.

Narzędzia dla webmasterów – tutaj łączymy konto z naszą stroną tak jakbyśmy zakładali całkiem osobny serwis, czyli weryfikacja, przesłanie mapy i cierpliwe czekanie na wprowadzenie zmian w indeksie. Uwaga, nie usuwamy starego indeksu.

Robots.txt – aktualizacja, jeżeli oczywiście zawiera jakieś instrukcje dla crawlerów.

Aktualizacja innych przekierowań 301 – jeżeli na waszej stronie są dokonywane przekierowania inne niż opisane wyżej unikajmy łańcuchu przekierowań.

Aktualizacja linków przychodzących to chyba najtrudniejsza i najbardziej czasochłonna rzecz. Wszelkie adresy w profilach społecznościowych, przeróżnych katalogach i wszędzie tam gdzie mamy taką możliwość, powinny zostać zaktualizowane do nowej postaci z przedrostkiem https://. Bez obaw, linki z http też będą miały znaczenie. używamy przecież przekierowania 301.

Uwaga: pod żadnym pozorem nie używajmy do naszego celu „narzędzia zmiany adresu”. Tak samo jak nie powinno się używać go do zmiany nazwy subdomeny ani ścieżki.

Poprawna konfiguracja nagłówków – należy np. za pomocą .htaccess lub bezpośrednio w ustawieniach serwera Apache ustawić tryb HTTP Strict Transport Security

Sprawdź czy wszystko zostało wykonane jak należy za pomocą takiego lub podobnego narzędzia online: SSL Server Test

Efekt końcowy

Potem pozostaje nam monitorować ruch. Jak wyglądała zmiana z punktu widzenia wyników wyszukiwania?

 

http

Wykres wyszukiwanych haseł witryny z HTTP. Zaznaczono moment rozpoczęcia przekierowywania 301 na adres z https.

 

https

Wykres wyszukiwanych haseł witryny z HTTPS. Zaznaczono moment rozpoczęcia przekierowywania 301 na adres z https.

 

Jak widać, bez problemu poradziliśmy sobie z przekierowaniem całego ruchu na protokół HTTPS i zadbaniem o poprawną indeksację witryny z nowym adresem. Jak widzisz aktualizacja indeksu wyszukiwarki z nowym adresem zajęła parę dni. Co więcej, widać zwiększoną ilość wyświetleń w wynikach co może być częściowo powiązane z małym „wsparciem” algorytmu wyszukiwarki wobec idei rozpowszechniania szyfrowania SSL.

Podsumowanie

W ostatnim czasie można zaobserwować przechodzenie niektórych witryn na pełne SSL. Czy opłaca się taki ruch? W moim odczuciu: tak. Po instalacji certyfikatu zauważyliśmy z klientem wyraźny wzrost ilości wyświetleń strony w wynikach wyszukiwania, co miało także pozytywny efekt w postaci zwiększonej ilości konwersji. Pokazałem jak poprawnie wykonać przekierowanie oraz jakie dodatkowe czynności należy wykonać, aby całe przedsięwzięcie było bardziej efektywne.

Zmiana adresu z HTTP na HTTPS
4.71 (94.29%) głosów: 35