Aktuell gibt es gute Gründe, Websites von HTTP auf HTTPS umzustellen bzw. neue Websites gleich komplett via HTTPS laufen zu lassen. Auf der einen Seite wird dadurch die Übertragungssicherheit wesentlich gesteigert (darauf brauche ich hier nicht näher einzugehen, denke ich), auf der anderen Seite honorieren Suchmaschinen wie Google dies mit einem gesteigerten Ranking.

Überlegungen vor der Umstellung

Bei der Entwicklung einer neuen Site sind keine besonderen Überlegungen anzustellen. Ganz anders bei bereits bestehenden Sites, die – vor allem deren Adressen – schon im Netz verbreitet sind, müssen folgende Kriterien bzw. Maßnahmen unbedingt beachtet bzw. getroffen werden:

1.    SSL-Zertifikat einrichten
2.    Generelle Weiterleitung (301, redirect permanent) von HTTP auf HTTPS-Adressen
3.    Umstellung aller internen Referenzen von HTTP auf HTTPS (Links, Bilder, CSS-Files, …)
4.    XML-Sitemap neu aktualisieren
5.    Prüfung der gesamten Site auf Mixed Content
6.    Google AdWords, Google Analytics, Bing usw. anpassen/umstellen
7.    Gültigkeit des SSL-Zertifikats (darf nicht „ablaufen“)

1. SSL-Zertifikat einrichten

Zuerst muss ein SSL-Zertifikat erworben und eingerichtet werden. Meist bietet hier der Provider das entsprechende Service an oder kann zumindest dabei behilflich sein. Tipp: Manche Provider planen oder bieten bereits sehr günstig das Service Let’s Encrypt (meist sogar mit automatischer Zertifikatsverlängerung) an, das die Umstellung auf HTTPS wesentlich erleichtert.

2. Generelle Weiterleitung auf HTTPS

Bei bestehenden Sites würden nach der Umstellung alle Seiten „Duplicate Content“ verursachen, da für Suchmaschinen „http://domain.com“ und „https://domain.com“ zwei unterschiedliche Seiten mit identem Inhalt darstellen. Daher muss eine Weiterleitung „301 – redirect permanent“ eingerichtet werden. Auf Apache-Servern muss daher in der .htaccess folgende Weiterleitung eingerichtet werden:

  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

3. Umstellung interner Referenzen

Alle Site-Internen Links müssen ebenfalls von HTTP auf HTTPS umgestellt werden, um „Mixed Content“ – d.h. Vermischung von „secure“ und „non-secure“ Inhalten – zu vermeiden. Ist dies der Fall, zeigen Browser in der Adresszeile diesen Mangel an und erzeugen beim Besucher Unsicherheit.

Je nach CMS-System kann der Aufwand für diesen Schritt von sehr gering bis eher aufwändig ausfallen. Im Idealfall kann die notwendige Einstellung zentral vorgenommen werden. Im Extremfall müssen alle Seiten nach noch umzustellenden Non-HTTPS-Adressen durchforstet werden. Manche CMS-Systeme bieten dazu Erweiterungen an, die dabei unterstützen. Bei WordPress beispielsweise ist das Plugin „Better Search Replace“ sehr hilfreich.

4. SITEMAP.XML neu erstellen

Nicht vergessen bei bestehenden Sites: Auch in der SITEMAP.XML stehen noch die alten HTTP-Adressen. Deshalb die SITEMAP.XML abschließend neu erstellen.

5. Prüfung der gesamten Site auf Mixed Content

Nun sollte die gesamte Seite fertig auf HTTPS umgestellt sein. Es ist jetzt zu prüfen, ob wirklich auch kein „Mixed Content“ mehr vorhanden ist. Dies kann nun manuell getestet werden. Dazu alle Seiten durchklicken und prüfen, ob der Browser in der Adresszeile eine Warnung anzeigt. Alternativ gibt es auch einige Online-Testtools, hier eine Empfehlung: www.whynopadlock.com

6. Google AdWords, Google Analytics, Bing

Nicht vergessen, auch alle bei Google, Bing und Co Anpassungen bzgl. HTTPS vorzunehmen. So beispielsweise die neue HTTPS-Variante bei den Webmaster-Tools anmelden.

7. SSL-Zertifikat darf nicht ablaufen

Auch auf das sollte man nach Monaten oder nach einem Jahr nicht vergessen: Läuft das SSL-Zertifikat ab, muss es verlängert werden, sofern keine automatische Verlängerung sichergestellt ist.

Beispiel: HTTPS-Umstellung einer bei ALL-INKL gehosteten WordPress-Site

Abschließend möchte ich noch den sehr aktuellen und praktischen Blog-Beitrag von Marijeta Prah-Moses empfehlen. Sie beschreibt dort sehr genau, wie eine WordPress-Installation, die auf ALL-INKL gehostet wird, via Let’s Encrypt von HTTP auf HTTPS umgestellt wird.

Ist doch cool, oder?
LG,

Albert