tas2580
Blog über Webentwicklung

Webseite richtig auf HTTPS umstellen

tas2580  

Dank Let's Encrypt gibt es jetzt SSL für jeden, auch immer mehr Hosting Provider bieten mittlerweile SSL Zertifikate für die bei ihnen gehosteten Domains an. Die Umstellung auf HTTPS ist also kein Problem mehr. Allerdings muss man bei der Umstellung auf HTTPS einiges beachten um nicht das Ranking bei Google zu verlieren. Ich habe in letzter Zeit einige Seiten erfolgreich umgestellt und will jetzt hier kurz den Weg beschreiben mit dem ich immer sehr gut gefahren bin.


1. Zertifikat installieren

Als erstes muss man auf dem Webserver das SSL Zertifikat installieren. Nach erfolgreicher Installation sollte man die Webseite mit HTTPS aufrufen können ohne das es im Browser eine Fehlermeldung gibt. Wie genau man ein SSL Zertifikat in den Webserver einbindet hängt vom Webserver und dem Zertifikat ab, dazu gibt es hier im Blog oder auf anderen Seiten genügend Anleitungen.

2. Weiche Umstellung

Wenn man seine Seite von http:// auf https:// umstellt ändern sich alle URLs, die Seite muss also von Google komplett neu indiziert werden. Man sollte deshalb auf keinen Fall direkt HTTPS erzwingen sondern Google etwas Zeit geben die neuen URLs zu crawlen. Die Seite muss also in der ersten Zeit mit und ohne HTTPS erreichbar sein. Dazu ist nach meiner Erfahrung der beste Weg wenn man erst mal nur die Kanonische URL auf HTTPS setzt. Dazu fügt man in den HEAD der Seite einfach <link rel="canonical" href="https://example.com"> ein. Wichtig ist das man darauf achtet das auch immer die richtige Unterseite in der Kanonischen URL steht, Die Unterseite seite.html braucht also den Eintrag <link rel="canonical" href="https://example.com/seite.html">.

Zusätzlich kann man den Browser schon mal dazu zwingen HTTPS zu nutzen, dazu muss man den Strict-Transport-Security Header setzen. Per PHP geht das mit:

header ('Strict-Transport-Security: max-age=31536000');

Dabei gibt es allerdings zu beachten das für die unter max-age angegebene Zeit der Browser nur noch Zugriffe über HTTPS zulässt, man sollte den Header also nur senden wenn man sich sicher ist das man wirklich endgültig umstellen möchte.

Nun sollte man in den Google Webmastertools die Seite auch mit HTTPS eintragen, außerdem muss man darauf achten das alle Sitemaps die URLs mit HTTPS ausgeben. Wenn man intern absolut verlinkt sollten jetzt auch die internen Links geändert werden. Falls man die Möglichkait hat auch eingehende Links zu ändern sollte man das auch tun.

3. Auf Google warten

Jetzt heißt es warten bis Google die Seite möglichst komplett neu gecrawlt hat, dazu prüft man einfach immer mal wieder mit site:example.com bei Google ob dort die Seiten schon mit HTTPS gelistet werden. Je nach dem wie oft Google die Seite crawlt kann das etwas länger dauern, hier muss man einfach etwas Geduld haben und sollte nicht zu schnell handeln, lieber etwas zu spät als zu früh.

4. Harte Umstellung

Erst wenn alle Seiten, oder zumindest der größte Teil mit HTTPS in Google gelistet werden kann man HTTPS erzwingen. Dazu gibt es mehrere Möglichkeiten:

PHP
if(!isset($_SERVER['HTTPS']))
{
    
header ('HTTP/1.1 301 Moved Permanently');
    
header ('Location: https://' $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
}
Lighttpd
$HTTP["scheme"] == "http" {
    $HTTP["host"] =~ ".*" {
        url.redirect = (".*" => "https://%0$0")
    }
}
Apache
RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

So werden jetzt alle Aufrufe die über http:// kommen per 301 Moved Permanently auf https:// umgeleitet.

Wenn man HTTPS schon erzwingt bevor Google die Seite neu indiziert hat kann es passieren das man seine Rankings verliert. Mit dem hier beschriebenen Weg konnte ich jetzt schon mehrere Seiten umstellen ohne das sich im Google Ranking was geändert hat, nach und nach wurden die alten URLs einfach durch die neuen ersetzt. Dank der Kanonischen URL gibt es hier auch ohne 301 Weiterleitung kein Problem mit doppeltem Content.


Ähnliche Beiträge


Kommentare

Schöner Beitrag.

Wo würdest du bei deiner Vorgehensweise die Themen bzw. Anpassungen von sitemap.xml und möglichen Änderungen in den Google Webmaster Tools bzw. Search Console eingliedern?

wie sieht es mit internen links aus? wann stellt man die um?

Beides bei Punkt 2, also wenn das Zertifikat läuft aber bevor man per 301 HTTPS erzwingt.

"Zusätzlich kann man den Browser schon mal dazu zwingen HTTPS zu nutzen, dazu muss man den Strict-Transport-Security Header setzen."

ist das verpflichtend oder geht es auch ohne?

Geht auch ohne.


Bitte warten ...

Kommentar schreiben

URLs werden automatisch umgewandelt.
[b]DEIN TEXT[/b] für Fett gedruckt
[quote]DEIN ZITAT[/quote] für Zitate
[code]DEIN CODE[/code] für Code
captcha