WordPress auf HTTPS umstellen

So stellst du WordPress in 6 einfachen Schritten auf HTTPS um

WordPress auf HTTPS umzustellen, macht deine Website nicht nur für Besucher sicherer und erweckt mehr Vertrauen, sondern bietet auch Ranking-Vorteile bei Google.

SSL-Verschlüsselung ist schon seit August 2014 ein Ranking-Faktor bei Google und ist seitdem immer wichtiger geworden!

Zudem haben große Browser wie Google Chrome und Firefox angefangen, Websites ohne Verschlüsselung als „nicht sicher“ zu brandmarken. Vor allem, wenn diese Formulare enthalten, welche man persönliche Daten an die Website übermittelt werden.

Hier ein Beispiel für einen Warnhinweis bei Google Chrome:

Und hier bei Firefox:

Kurzum: Es wird höchste Zeit umzustellen!

Die folgende Anleitung soll dir dabei helfen, die Umstellung deiner WordPress-Installation so reibungslos wie möglich über die Bühne zu bringen.

1. SSL-Zertifikat auf dem Server installieren

Damit deine Website durch SSL abgesichert werden kann, muss zunächst ein SSL-Zertifikat spezifisch für deine Domain auf deinem Server installiert sein.

Bei Hosting-Anbietern, die das kostenlose Let's Encrypt unterstützen, wie z. B. webgo oder all-inkl.com (allerdings erst ab dem Paket PrivatPlus), kannst du das in der Regel selbst im Kundenbereich einstellen.

Sollte dein Hosting-Anbieter kein Let's Encrypt unterstützen, musst du den Support kontaktieren, damit dieser ein kostenpflichtiges SSL-Zertifikat für dich einrichtet. Ein einfaches Domain-Validated-Zertifikat, wie z. B. RapidSSL, das für die meisten Blogs vollkommen ausreicht, kostet zwischen 15 und 40 € pro Jahr.

Bei einem vServer oder Dedicated Server kannst (oder musst) du unter Umständen das SSL-Zertifikat selbst installieren. Das ist ein bisschen mehr Aufwand, aber dafür kannst du auch ein paar Euro im Jahr sparen. Da es viele verschiedene Webserver-Systeme gibt, würde eine Anleitung dafür jedoch den Rahmen dieser Anleitung sprengen.

Wenn du einen neuen Blog erstellst, empfehle ich dir gleich mit HTTPS zu starten. Dazu rufst im Einrichtungsprozess einfach deine Blog-URL mit HTTPS auf, also https://www.deinblog.de anstatt http://www.deinblog.de. Dadurch wird automatisch https://www.deinblog.de als WordPress- und Website-Adresse eingestellt.

2. WordPress- und Website-Adresse anpassen

Ist das SSL-Zertifikat auf dem Server installiert, ist der nächste Schritt, deine URLs in WordPress anzupassen. Dazu loggst du dich bei WordPress ein, gehst zu Einstellungen > Allgemein und ersetzt sowohl im Feld WordPress-Adresse (URL) als auch im Feld Website-Adresse (URL), das http in deinen URLs durch https.

Nach dem Speichern der neuen URLs musst du dich neu in das WordPress-Backend einloggen. Das liegt daran, dass es unter der neuen WordPress-Adresse noch keine aktive Session vorliegt.

3. Permalinks aktualisieren

Nach dem Ändern der WordPress- und Website-Adresse musst du einmal deine Permalinks (unter Einstellungen > Permalinks) erneut abspeichern, damit diese mit deiner neuen URL aktualisiert werden. Machst du das nicht, werden beim Abruf eines Beitrags oder einer Seite 404-Fehler anzeigt.

4. Alte URLs in der WordPress-Datenbank ersetzen

Das Aktualisieren der Permalinks hat schon einmal dafür gesorgt, dass deine Seite wieder abrufbar ist. Leider werden dadurch nicht alle URLs in WordPress durch die neuen URLs mit HTTPS ersetzt. So sind in allen Beiträgen und Seiten noch immer die alten URLs mit HTTP zu finden (z. B. bei Links zu eigenen Beiträgen oder zu eingebundenen Medien). Auch in allen Plugins und Themes wurden die alten URLs noch nicht durch die neuen ersetzt.

Das kann dazu führen, dass Teile deiner Website noch über HTTP geladen werden, wodurch manche Browser eine sogenannte Mixed Content Warnung ausgeben (und neben deiner Website kein kleines grünes Schloss anzeigen). Das ist nicht gut für Besucher und auch nicht gut für dein Google-Ranking.

Je nach Größe deiner Seite kann es sehr zeitaufwändig sein, all diese URLs per Hand zu ersetzen, weswegen es am besten ist, dafür das kostenlose Plugin Better Search Replace zu installieren.

Bitte leg vor der Verwendung von Better Search Replace unbedingt ein Backup deiner WordPress-Datenbank an!

Gehe im WordPress-Backend zu Werkzeuge > Better Search Replace. Gib dort bei Suchen nach deine alte URL mit HTTP und bei Ersetzen durch deine neue URL mit HTTPS ein, dann markierst du bei Tabellen auswählen alle Tabellen mit Strg + A und nimmst das Häkchen bei Testlauf? heraus:

5. Trouble-Shooting: Immer noch kein grünes Schloss?

Sollte dir im Browser immer noch eine Mixed Content Warnung angezeigt werden und kein grünes Schloss erscheinen, verbergen sich auf deiner Website immer noch Ressourcen (Bilder, Javascript, CSS etc.), die über HTTP abgerufen werden.

Das könnte zum einen daran liegen, dass du ein Child-Theme mit eigenen Anpassungen installiert hast, in dem sich noch alte URLs verbergen. Wahrscheinlicher ist es jedoch, dass externe Ressourcen geladen werden, die nicht über SSL abgesichert sind. Dabei kann es sich um extern geladene Fonts und Skripte, Badges von Blogverzeichnissen und Toplisten oder Werbebanner handeln.

Um herauszufinden, wo sich die Störenfriede verbergen, bietet es sich an, den Quelltext der Seite über den Browser zu öffnen und nach „http://“ zu suchen. Sollte das auch nicht helfen, kann man als letzten Schritt noch die CSS-Dateien durchsuchen, in denen sich in manchen Fällen auch über HTTP geladene Bilder (z. B. Hintergrundbilder) verbergen können.

6. Redirect von HTTP auf HTTPS erstellen

Zu guter Letzt ist es erforderlich, einen 301 Redirect zu erstellen, der jede Anfrage von HTTP auf HTTPS weiterleitet.

Dazu musst du auf deinen FTP-Server zugreifen und folgenden Code in die .htaccess-Datei einfügen, die sich in deinem WordPress-Verzeichnis befindet:

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

Sollte deine WordPress-Installation auf einem nginx-Server liegen (das ist meistens nicht der Fall), musst du folgenden Code in deine nginx.conf einfügen:

if ($scheme = http) {
return 301 https://$server_name$request_uri;
}

Wie hat dir dieser Artikel gefallen?
(Abgegebene Stimmen: 1, Durchschnitt: 5/5)

13 Gedanken zu “So stellst du WordPress in 6 einfachen Schritten auf HTTPS um

  1. Hallo Finn.
    Ich habe alle Schritte wie beschrieben ausgeführt und es hat funktioniert! (Im Gegensatz zum T3N Guide)
    Vielen lieben Dank dafür. 🙂
    Kann ich nun aber auch das Plugin „better search replace“ wieder löschen?
    Viele Grüße!
    Martin

    • Freut mich, dass alles geklappt hat!

      Das Plugin Better Search Replace kannst du wieder löschen, wenn du möchtest. Ich habe es immer standardmäßig auf allen meinen WordPress-Websites installiert und aktiviert. Braucht man häufiger als man denkt.

  2. Hallo,
    Wir haben nach langer Arbeit unsere Inhalte fertiggestellt und stehen vor dem Domainumzug. Auth-Code vorhanden und wird morgen übergeben, dann gehts los. Das SSL-Zertifikat ist bestellt und ich zerbreche mir seit Tagen den Kopf wie ich die Umstellung realisiere. Der Nginx-Hoster ist gerade in der Angelegenheit etwas zurückhaltend und stellt darauf ab das er lediglich die Konfiguration und die Hardware bewerkstelligt. Deshalb bin ich umso glücklicher deine Anleitung gefunden zu haben. Denn die anderen Anleitungen im Web gehen von einem Apache Server aus.

    Danke aus Berlin

    • Hi Thomas,

      freut mich, dass ich helfen konnte! 😉

      nginx wird als Server-Software immer beliebter und verdient auf jeden Fall eine Erwähnung. Ich setze bei vielen meiner Websites mittlerweile auch auf nginx oder zumindest eine Mischung aus nginx und Apache.

      Viele Grüße

      Finn

      • Hallo Finn,

        Ist ja auch irgendwie verständlich, das Ranking kennt viele Faktoren. Und wenn ich schon dabei bin alle Parameter anzupassen dann setze ich auch auf nginx. So war es zumindest bei uns. Werde jetzt dein Tutorial abarbeiten, Domainübernahme ist durch. Bin jespannt…

  3. Hallo Finn, ich habe die Anleitung gerade befolgt (Vielen Dank dafür) und bin bis zu Schritt 4 gut klargekommen. Auf allen Unterseiten habe ich jetzt auch https:// stehen, allerdings auf der Home-Seite immer noch http://. Ich habe dann Schritt fünf befolgt und im Quelltext nach Http gesucht und dabei kamen um die 40 Resultate raus. Jetzt ist mir leider nicht klar, wie ich damit umgehe? Ich kann auch leider den Code nicht lesen (Das sind für mich nur wirre Zahlen 🙂 ). Kannst du mir helfen, was ich jetzt mit den HTTP-Stellen machen muss?

    Vielen Dank schon mal für deine Hilfe und auch für die ausführliche Erklärung im Beitrag!
    Liebe Grüße
    Julia

    • Hi Julia,

      freut mich, dass dir meine Anleitung gefällt!

      In Schritt 4 musst du alle Instanzen von „http://living4taste.de“ durch „https://living4taste.de“ ersetzen. Erstere URL trägst du ohne Anführungszeichen in das „Suchen nach“-Feld ein, zweitere URL in das „Ersetzen durch“-Feld.

      Bitte leg aber unbedingt, wie schon im Artikel erwähnt, ein Backup deiner Datenbank an!

      Liebe Grüße

      Finn

  4. Hallo Finn,

    erstmal herzlichen Dank dir für deine simplen Beschreibungen, die selbst mir als absoluter wp-Neuling verständlich erscheinen! Ich dachte ich hätte bei meiner initialen Einrichtung auf meinem server (webgo) bereits das Zertifikat aktiviert und hab dann munter angefangen die Namen in meinem WP-Login zu ändern und schön zwischengespeichert :-(. Jetzt wollte ich das ganze zu Ende bringen und komme nicht mehr auf meine wp-login Seite (Zertifikat habe ich mittlerweile). Kannst du mir helfen? Lieben Dank dir vorab und viele Grüße!
    Nina

  5. Hallo Finn,

    meine erste Anfrage hat sich erledigt – es war ein falsches Zertifikat. Jetzt bin ich wieder drin und mittlerweile bei Punkt 5. Status: Meine Seite wird immer noch als unsicher tituliert.

    Da ich mich wie Julia nicht mit dem bearbeiten von Quellcode auskenne, bin ich mir unsicher was ich jetzt tun muss. Erstens habe ich bei der Durchsicht des Quellcodes noch http Bruchstücke gefunden, die mit der früher eingerichteten Coming Soon Seite (Plugin) zu tun haben könnten und zweitens benutze ich für die derzeitige coming soon seite auch ein Hintergrundbild – da könnte also auch noch ein Fehler drin stecken.

    Ich weiss jetzt nur nicht wie das mit dem Code ändern funktioniert, kannst du mir hier weiterhelfen?.

    Außerdem bin ich bei Punkt 6 unsicher wo genau ich deinen Ausschnitt in die .htaccess-Datei einsetzen soll? Eventuell So?:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

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

    # END WordPress

    • Hi Nina,

      so, wie du den Code in die .htaccess eingefügt hast, funktioniert es. Ich würde es allerdings so machen:

      # Weiterleitung zu HTTPS
      RewriteEngine On
      RewriteCond %{HTTPS} !=on
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      
      # BEGIN WordPress
      
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      
      # END WordPress

      Durch die eingefügten Kommentare (beginnen mit #) weißt du später noch, welcher Teil der .htaccess wozu gut sind.

      Liebe Grüße

      Finn

      PS: Ich habe mir gerade deine Website mal angesehen und es sieht sonst alles okay aus. Das Zertifikat ist korrekt installiert und wenn ich sie unter HTTPS abrufe, kann ich auch keine HTTP-Bruchstücke sehen (sie ist allerdings parallel noch unter HTTP erreichbar, was du aber durch Einfügen des obigen Codes beheben kannst).

Schreibe einen Kommentar