Ich habe mich ja recht lange gegen die Umstellung gewehrt bzw. habe immer gedacht: irgendwann einmal werde ich das Thema in Angriff nehmen. Nun haben mich letztendlich zwei “Argumente” dazu bewegt, es endlich zu machen:

  1. die liebe DSGVO: sobald du auf deiner Internetseite Formulare anbietest, über die persönliche Daten übermittelt werden, musst du aus Datenschutzgründen eine SSL Verschlüsselung anbieten
  2. Google Page Ranking: das hatte ich immer schon im Hinterkopf, hat mich aber alleine noch nicht dazu bewogen meine Seite auf HTTPS (SSL) umzustellen.

Mein Webhoster ist hosteurope *. In Sachen SSL Zertifikate leider nicht gerade ein Vorreiter aus meiner Sicht. Er bietet nicht wie andere die komfortable Integraton des kostenlosen Let’s Encrypt SSL Zertifikats an. Nicht komfortabel, da dieses kostenlose Zertifikat nach drei Monaten abläuft und erneuert werden muss. Dies geschieht bei anderen Webhostern automatisch, bei hosteurope muss man dies immer manuell vornehmen.

Dafür kann man bei hosteurope * ein SSL Zertifkat kaufen bzw. bei neueren WebHosting Paketen für ein Jahr inklusive, zumindest Domain SSL. Danach kostet viel zu teuer. Da derzeit hosteurope mir aber diverse andere Vorteile bringt und andere Alternativen preislich in einer anderen Liga spielen, habe ich mich entschlossen bei hosteurope zu bleiben und (leider) den umständlichen Weg zu gehen, das kostenlose Let’s Encrypt SSL Zertifkat manuell zu installieren und alle drei Monate manuell zu updaten.

Diese Vorgehensweise wird in diesem Artikel beschrieben und welche Schritte beim erstmaligen Umstieg beachtet und vollzogen werden müssen.

Wie bei allen Änderungen an deiner Webseite solltest du vorab ein Backup erstellen!

1. SSL – Was ist das?

SSL (Security Socket Layer) ist ein Verschlüsselungsprotokoll, mit dem Daten sicher übertragen werden können.

Let’s Encrypt ist eine kostenlose Alternative von der Internet Security Research Group (ISRG), die es sich mit namhaften Sponsoren zum Auftrag gemacht hat, sicheres Internet für jeden verfügbar zu machen.

2. Let’s Encrypt SSL Zertifikat erstellen

Die Seite zerossl.com bietet eine einfache Oberfläche zum Erstellen eines solchen Let’s Encrypt Zertifikates an.

Im ersten Schritt trägst du die grundlegenden Informationen zu deiner Internetseite ein. Eine E-Mail ist nicht zwingend erforderlich, jedoch praktisch, da man dann automatisch erinnert wird, wenn das Zertifikat ausläuft und es aktualisiert werden muss. Bei Domain einfach meinedomain.de eintragen, es wird gefragt, ob www-prefixed Version ebenfalls mit eingeschlossen werden soll. Falls bereits ein CSR (Certificate Signing Request) vorhanden ist, wird dieser entsprechend eingetragen.
Die ZeroSSL TOS und Let’s Encrypt CA müssen akzeptiert werden und durch Klicken auf Weiter wird eine Domain-csr.txt erstellt. Danach wird der Account Key erstellt. Beide Dateien müssen heruntergeladen werden. Bei nochmaligem Klicken auf Weiter gelangen wir zum zweiten Schritt.

Im zweiten Schritt wird die Domain-Inhaberschaft verifiziert. Dazu werden die zwei Dateien heruntergeladen und in ein neu zu erstellendes Verzeichnis auf dem Server abgespeichert. Im Root-Verzeichnis der Domain wird zuerst ein neues Verzeichnis .well-known angelegt und darin das Unterverzeichnis acme-challenge, so dass die Dateien nachher unter meiner-domain.de/.well-known/acme-challenge/ erreichbar sind.

Mit einem Klick auf Weiter erfolgt die Verifizierung. Falls die Dateien am richtigen Ort auf dem Server abgelegt worden sind, erhältst du eine Bestätigung, dass das Zertifikat erfolgreich verifiziert worden ist.

Im letzten Schritt wird der Schlüssel und das Zertifikat erstellt. Dies werden im nächsten Schritt beim Webhosting Provider eingebunden (bei mir Hosteurope). Die Dateien bitte gut aufbewahren, da sie nach 90 Tagen, wenn das Zertifikat ausläuft, für eine Verlängerung benötigt werden.

3. SSl Zertifikat bei hosteurope einbinden

Produktverwaltung -> Webhosting -> Konfigurieren -> Sicherheit & SSL -> SSl administrieren -> ersetzen (administrieren)

4. WordPress anpassen

Vor den weiteren Änderungen solltest du vorsichtshalber ein komplettes Backup erstellen (mindestens von deiner Datenbank, da wir hier nun Änderungen vornehmen werden.

WordPress Backend (Admin) auf https umstellen

Im ersten Schritt kannst du überprüfen, ob das WordPress Backend (Admin Bereich) mit SSL funktioniert und erreichbar ist. Hierzu trägst du folgende Zeile in die wp-config.php ein:

define('FORCE_SSL_ADMIN', true);

Nun sollte die Login-Seite über https erreichbar sein und in der Browserzeile das heißbegehrte Vorhängeschloss zu sehen sein.

WordPress auf https umstellen

Im zweiten Schritt stellen wir die komplette Seite auf SSL um. Im WordPress Backend unter Einstellungen -> Allgemein findest du die URL deiner Webseite, die du von http auf https änderst. Ggf. musst du dich danach neu im WordPress Backend anmelden.

die Urls in der Datenbank anpassen

Hierzu verwende ich (kurzfristig) das Plugin Better Search Replace, welches ich nur hierfür installiere und aktiviere und danach direkt wieder lösche. Jedes Plugin was nicht gebraucht wird, solltest du direkt wieder entfernen.

Dieser Schritt ist notwendig, um in der Datenbank wirklich alle internen Verweise und Bilder auf https umgestellt werden. Denn nur wenn wirklich die komplette Seite auf https umgestellt ist, wird deine Seite in der Adresszeile des Browers das grüne Schloss bekommen und als sicher eingestuft. Ansonsten kommt es evtl. zu dem unten beschriebenen Mixed Content Fehler.

Das Plugin findest du nach der Installation unter Tools (Werkzeuge) -> Better Search Replace.

Suchen nach: http://deinedomain.de (evtl. zusätzlich http://www.deinedomain.de) 
ersetzen durch: https://deinedomain.de

Hier würde ich dann tatsächlich beide (mit und ohne www) ersetzen lassen durch ohne www.
Danach noch die Tabellen markieren die durchsucht werden sollen und im ersten Schritt kannst du einen “Teslauf” machen. Entfernst du den unteren Haken werden die Änderungen in der Datanbank tatsächlich vorgenommen.

Umleitung von HTTP auf HTTPS einrichten

Damit alle Aufrufe deiner Internetseite auf HTTPS-Verbindungen umgeleitet werden, fügst du folgende Zeilen in deine .htaccess Datei ein. Hierzu per FTP auf deinem Server anmelden und die Datei mit einem Text-Editor öffnen. (Auch hier vorher eine Sicherung der Datei anlegen)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} !^deinedomain\.de$ [NC,OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://deinedomain.de/$1 [R=301,L]
</IfModule> 

Mit dem obigem Code werden alle Aufrufe deiner Internetseite auf https://deinedomain.de umgeleitet.

Mixed Content Fehler beheben

Wenn du nach diesen Änderungen kein grünes Schloss angezeigt bekommst, sondern ein grauen mit dem Hinweis ‘Verbindung ist nicht sicher’, beinhaltet die Seite noch unsicher http Verweise (URLs). Dies können z.B. Bilder in style sheets (CSS) sein, manuell eingebundene Scripte oder lokal eingebunden Fonts sein.

Um die “Übeltäter” zu finden kannst du z.B. den Inspektor von Google Chrome (Strg + Umschalttaste + I) oder Firefox nutzen. Bei beiden sonst auch über das Kontextmenü (rechts Maustaste) erreichbar. Oder aber den Quelltext aufrufen und nach ‘http:’ suchen.

5. SSL verschlüsselung testen

Der einfachste Test: Aufruf deiner Internetseite und das grüne Schloss bestaunen. Wenn es wie oben erwähnt nicht grün, sondern grau ist, den oberen Abschnitt beachten.

Alternativ gibt es auch Internetseiten die einen SSL Check deiner Seite vornehmen.

6. Google Search Console anpassen

Leider kann man bei der Google Search Console nicht direkt von http auf https umstellen, sondern musst erst eine neue Property für https anlegen, eine neue Sitemap erstellen und einreichen. In der neuen Google Search Console gibt es nun eine Domain-Property, die direkt alle Aufrufe (hhtp, https, mit/ohne www) verwaltet. Die alten Properties können gelöscht werden.

Andere Anpassungen sind bei mir nicht notwendig, da ich weder Google Analytics noch Social Media Accounts nutze

Der Beitrag gehört zu einer Artikelserie:

Kein Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert