Symbolbild SSL-Verschlüsselung

WordPress auf HTTPS, SSL umstellen

Wer heutzutage eine Webseite oder einen Online-Shop im Internet betreibt sollte sich früh mit dem Thema Sicherheit beschäftigen. Dabei ist die verschlüsselte Übertragung von Daten mittels SSL (HTTPS:) ein wichtiger Faktor mit dem wir uns in diesem Blogbeitrag beschäftigen wollen.

Google bewertet mittlerweile diese Webseiten im Such-Ranking besser und die Internet-Browser kennzeichnen die Webseite für den Kunden als sicher. Warum also die eigene WordPress-Webseite nicht auch auf HTTPS umstellen.

Die folgende Anleitung ist allerdings weniger für den Kunden selbst, der meist die notwendigen Berechtigungen und Zugänge zur Webseite gar nicht hat, als für den erfahrenen Webmaster oder Webdesigner gedacht, der die Webseite betreut.

Leider ist es bei einer WordPress-Webseite in der aktuellen Version noch mit etwas Aufwand und der richtigen Vorgehensweise verbunden die Seite korrekt von http auf https:// umzustellen. Damit das trotzdem gelingt haben wir im folgenden eine Schritt-für-Schritt Anleitung verfasst, die genau das ermöglichen soll bzw. auch als Checkliste dienen kann.

Damit eine Umstellung auf SSL (Secure Sockets Layer) überhaupt möglich ist, benötigt man im Vorfeld ein gültiges Zertifikat welches für die entsprechende Webseite registriert und erworben werden muß. Hier bietet es sich an zuerst das Angebot vom eigenen Internet-Provider zu überprüfen, bietet diese die SSL-Verschlüsselung als Service an, ist das sicher die schnellste und einfachste Lösung an ein Zertifikat zu kommen. Besteht diese Möglichkeit nicht ist der Server-Admin gefragt, denn dann ist es notwendig ein kostenpflichtiges Zertifikat bei einem der zahlreichen Anbieter im Netz zu lösen und dieses dann entsprechend für die Domain zu installieren.

SSL-Zertifikat ist auch nicht gleich SSL-Zertifikat, denn abhängig vom Umfang und natürlich auch den Kosten bietet die Lizenz entweder nur einen Basisschutz, oder auch gleich eine Versicherung bei entstandenem Schaden und die Bestätigung über die Identität der Organisation an. Für eine kleinere Unternehmensseite wird eine Gratis-Variante ausreichend sein, größere Organisationen oder Betreiber von Online-Shops setzen zumeist Profi-Zertifikate ein.

Damit aber möglichst viele Webseitenbetreiber in Zukunft SSL-Verschlüsselung verwenden können, wurde im April 2016 mit Let’s Encrypt eine gemeinnützige Zertifizierungsstelle gestartet, die genau das ermöglichen soll. Mit Unterstützung von Mozilla, der EFF und einigen Unternehmen kann nämlich jeder kostenlos ein TLS-Zertifikat erhalten, um HTTPS einsetzen zu können.

WordPress auf HTTPS umstellen – die richtige Vorgehensweise

Nachdem das SSL-Zertifikat gelöst, am Webserver installiert bzw. aktiviert wurde, kann die Umstellung der Webseite auf HTTPS beginnen. Ein erster Schritt führt uns dazu in das Backend der WordPress-Installation. Im Hauptmenü wechseln wir auf „Einstellungen“ und das Untermenü „Allgemein“. Hier befinden sich die Einträge „WordPress Adresse (URL)“ und „Website-Adresse (URL)“, die meist dieselbe Adresse beinhalten. Unsere erste Aktion ist die Umstellung dieser Adressen von http:// auf https://. Nach Abspeichern der neuen Adresse ist ein neuerliches Anmelden im Backend der Webseite notwendig. Wer an dieser Stelle meint, das wäre es mit der Umstellung, hat in den aller wenigsten Fällen Glück und sieht im Browser bereits das ersehnte meist „grüne Schloss“, welches die sichere Verbindung anzeigen soll.

Leider sind in den meisten WordPress-Installationen nämlich in den Seiten, Beiträgen und auch internen Verweisen immer noch Aufrufe mit dem „alten“ http-Protokoll enthalten. Das ergibt den sog. „Mixed Content“, der von den Internetbrowsern bemängelt wird und somit eine Einstufung als sichere Webseite verhindert.

Um nun Bilder und sonstige Verweise in den Beiträgen anzupassen, gibt es zwei Möglichkeiten. Man nimmt den mühsamen Weg auf sich und durchforstet alle Seiten und Beiträge manuell nach entsprechenden Einträgen und passt sie an, oder man setzt auf ein passendes PlugIn, welches die Änderungen automatisch durchführen kann.

Bein uns hat sich dazu das PlugIn Better Search Replace recht gut bewährt, es ermöglicht in der WordPress-Datenbank das Ersetzen von Zeichenfolgen, also genau das was wir jetzt benötigen. Nach der Installation und Aktivierung findet ihr das Plugin unter „Werkzeuge“ und „Better Search Replace“. Bevor ihr nun irgendwelche Änderungen an der WP-Datenbank vornehmt ist ein Backup der Datenbank unbedingt zu empfehlen. Das Tool ermöglicht auch nun in ausgewählten Tabellen die alte URL gegen die neue zu tauschen. Dazu empfiehlt es sich die komplette URL zu ersetzen, also etwa http://www.beispiel.at durch https://www.beispiel.at. Stellt sich nur die Frage welche Tabellen am besten ausgewählt werden sollen. Bei uns haben sich wp_posts und wp_posts bewährt. In der ersteren sind die Beiträge abgebildet und in der zweiten speichern viele Themes oft auch ihre Inhalte.

Checkliste: WP auf SSL umstellen

  • SSL-Zertifikat für die Domain lösen und installieren
  • Im WP-Backend unter „Einstellungen“ und „Allgemein“ die URL von http: auf https: ändern. Neu anmelden.
  • Pfade für Bilder und Verweise in der WP-Datenbank anpassen. (PlugIn „Better Search Replace“)
  • Verweise und Einstellungen in den Optionen des verwendeten Themes anpassen
  • Mit Onlinetool auf „Mixed Content“ überprüfen
  • Webseitenaufrufe über https erzwingen. Entsprechender Eintrag in der .htaccess-Datei
  • Webseite und Sitemaps mit https:// in der Google Search Console eintragen

Praktischerweise erlaubt das PlugIin zuerst einen Testlauf beim Ersetzen und zeigt an wie viele Ersetzungen stattfinden würden. Anschließend könnt ihr die entsprechende Checkbox wegklicken, den Suchen-und-Ersetzen-Vorgang „scharf“ stellen um die Änderungen endgültig durchzuführen.

Bei den meisten Installationen sollte es jetzt keinen „Mixed Content“ mehr geben. Abhängig vom Theme können allerdings Einstellungen wie z.B. das Setzen des Logos oder das Einbinden von Webfonts noch Probleme machen. Hier empfiehlt es sich alle Einstellungen und Optionen nochmals manuell durchzugehen, oder sich mit Hilfe eines Online-Tools anzeigen zu lassen auf welchen Seiten noch unsichere Verweise enthalten sind.

Wir haben dazu sehr gute Erfahrungen mit dem Service SSL Check von JitBit gemacht. Das Onlinetool sucht eure Webseite auf nicht sichere Verweise, Bilder, Scripts und CSS-Dateien ab und zeigt die entsprechenden Seiten und Quellen an. Bis zu 200 Unterseiten sind pro Webseite möglich und die Ergebnisse werden 10 Minuten gespeichert. Um die genauen Verweise dann zu finden lässt sich auch der Source-Code der Webseite auf http:// absuchen.

HTTPS Aufrufe der Webseite erzwingen

An diese Stelle seid ihr mit der Umstellung eigentlich schon fertig, es empfiehlt sicher allerdings auch noch zusätzlich alle HTTP-Aufrufe auf die HTTPS-Version weiterzuleiten.  Das lässt sich mit ein paar Zeilen Code in der .htacess-Datei, die im Root-Verzeichnis eurer Webseite liegt, erledigen. Die folgenden Zeilen haben bei uns ganz gut funktioniert und werden einfach am Anfang ganz oben in die Datei eingefügt, die von WordPress generiert wurde. Möglicherweise klappt das aber nicht bei allen Hostern, hier ist evtl. etwas Recherchieren und Anpassen notwendig:

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

Jetzt sollte die Umstellung aber komplett sein und das begehrte, meist grüne Schloß in der Adresszeile des Browsers auf der Startseite und auch allen Unterseiten zu sehen sein.

Abschließend sollte die Webseite zusätzlich noch in der Google Search Console (Webmaster Tools) als neue Property eingefügt werden, genauso wie die evtl. vorhandenen Sitemaps. Wer auch für seine Statistiken Google Analytics verwendet sollte die Webseite dort ebenfalls auf https:// umstellen.  Ferner sollte die verschlüsselte Website URL auch in Google MyBusiness aktualisiert werden und natürlich auch bei allen anderen Verweisen wie Firmenverzeichnissen, soziale Netzwerken usw.

Bitte auch nicht darauf vergessen das SSL-Zertifikat je nach Gültigkeitsdauer zu verlängern. Dazu bekommt man aber meist vom Provider oder Zertifikatsaussteller rechtzeitig eine Erinnerung geschickt.