Masz witrynę opartą na systemie WordPress i zauważyłeś, że Google indeksuje strony z prefiksem HTTPS, chociaż nie masz certyfikatu SSL? Chcesz pozbyć się problemu? Oto rozwiązanie:
W 2015 roku Google zapowiedziało, że w domenach będzie preferować bezpieczny protokół HTTPS zamiast HTTP. Dlatego coraz częściej w wynikach wyszukiwania pojawiają się strony, których adresy rozpoczynają się od https://. Nie zawsze jest to jednak pożądane.
Czy indeksowanie HTTPS jest szkodliwe?
Jeśli nie masz certyfikatu SSL, indeksowanie plików z twojej witryny przez protokół HTTPS zamiast HTTP jest bardzo szkodliwe. Google będzie bowiem prezentowało internautom linki rozpoczynające się od https://, a po ich kliknięciu internauta będzie ostrzegany, że strona jest niebezpieczna, podejrzana i lepiej na nią nie wchodzić.
W skrócie
Jeśli nie kupiłeś / kupiłaś certyfikatu SSL dla domeny, indeksowanie przez Google twojej strony WWW z użyciem protokołu HTTPS, może być dla ciebie szkodliwe. Google będzie bowiem ostrzegało internautów, że chcą wejść na stronę, której certyfikat SSL jest niewłaściwy. Skutecznym rozwiązaniem jest modyfikacja pliku .htaccess .
Dlaczego? To mechanizm zabezpieczania przed szkodliwymi, złośliwymi witrynami.
Oczywiście twoja witryna nie jest złośliwa, a mimo to takie przerażające ostrzeżenie odstraszy 99,9 procent internautów.
Jak sobie poradzić z indeksowaniem HTTPS?
W wypadku witryny mojafirma.tv najskuteczniejszym rozwiązaniem okazało się zmodyfikowanie pliku .htaccess . Zamieściłem w nim następujące linijki:
SetEnv PHP_VER 5_3
SetEnv REGISTER_GLOBALS 0
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://mojafirma.tv/$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Problem z indeksowaniem HTTPS rozwiązują fragmenty oznaczone kursywą, pozostałe dotyczą konfiguracji serwera i WordPressa.
Co oznaczają te fragmenty? Otóż mechanizm indeksujący Google przychodzący na bezpieczny port 443 lub z użyciem protokołu HTTPS trafia pod identyczny adres, jaki go interesował, ale serwowany z użyciem niezabezpieczonego protokołu HTTP.
Na przykład jeśli robot indeksujący Google przyszedł pod adres:
https://mojafirma.tv/tematy/zdrowie
zostanie przekierowany na:
http://mojafirma.tv/tematy/zdrowie
Ważne. Po zastosowaniu powyższego rozwiązania linki w wynikach Google powinny zacząć działać poprawnie (https -> http) nie później niż po kwadransie. Zwykle zależy to od konfiguracji serwera WWW.
Należy jednak pamiętać, że linki rozpoczynające się od https z wyników wyszukiwania Google nie zniknie od razu. Proces będzie stopniowy i może potrwać nawet kilka miesięcy.
Skąd się bierze indeksowanie HTTPS w WordPressie, skoro nie masz SSL?
Google może indeksować pliki w twojej witrynie z użyciem protokołu HTTPS, ponieważ:
- reklamujesz swoje wpisy na Twitterze albo Facebooku, gdzie mechanizm skracający linki używa protokołu HTTPS zamiast HTTP,
- masz w WordPressie wtyczkę, która publikuje dane z użyciem HTTPS i HTTP, nawet sama o tym nie wiedząc,
- w WordPressie nie wyłączyłeś mechanizmu publikacji przez HTTPS,
- twój serwer WWW źle serwuje pliki: udostępnia je przez HTTPS, chociaż nie wykupiłeś certyfikatu SSL.
Oto dwaj możliwi sprawcy zamieszania. Google po przełączeniu się na HTTPS nie wrócił już do HTTP:
Indeksowanie HTTPS w WordPressie – tych metod nie polecam
Jeśli walczysz z indeksowaniem HTTPS zamiast HTTP w domenie, a zarabiasz na publikowaniu treści, nie polecam następujących metod na rozwiązanie problemu:
- zakupu certyfikatu SSL. To zbędny koszt, który się nie zamortyzuje, jeśli nie planujesz wprowadzać w witrynie np. bezpiecznych płaności.
- innych modyfikacji pliku .htaccess niż przedstawiona w artrykule. Przetestowałem różne modyfikacje .htaccess. Powyższa modyfikacja jest najskuteczniejsza i najbardziej uniwersalna.
- zabraniania robotom indeksowania HTTPS. To rozwiązanie na pierwszy rzut oka wygląda sensownie, ale wbrew pozorom nie jest dobre. Roboty odpowiedzialne za protokoły HTTPS i HTTP to osobne mechanizmy. Lepiej, żeby wędrowały sobie swobodnie po stronie, nawet jeśli będą przekierowywane. Może się bowiem okazać, że za dwa lata kupisz certyfikat SSL i zechcesz korzystać z HTTPS, a tymczasem robot indeksujący odpowiedzialny za HTTPS niezbyt chętnie będzie chciał cię odwiedzać. Pamiętaj, od końca 2015 roku Google oficjalnie preferuje indeksowanie HTTPS zamiast HTTP.