Eine verschlüsselte Verbindung zu nutzen ist mittlerweile zum Standard geworden, dafür gibt es einige gute Gründe. Nicht nur erhöht sich die Sicherheit der Seite, es ergeben sich auch einige weitere Vorteile. Die Umstellung gestaltet sich gar nicht so schwierig, wenn man einige wichtige Punkte dabei beachten. Ich beschreibe in der folgenden Schritt für Schritt Anleitung wie du dabei vorgehen musst.
Gründe für die Umstellung auf https (SSL)
Im wesentlichen ergeben sich folgende Vorteile aus der Umstellung zu SSL:
- Die DSGVO erfordert die Verschlüsselung persönlicher Daten (ein einfaches Kontaktformular auf der Webseite reicht schon aus).
- Verbindungen zur Webseite sind sicher, egal ob es sich um die Login-Daten fürs Backend oder Formulare für den Besucher dreht.
- Verschlüsselung stellt bei Suchmaschinen einen (wenn auch kleinen) Ranking-Faktor dar. Wichtiger: Eine Abstrafung „nicht sicher“ wird dadurch verhindert.
- Auch das Vertrauen beim Besucher wird durch das Schloß in der Adressleiste gestärkt, ein indirekter Rankingfaktor.
- Um einen Performance-Gewinn durch HTTP/2 zu erzielen ist eine Verschlüsselung durch SSL notwendig.
Neben dem Aufwand können bei einem kommerziellen Zertifikat auch Kosten entstehen, die Vorteile überwiegen aber allemal.
Schritt 1: Anlegen eines Backups
Zuerst solltest Du ein WordPress Backup (z.B. wie ich es in diesem Artikel beschrieben habe) erstellen, da evtl. in der Datenbank von WordPress Änderungen vorgenommen werden müssen und im schlimmsten Fall dabei etwas schiefgeht und Deine Seite nicht mehr erreichbar ist.
Schritt 2: Installation des SSL-Zertifikats
Um Verschlüsselung auf einzurichten muss zuerst das SSL-Zertifikat auf dem Server eingerichtet werden. Sehr gängig und für den Anfang vollkommen ausreichend ist das kostenlose „Let’s Encrypt“, dass mittlerweile sehr viele Web-Provider standardmäßig anbieten.
Betriebt man einen Webshop sollte man sich ein kommerzielles Zertifikat leisten, da diese grob vereinfacht mehr Vertrauen genießen bzw. als Multidomain- und Wildcard-Zertifikaten eingesetzt werden können (also nicht über den Domainnamen sondern eine IP-Adresse bzw. auch für Subdomains).
Wie das geht entnimmst Du am besten der FAQ Deines Providers, normalerweise kann man dies im Admin-Bereich selbst anlegen und muss dann noch die entsprechenden Häkchen setzen:

Schritt 3: Auf https (SSL) umstellen
Zunächst sollte der WordPress Admin-Bereich abgesichert werden. Um dies zu erzwingen füge bitte in die Datei wp-config.php (befindet sich im Root-Verzeichnis) folgendes Code-Schnippsel ein:
define('FORCE_SSL_ADMIN', true);
Durch einen Klick auf das Schloß klickst (hier in Chrome), kannst Du die erfolgreiche Verschlüsselung überprüfen:

Als nächstes mußt Du unter Einstellungen > Allgemein für die WordPress-Adresse und Website-Adresse den Teil ‚http‘ in ‚https‘ ändern:

Schritt 4: Aktualisieren der Permalinks
Um alle Permalinks zu aktualisieren speicherst Du unter Einstellungen > Permalinks einfach nochmal erneut ab:

Schritt 5: Falsche URLs in der WordPress Datenbank ersetzen
Wenn Du das WordPress-Projekt nicht komplett neu aufgesetzt hast befinden sich mit großer Sicherheit noch URLs mit ‚http‘ statt ‚https‘ in der Datenbank. Denn das erneute Abspeichern der Permalinks passt leider nicht die URLs in Pages und Posts an (z.B. eingebundene Bilder). Gleiches gilt für URLs in Themes und PlugIns.
Dies führt zu einer „Mixed Content Warnung“, da jetzt zwei verschiedene URL-Typen im Einsatz sind und zu einer unsicheren Einstufung (auch sichtbar in der Adressleiste des Browsers).
Am einfachsten und komfortabelsten lassen sich die fehlerhaften URLs mit dem WordPress PlugIn „Better Search Replace“ korrigieren.
Nach der Installation findest Du es unter Werkzeuge > Better Search Replace.

- Trage in „Suchen nach:“ die URL Deiner Webseite mit ‚http‘ ein
- Trage in „Ersetzen durch:“ die URL Deiner Webseite mit ‚https‘ ein
- Wähle alle Tabellen aus
- Mache zuerst einen Testlauf und überprüfe die Ergebnisse
- Ersetze mit „Suchen/Ersetzen starten“
Schritt 6: Weiterleitung von http nach https in .htaccess erstellen
In Zukunft soll jede Anfrage auf ‚https‘ umgeleitet werden, dazu erstellst Du einen 301 Redirect in der .htaccess-Datei. Diese befindet sich ebenfalls im Root-Verzeichnis Deiner WordPress Installation:
<IfModule mod_headers.c>
#Redirect http auf https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Keine Sorge, Du musst nicht verstehen was in den Codezeilen genau passiert. Ein Modul Deines Apache Servers wird damit angewiesen, alles von ‚http‘ statt ‚https‘ umzuleiten. Wichtig: Füge das Snippet einfach am Anfang der Datei ein.
Falls Dein Projekt auf einem nginx-Server gehostet wird, nutze das folgende Snippet. Dies sollte eher die Ausnahme sein:
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
Schritt 7: Cache von PlugIns leeren
Um eine verlässliche Qualitätskontrolle durchführen zu können müssen abschließend der Cache Deines eingesetzten PlugIns gelöscht werden, z.B.:
Mixed Content Fehler
Falls immer noch kein grünes Schloss sondern beim Klick darauf ein Warnhinweis “Die Verbindung ist nicht sicher” erscheint werden Teile Deiner Webseite immer noch über ‘http’ geladen (Bilder, CSS, Javascript, …).
Die unverschlüsselten Resourcen finden sich häufig:
- Hintergrundbildern, die durch css geladen werden
- Scripte (z.B. Pinterest, Facebook)
- Fontbibliotheken (z.B. FontAwesome oder Google Fonts)
- Badges von Verzeichnisdiensten
Viele dieser Fehler mit dem PlugIn “SSL Insecure Content Fixer” lösen.