Spaces. Smartes Cloud Hosting für anspruchsvolle Webprojekte. Loslegen und Spaces testen. Von Mittwald.
Andreas Hecht 11. März 2019

WordPress: So stellst du deine Website auf HTTPS um

WordPress auf HTTPS, also ein SSL-Zertifikat umzustellen, wird im Netz gern als schwierig dargestellt. Was könnte nicht alles passieren. Dabei ist es recht einfach und für jeden machbar, der etwas Erfahrung mit WordPress mitbringt und das CMS selbst installieren kann. In diesem Artikel führe ich dich nach und nach durch die einzelnen, nötigen Schritte.

In diesem Beitrag gehen wir davon aus, dass du bereits ein SSL-Zertifikat besitzt und dieses deiner Domain zugewiesen wurde. In über 90 Prozent aller Fälle sollte das so sein.

Nur bei einem eigenen dedizierten Server musst du diese Arbeit noch selbst erledigen. Komplizierter ist nur die Erstellung und Zuweisung eines kostenlosen Let’s Encrypt-Zertifikats. Ich gehe jedoch von einem vollwertigen und kostenpflichtigen https aus. Bei meinem Hoster kostet es zum Beispiel 23,90 Euro jährlich und wird sofort der Domain zugeordnet.

Sicher: WordPress auf HTTPS umstellen, leichtgemacht

Wir beschäftigen uns also im folgenden Beitrag damit, wie du deiner bestehenden WordPress-Installation klar machst, dass sie fortan unter https läuft:

Schritt 1: Logge dich in den Adminbereich deines WordPress ein

Nachdem du dich eingeloggt hast, gehe zum Menüpunkt »Einstellungen => Allgemein« und ändere dort die beiden eingetragenen Adressen auf die HTTPS-Version um. Du musst nur das eine kleine „s“ ergänzen.

Adminbereich WordPress auf HTTPS umstellen

Wenn das für dich nicht funktionieren sollte, dann existiert noch eine zweite Lösung, die WordPress-Adressen umzustellen. Logge dich per (S)FTP in dein Webhosting-Paket oder deinen Server ein, und ergänze dort folgenden Code in der wp-config.php:

<?php
/* Unterhalb des Tabellen-Präfix in die wp-config.php einfügen. */
define( 'WP_SITEURL',     'https://www.deinewebsite.de' );
define( 'WP_HOME',        'https://www.deinewebsite.de' );
define( 'WP_CONTENT_URL', 'https://www.deinewebsite.de/wp-content' );

Kopiere den Code unterhalb des Tabellen-Präfixes ein, speichere und lade die Datei wieder hoch. Nun hast du über HTTPS Zugriff zu deiner Website.

Schritt 2: Überschreibe alle URLs in der Datenbank

Die dynamischen URLs, wie diejenigen der Scripte und der Dateien sind bereits über HTTPS erreichbar. Nun geht es darum, auch die statischen URLs der Bilder im Beitrag auf SSL umzustellen. Dazu kannst du ein Plugin nutzen, komfortabler und sicherer jedoch geht es mit dem Database Search and Replace Script von interconnect/it.

Bevor du das Script jedoch nutzt, lege bitte ein vollständiges Datenbank-Backup in phpMyAdmin an. Man weiß ja nie…

Script-Download und Aufruf

Lade dir den Script-Ordner herunter, entpacke ihn, benenne ihn in »replace« um, und lade den kompletten Ordner (nicht nur die Dateien!) in das Root-Verzeichnis deiner WordPress-Installation. Rufe das Script nun auf, indem du deine Domain plus replace in die Adresszeile deines Browsers eingibst.

https://deinewebsite.de/replace

Nun solltest Du das Script sehen können.

search-replace-script

Die Zugangsdaten deiner Datenbank sind bereits eingetragen, du musst nur noch im linken oberen Feld deine alte URL eintragen und im rechten Feld die Version mit HTTPS. Andere Einstellungen sind nicht nötig. Ein Klick auf »live run« ändert nun die URLs in der Datenbank.

replace-database

Das Script ändert die nötigen Einträge nun in relativ kurzer Zeit um. Es kann sein, dass es zu Fehlermeldungen kommt, weil das Script versucht, die Ausführungszeit und das PHP-Memory-Limit zu erhöhen. Diese Meldungen können getrost ignoriert werden.

Die Erfolgsmeldungen. Alle Tabellen erfolgreich geändert.

Die Erfolgsmeldungen. Alle Tabellen erfolgreich geändert.

Sobald dieser Arbeitsschritt fertig ist, scrolle das Script etwas herunter, bis der »Delete«-Button erscheint und klicke ihn an. Der Ordner mit dem Script wird nun vom Server gelöscht. Belasse ihn auf keinen Fall online, denn er stellt ein großes Sicherheitsrisiko dar.

Schritt 3: Änderungen der htaccess-Datei und der wp-config.php

.htaccess

In diesem letzten Schritt wird die .htaccess-Datei um einen wichtigen Punkt ergänzt. Der folgende Code bewirkt eine ständige 301-Weiterleitung von der HTTP- auf die HTTPS-Version deiner Website. Erstens ist deine Website dann nur noch über HTTPS zu erreichen, zweitens wird Google durch den Code mitgeteilt, dass keine HTTP-Version deiner Website mehr existiert.

# ----------------------------------------------------------------------
#  301 Redirekt von http auf https
# ----------------------------------------------------------------------

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

wp-config.php

Das folgende Code-Snippet muss in die wp-config.php deines WordPress hinein, unterhalb des Tabellen-Präfixes.

<?php
// Login nur noch über SSL (https) möglich.
define('FORCE_SSL_ADMIN', true);

Auf diese Weise ist nur noch ein Login über die HTTPS-Version möglich.

Die Alternative: Really Simple SSL

Ich persönlich finde es wichtig und richtig, stets genau zu wissen, wie etwas technisch funktioniert und wie ich selber zum Ergebnis kommen kann. Insofern sind für mich die bis hier geschilderten Schritte der Weg, den ich immer wieder gehen würde, wenn ich eine WordPress-Site auf HTTPS umstellen müsste.

Ich kann aber verstehen, wenn andere es sich so einfach wie möglich machen wollen. Und an dieser Stelle kommt das kostenlose WordPress-Plugin Really Simple SSL ins Spiel. Einmal installiert, leitet es dich assistentengestützt durch den Vorgang, bei dem du praktisch keine Fehler machen kannst und fünf Minuten später kannst du Erfolg vermelden.

Für die reine Umstellung reicht die kostenlose Version. Die Entwickler bieten für komplexere Problemlagen jedoch auch zu bezahlende Erweiterungen an.

Really Simple SSL
Really Simple SSL
Preis: Kostenlos

Das Endergebnis

Du solltest nun, egal für welche Vorgehensweise du dich entschieden hast, auf der Startseite und auf allen Artikeln eine grüne Darstellung sehen.

https auf Startseite und einzelnem Artikel in grün.

Allerdings kann es durchaus sein, dass es noch Dateien gibt, die über HTTP kommen. Entweder wird das Schloss dann in Grau angezeigt, oder die Ressourcen werden vom Server gesperrt. Der Punkt Console in den Entwicklertools deines Browsers gibt darüber Auskunft und zeigt dir die Ressourcen an, die nicht verschlüsselt übertragen werden.

Unter Verwendung von Really Simple SSL hättest du dich bereits im Vorfeld darum gekümmert. Bei unserer Zu-Fuß-Variante kannst du es noch nachträglich erledigen.

console

Zumeist hat man diese Dateien selbst eingebunden, eventuell im Header oder Footer des Themes. Abhilfe schafft hier eine Einbindung der Datei mit //www.deine-datei.de ohne ein vorgesetztes HTTP oder HTTPS. Auf diese Weise wird immer – wenn möglich – die HTTPS-Version eingebunden und geladen.

Fazit: Das war nun wirklich nicht schwer, oder?

Genau nach dieser Anleitung vorgegangen, kann eigentlich nichts passieren und der Vorgang sollte in weniger als einer Stunde glücklich zu Ende gebracht sein. Wie ist es dir ergangen, hast du deine Website bereits auf HTTPS umgestellt?

(Artikelbild: Depositphotos)

(Der Beitrag erschien erstmals im Juni 2016 und wird seitdem regelmäßig aktualisiert, zuletzt am 19.02.2019.)

Andreas Hecht

Andreas Hecht

entwickelt WordPress-Websites und bietet dir einen Website Sicherheit Service und einen Performance Service für deine Website. Außerdem ist er Spezialist für Onpage SEO und bringt Deine Website in die Top-Suchergebnisse von Google. Auf seinem Blog schreibt er über WordPress, SEO und Content SEO.

2 Kommentare

  1. Zum Überschreiben der URLs in der Datenbank kann ich das Plugin Better Search Replace empfehlen.

  2. Gut das hier erwähnt wird das Let’s Encrypt kein vollwertiges Zertifikat ist.

    Generell erfüllen SSL-Zertifikate alle die gleiche Aufgabe, sind aber nicht alle von gleicher Qualität. Let’s Encrypt stellt kostenlos und einfach zu installierende Zertifikate aus (auch bei Dedicated Servern mit hilfe von Certbot), mit dem Ziel, sichere Webverbindungen so universell wie möglich zu gestalten. Der Nachteil dieses Ansatzes ist, dass seine Zertifikate nicht viel Vertrauen in ihre Authentizität bieten.

    Ein SSL-Zertifikat zu haben, insbesondere eines, das nur für die Domain validiert ist, macht eine Website nicht vertrauenswürdiger. Es könnte sich um eine nahezu identische Domain handeln (z.B. micros0ft.com). Let’s Encrypt hat Berichten zufolge über 14.000 Zertifikate für Domains ausgestellt, die sich als PayPal ausgeben.

    Je nach Anwendungsfall und Geldbeutel sollte man auf Anbieter von Zertifikaten setzen, die sich „etabliert“ haben. Für kleine und private Fälle ist Let’s Encrypt allerdings nicht zu verachten.

Schreibe einen Kommentar

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