Was ist SSL?
SSL steht für Secure Sockets Layer. Es handelt sich um ein Protokoll, welches sicherstellt, dass die Daten zwischen Browser und besuchter Website (https://) verschlüsselt übertragen werden. Eine SSL-verschlüsselte Website erkennt man an dem grünen Schloss neben der URL im Browser. Eigentlich ist SSL nicht mehr der aktuelle Stand der Technik, in Version 3 wurde das Protokoll in TLS (Transport Layer Security) umbenannt. SSLv3.1 entspricht also TLSv1.1.
Warum solltest Du Deine Website von http auf https umstellen?
- Mit https bist du rechtlich auf der sicheren Seite, vor allem wenn Deine Website personenbezogene Daten sammelt, z. B. über ein Kontaktformular oder Online-Shop
- Mit https bist du rechtlich auf der sicheren Seite, vor allem wenn Deine Website personenbezogene Daten sammelt, z. B. über ein Kontaktformular oder Online-Shop
- Mehr Vertrauen bei Lesern und Kunden
- Besseres Google-Ranking durch HTTPS-/SSL-Verschlüsselung
- Die Geschwindigkeit Deiner Website kann verbessert werden, sofern Dein Anbieter http/2 unterstützt
Bevor Du mit den Änderungen auf Deiner Website startest, solltest Du vorher ein WordPress-Backup erstellen.
Schritt 1: SSL-Zertifikat erwerben und einrichten
Damit Deine Website durch SSL abgesichert werden kann, muss zuerst ein SSL-Zertifikat für Deine Domain auf dem Server eingerichtet werden. Hierfür erwirbst Du bei Deinem Hosting Provider das für Dich passende Zertifikat. Je nach Hosting Paket ist ein SSL Zertifikat inklusive oder kostet Jahresgebühr. Einige Provider, wie z. B. webgo bieten sogar eine kostenlose Verschlüsselung mit Let´s Encrypt an. Weitere Anbieter, die Let’s Encrypt unterstützen, findest Du hier: https://community.letsencrypt.org/
SSL Zertifikate im Überblick:
SSL-Zertifikat für eine Domain
Wenn Du das SSL Zertifikat für nur eine Domain benötigst, reicht ein Single Root Zertifikat.
SSL-Zertifikat für mehrere Subdomains
Mit einem Multi-Domain-Zertifikat lassen sich mehrere Domains per SSL schützen.
SSL-Zertifikat für eine Domain
Wenn Du das SSL Zertifikat für nur eine Domain benötigst, reicht ein Single Root Zertifikat.
Let's Encrypt bei webgo einrichten - so geht's:
Logge Dich in Deinem „webgo Webspace-Admin“-Bereich ein und wähle im linken Menü Paket-Verwaltung > SSL aus. Klicke nun auf den grünen Button „SSL anlegen“ und wähle die Domain aus, die Du umstellen möchtest. Beim SSL Modus wählst Du „Let’s Encrypt generieren“ aus. Die Bit-Länge sollte 4096 Bit betragen. Die automatisch eingefügten Häkchen kannst Du so belassen wie sie sind, die E-Mail-Adresse kann bei Bedarf geändert werden. Über den grünen Button „Anlegen“ generierst Du Dein Zertifikat. Es dauert nun einen Moment, bis das Zertifikat erstellt wird. Die Zertifikate sind übrigens immer 90 Tage gültig und verlängern sich 5 Tage vor Ablauf des Zertifikates.
Schritt 2: HTTPS Umstellung in WordPress
Nachdem Du Dein SSL-Zertifikat generiert und aktiviert hast, stellst Du Deinen WordPress -Adminbereich auf HTTPS um. Füge folgende Codezeile in die wp-config.php Datei ein:
define('FORCE_SSL_ADMIN', true);
Anschließend sollte der Login-Bereich verschlüsselt sein.
Schritt 3: Website Adresse ändern
Unter Einstellungen > Allgemein änderst Du nun die URL Deiner WordPress- sowie Website-Adresse, indem Du das HTTP in Deinen URLs durch HTTPS ersetzt.
Nach dem Speichern wirst Du dazu aufgefordert, Dich erneut im WordPress-Backend einzuloggen!
Schritt 4: Permalinks aktualisieren
Um beim Abruf Deiner Beiträge keine 404-Fehler zu erhalten, solltest Du Deine Permalinks (Einstellungen > Permalinks) aktualisieren.
Schritt 5: Alte URLs in der Datenbank ersetzen
Damit im Browser keine Mixed Content Warnung ausgegeben wird (das kleine Sicherheitsschloss neben Deiner URL), müssen noch alle internen Bilder, Links und Mediendateien auf HTTPS umgestellt werden. Es wäre allerdings viel zu aufwendig, jeden einzelnen Link manuell zu ändern. Das Plug-In „Better Search Replace“ leistet hier gute Dienste.
Wenn Du mit dem Page Builder Elementor arbeitest, kannst Du die Umstellung hier vornehmen: Elementor > Werkzeuge > URL ersetzen
URLs mit Better Search Replace in https ändern:
Unter Werkzeuge > Better Search Replace kannst Du Deine alte HTTP-URL (1) durch die neue HTTPS-URL (2) ersetzen. Markiere alle Tabellen-Einträge (3) mit STRG + A (Windows) und starte einen Testlauf, indem Du das Häkchen (4) setzt. Ist alles in Ordnung, kannst Du das Häkchen (4) entfernen und mit dem Ersetzen Deiner URLs starten (5).
Trotz der Änderungen kann es immer noch zu Mixed Content kommen. Deshalb solltest Du noch einmal prüfen, ob alle Ressourcen und Verlinkungen auf eine sichere Verbindung umgestellt wurden:
- Bild-Dateien
- PDF-Dateien
- Interne Verlinkungen
- Canonical Links
- Extern geladene Scripte (z. B. Widgets, Facebook Like Box)
- Tracking-Tools (z. B. Google Analytics)
- robots.txt
Wenn alles korrekt funktioniert, wird überall oben in der Adressleiste das (grüne) Schloss angezeigt. Gibt es Warnhinweise, dann liegt es höchstwahrscheinlich daran, dass einzelne Elemente noch immer über http eingebunden sind. Plug-Ins wie z. B. Layer Slider und Slider Revolution führen in der Regel zu Fehlern. Stelle sicher, dass auch dort die Multimedia Elemente sicher eingebunden sind.
Ein Blick in den Seitenquelltext oder in die Entwicklertools (STRG + SHIFT + I) von Chrome oder Firefox kann bei der Suche nach ungesicherten Links helfen. Im Reiter Console werden Dir alle Fehler angezeigt. Die Website JitBit ist ebenfalls hilfreich um Fehlerquellen aufzuspüren. Das Tool crawlt die komplette Website und sucht nach unsicheren Inhalten.
Schritt 6: Weiterleitung von HTTP auf HTTPS via .htaccess
Deine Seite ist nun sowohl unter HTTP als auch unter HTTPS erreichbar, was zu Duplicate Content führt. Sie sollte jedoch ausschließlich nur noch unter HTTPS erreichbar sein, was über ein 301 Redirect erreicht wird.
Apache Server
Über Deinen FTP-Zugang lädst Du Dir die .htaccess-Datei auf Deinen PC. Diese findest Du im Hauptverzeichnis Deiner WordPress-Installation. Füge folgenden Code an oberster Stelle ein und lade die Datei wieder auf Deinen Server:
#Umleitung http zu https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Alternativ kannst Du noch den HST-Header aktivieren, diese Funktion legt fest, dass die Website ausschließlich per HTTPS erreichbar ist.
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains;
preload" env=HTTPS
Schritt 7: Cache leeren
Abschließend sollte der Cache Deines Caching-Plugins (z. B. W3 Total Cache, WP Rocket, WP-Optimize, Autooptimize) geleert werden, damit all Deine Änderungen auf der Live-Website übernommen werden.
URLs bei Drittanbietern
Vergiss nicht, die URL bei Drittanbietern zu ändern. Hierzu gehören beispielsweise Google Analytics, Google Search Console, Google Ads, Facebook, Twitter, Pinterest, Instagram, Google MyBusiness, YouTube, Affiliate-Programme etc.