Ich habe mich in den letzten Tagen damit beschäftigt wie man eine WordPress Installation komplett auf HTTPS umstellen kann und bin dabei auf diverse Artikel gestoßen.

In diesem Artikel berichte ich wie ich die Umstellung umgesetzt habe.

Folgende Informationen habe ich als Grundlage genutzt:
WordPress auf https umstellen (SSL-Verschlüsselung) (Webongo)
WordPress HTTPS mit SSL-Zertifikat einrichten (Pressengers, Hans Jung)
WordPress auf 100% HTTPS-only umstellen, HTTP vollständig deaktivieren (Schroeffu)

Zertifikat generieren

Um auf HTTPS umzustellen benötigt man natürlich erstmal ein SSL Zertifikat. Es gibt hier viele verschiedene Möglichkeiten wo man sich diese Zertifikate kostenlos erstellen kann. Glücklicherweise bietet der Dienstleister bei dem ich diesen Blog betreibe One.com die Möglichkeit an per Mausklick auf HTTPS umzustellen. Diese Möglichkeit habe ich natürlich genutzt und musste danach nur noch warten bis alles fertig eingerichtet war. Sobald ich den Blog per https://www.h4-it.de aufrufen konnte war die Einrichtung abgeschlossen. Es folgt eine Kurzanleitung wie man HTTPS bei One.com aktiviert.
Im Controlpanel von one.com gibt es relativ weit unten den Punkt „SSL“:

Wenn ihr darauf geklickt habt könnt ihr SSL aktivieren:

Sobald ihr auf speichern geklickt habt ist die Aktivierung in Arbeit. Das kann nun ein wenig dauern. Einfach immer mal wieder probieren ob WordPress per https:// erreichbar ist.

Backup machen!

Bevor ihr irgendetwas umstellt solltet ihr ein Backup von WordPress und eurer Datenbank machen.

WordPress auf HTTPS umstellen

Im Controlpanel von WordPress navigiert man zu Einstellungen -> Allgemein. Dort findet man die URL des Blogs. Diese ändert man nun von http:// auf https://

Sobald man nun auf Änderungen übernehmen klickt, muss man sich vermutlich neu am Controlpanel anmelden.

Datenbankeinträge auf HTTPS ändern

Da auch in der Datenbank einige Einträge HTTP enthalten können müssen auch diese geändert werden. Die einfachste Möglichkeit ist das Tool „Better Search Replace„. Sobald ihr dieses installiert und aktiviert habt ist es verfügbar unter Werkzeuge –> Better Search Replace im Controlpanel. Dort kann man nun die Datenbank nach Dingen suchen und ersetzen. In diesem Fall möchten wir die http:// Adressen durch https:// ersetzen (alle Tabellen markieren, zuerst Testlauf):

Alternativ kann man natürlich auch einfach auf SQL-Ebene die Daten ändern:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.h4-it.de', 'https://www.h4-it.de') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.h4-it.de','https://www.h4-it.de');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.h4-it.de', 'https://www.h4-it.de');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.h4-it.de','https://www.h4-it.de'); 

Plugin SSL Insecure Content Fixer installieren

Je nachdem welches Theme man im Einsatz hat kann es sein, dass im Theme selbst explizit HTTP verwendet wird. Um auch diese „Lücke“ zu schließen bietet sich das Plugin „SSL Insecure Content Fixer“ an. Nach der Installation und Aktivierung kann man unter Einstellungen –> SSL Insecure Content Fixer zwischen drei Einstellungen wählen. In meinem Fall langt die Einstellung Simple.

Änderung in W3 Total Cache

Wer wie ich das Plugin  „W3 Total Cache“ einsetzt sollte auch hier die Einstellung für HTTPS setzen. Unter Performance –> Page Cache gibt es die Möglichkeit die folgende Option zu aktivieren:

Dauerhafte Weiterleitung von HTTP auf HTTPS

Da nun der Blog auf HTTPS umgestellt ist sollen natürlich alle Anfragen die noch per HTTP kommen auf HTTPS weitergeleitet werden damit kein HTTP mehr genutzt wird. Dazu fügen wir in der .htaccess zwischen „<IfModule mod_rewrite.c>“ und „</IfModule>“ und nach „#END WORDPRESS“ diese Zeilen ein:

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

Wer das nicht per FTP machen möchte und zufällig auch das „Yoast SEO Plugin“ installiert hat, kann die Bearbeitung auch über das Controlpanel vornehmen: SEO –> Werkzeuge –> Datei Editor.

Webmaster Tools

Wer Webmaster Tools wie Google Console, etc. einsetzt sollte daran denken die HTTPS URL mit aufzunehmen.

Einstellungen überprüfen

Prinzipiell sollte nun alles auf HTTPS umgestellt sein. Um die Einstellungen zu überprüfen kann man nun diverse Tools wie „Why no padlock?„, „JitBit.com“ oder „Gmetrix.com“ nutzen.

Zertifikat erneuern

Sollte ihr euch selbst ein Zertifikat erstell und eingebunden haben müsst ihr natürlich daran denken dieses vor Ablauf zu erneuern!