Immer mehr Webseiten und Blogs wechseln von HTTP auf HTTPS. Kein Wunder, denn das HTTPS-Protokoll ermöglicht eine verschlüsselte und sichere Kommunikation zwischen Webserver und Webbrowser. Die Verschlüsselung erfolgt mittels TLS, was oft noch unter der Vorgängerbezeichnung SSL bekannt ist. Viele Webseitenbetreiber werden sich jetzt sicherlich fragen, warum sie ihre Webseite auf HTTPS umstellen sollten. Auch ich habe mir für die Umstellung sehr lange Zeit gelassen, dies jetzt aber endlich nachgeholt. In Zeiten von Let’s Encrypt ist das meist schnell und einfach erledigt und obendrein noch kostenlos. Darüber hinaus seht ihr nachfolgend noch ein paar weitere Gründe, warum der Umstieg auf HTTPS zukünftig doch sehr sinnvoll sein kann:
- Die Verschlüsslung einer Webseite ist mittlerweile ein Rankingfaktor bei Google.
- Google Chrome soll ab Version 56 (geplant für Januar 2017) vor unverschlüsselten Webseiten warnen. In der Adressleiste soll zukünftig deutlich darauf hingewiesen werden, wenn eine Webseite via HTTP-Verbindung aufgerufen wird.
- Daten von und zu der Webseite werden verschlüsselt übertragen, was vor allem beim Anmelden einen deutlichen Sicherheitsvorteil darstellt.
- HTTPS ist einfach Stand der Technik.
Nachdem das geklärt ist, können wir mit der Umstellung starten.
1. Vorbereitungen, Backup erstellen
Bevor die Umstellung beginnt, solltet ihr unbedingt ein Backup eurer WordPress-Datenbank anfertigen. Später müssen ein paar Änderungen in der Datenbank durchgeführt werden, weshalb eine vorherige Sicherung unabdingbar ist. Es gibt einige WordPress-Plugins, welche die Aufgabe übernehmen. Ich verwende seit einigen Jahren BackWPub und bin nach wie vor hochzufrieden.
Außerdem sollte das Caching deaktiviert und der Cache gelöscht werden, sofern aktiv.
2. Zertifikat kaufen bzw. erstellen und installieren
Als nächstes müsst ihr euch das benötigte SSL-Zertifikat besorgen, auf dem Webserver einbinden und für eure Webseite HTTPS aktivieren. Das Einrichten des SSL-Zertifikats läuft bei jedem Hoster anders ab, weshalb ich nicht näher auf dieses Thema eingehe und nur ein paar Links in die Runde werfe:
Selbstverständlich könnt ihr euch auch an den Support wenden.
3. WordPress-URL anpassen
Im ersten Schritt muss die Adresse zur WordPress-Installation angepasst werden. Dazu meldet ihr euch im Backend an und wählt im Menü “Einstellungen” den Punkt “Allgemein” aus. Beide URLs müssen von “http://” auf “https://” geändert werden (siehe Screenshot):
Nach dem Speichern müsst ihr euch neu anmelden, was dann bereits per HTTPS geschieht (sofern bei Punkt 2 alles richtig gemacht wurde).
Anschließend solltet ihr noch eure “wp-config.php” Datei (befindet sich im Hauptverzeichnis eurer WordPress-Installation) öffnen und nachschauen, ob hier irgendwo eure alte URL eingetragen ist. Wenn sich dort beispielsweise der Eintrag
define( 'WP_CONTENT_URL', 'http://www.antary.de/wp-content' );
befindet, sollte dieser durch die neue URL ersetzt werden. Wenn in der “wp-config.php” nichts zu finden ist könnt ihr mit dem nächsten Schritt fortfahren.
4. Alle URLs in der Datenbank anpassen
In der Datenbank muss jetzt noch die alte URL durch die neue HTTPS-URL ersetzt werden. WordPress speichert nahezu jede URL mit absoluten Pfaden in der DB, was im Umkehrschluss bedeutet, dass die Anpassung an sehr vielen Stellen vorgenommen werden muss und daher nicht händisch erfolgen kann. In vielen Anleitungen wird beschrieben, wie die URL mittels phpMyAdmin angepasst werden kann. Von diesem Vorgehen solltet ihr tunlichst die Finger lassen, denn damit könnt ihr schnell die Einstellungen von Plugins zerstören oder im schlimmsten Fall eure gesamte Seite lahmlegen. Stattdessen solltet ihr zu bewährten Plugins greifen, die mit serialisierten Arrays und Objekten umgehen können.
Sehr empfehlenswert und zuverlässig ist das Plugin Better Search Replace. Alternativ könnt ihr aber auch zu Search & Replace greifen. Hier die einzelnen Schritte für Better Search Replace:
- Plugin installieren und aktivieren.
- Im Menü unter “Werkzeuge” den Punkt “Better Search Replace” aufrufen.
- Dort müsst ihr zuerst die alte HTTP- und anschließend die neue HTTPS-URL eintragen. Jetzt alle Tabellen markieren und die Option “Auch GUIDs ersetzen?” aktivieren. Zudem kann auf Wunsch auch ein Testlauf gemacht werden, was nie verkehrt ist.
- Sofern alles passt, kann der Haken bei “Testlauf?” deaktiviert werden und die Änderungen werden durchgeführt.
- Damit sind alle URLs im Blog von HTTP auf HTTPS umgestellt und das Plugin kann wieder deaktiviert und deinstalliert werden.
5. Alte HTTP-URLs via .htaccess umleiten
Der nächste Schritt kann bei einigen Webhostern direkt in den Einstellungen des Webspaces bzw. des Webservers erledigt werden. Wer die Möglichkeit nicht besitzt, muss auf .htaccess ausweichen.
Eine sogenannte 301-Weiterleitung stellt sicher, dass alle Aufrufe der Webseite auf die neue HTTPS-URL umgeleitet werden. Alle alten HTTP-Links zu eurer Webseite werden damit automatisch auf die neue HTTPS-URL weitergeleitet. Wenn ihr diesen Schritt nicht umsetzt, ist eure Webseite weiterhin auch per HTTP erreichbar, was erstens nicht Sinn dieser Umstellung ist und zweitens zu Komplikationen mit Suchmaschinen führen kann, Stichwort “Duplicate Content”.
Bei einem Apache-Webserver sind für die Umleitung folgende Zeilen in der .htaccess-Datei notwendig.. Wenn möglich sollten diese ganz am Anfang stehen.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
6. Mixed Content beseitigen
Es kann durchaus noch vorkommen, dass nicht alle Inhalte per HTTPS ausgeliefert werden. In diesem Fall erscheint in der Adresszeile links neben eurer Webseite kein grünes Schloss, sondern je nach Browser ein unterschiedlicher Warnhinweis (siehe Screenshot):
HTTPS Mixed Content Warnung (links Firefox, rechts Google Chrome)
Sollte das der Fall sein, muss geprüft werden, welche Inhalte noch per HTTP geladen werden. In Firefox und Google Chrome kann dies sehr schnell und einfach erledigt werden. Einfach die Seite mit dem “Mixed Content” aufrufen, auf der Tastatur F12 drücken und dort den Tab “Console” (Chrome) bzw. “Konsole” (Firefox) auswählen. Dort werden dann alle Inhalte aufgelistet, die noch per HTTP und damit unverschlüsselt eingebunden sind:
Mixed Content in Google Chrome Console
Diese Inhalte werden sehr oft von Widgets, Plugins oder Themes ausgeliefert, was sich jedoch in den meisten Fällen leicht anpassen lässt. Eine weitere häufige Fehlerquelle sind ältere Embeds (z.B. YouTube-Videos), die noch als HTTP-Link eingebunden wurden. Hier müsst ihr von Hand die HTTPS-URL hinterlegen
Ebenso muss die Einbindung von VG-Wort-Zählpixel geändert werden. Standardmäßig sehen die Zählpixel folgendermaßen aus:
<img src="http://vg05.met.vgwort.de/na/52c49b1dfb18f7858" alt="" width="1" height="1" />
Unabhängig von der alten Zählpixel-URL muss bei Verwendung von HTTPS folgende VG-Wort-Domain verwendet werden: “https://ssl-vg03.met.vgwort.de”. Hier ein Beispiel der neuen URL:
<img src="https://ssl-vg03.met.vgwort.de/na/52c49b1dfb18f7858" alt="" width="1" height="1" />
Genauere Infos zu diesem Thema liefern die letzten beiden Links aus meinen Quellen unten.
Wenn alle Inhalte per HTTPS eingebunden sind, wird die Webseite als sicher dargestellt. Das grüne Schloss in der Adresszeile sticht sofort ins Auge:
sichere HTTPS-Webseite (links Firefox, rechts Google Chrome)
7. Weitere Tätigkeiten
Abschließend solltet ihr noch die Suchmaschinen über die Umstellung auf HTTPS informieren. Wenn ihr alles wie oben beschrieben erledigt habt, sollten die Suchmaschinen die Änderung normalerweise selbstständig erkennen. Es kann aber nicht schaden die Änderung selbstständig mitzuteilen. Dies könnt ihr zum einen über die Google Search Console (ehemals Google Webmaster Tools) erledigen und zum anderen über eure “sitemap.xml”. Falls die Sitemap in eurer “robots.txt” referenziert wird, müsst ihr dort ggf. auch noch den Pfad anpassen.
Wenn ihr Google Analytics einsetzt müsst ihr des Weiteren die neue URL hinzufügen. In Google Analytics muss für die HTTPS-Variante eurer Seite eine eigene “Property” angelegt werden. Alternativ könnt ihr auch die URL der bestehenden Property anpassen. Wie das genau funktioniert müsst ihr selber herausfinden, ich wollte das nur erwähnt haben ;-)
Wer bis hier noch nicht genug hat der kann sich noch mit den “HTTP Security Headern” auseinandersetzen. Damit lässt sich die Sicherheit von Webseiten, die ausschließlich über HTTPS erreichbar sind, zusätzlich steigern. Die Webseite securityheaders.io hilft euch bei der Überprüfung dieser Security Header. Ich habe einen schönen Blogartikel zu diesem Thema gefunden, den ich euch nicht vorenthalten möchte: https://scotthelme.co.uk/hardening-your-http-response-headers/
Fazit
Alles in allem war die Umstellung aufwändiger als gedacht. Dennoch solltet ihr bei einer Umstellung alle Punkte beachten und gewissenhaft arbeiten, denn sonst kann die HTTPS-Umstellung schnell nach hinten losgehen. Wer sich die Umstellung zutraut sollte diese meiner Meinung nach auf jeden Fall angehen. Mittel- bis langfristig wird sich dies auf alle Fälle positiv bemerkbar machen.
Gerne könnt ihr mir Anmerkungen oder weitere Tipps in den Kommentaren hinterlassen.
Quellen
Neueste Kommentare