Schon seit letztem Jahr nerven die Browser: Diese Seite ist unsicher, nix ssl, blabla, und schlechtesten falls bekommt man sie gar nicht angezeigt (Firefox ist da besonders rigide). Das ist schade, besonders wenn man es eigentlich ganz gerne hätte, dass die Webseite Besucher anlockt.

Was tun? Man muss die Seite „auf ssl umstellen“, also dafür sorgen, dass sie anstatt mit http://meine-domain.de mit https://meine-domain.de aufgerufen wird. Das erfordert in WordPress ein paar Handgriffe, die aber recht schnell erledigt sind.

Vorbereitung

Als Werkzeuge benötigt man einen FTP-Client, um die entsprechenden Datein aus der WordPress-Installation herunter- und wieder heraufzuladen (die meisten Hoster bieten Web-FTP aus der Konfigurationsoberfläche des Webseitenpakets an, man muss da also nicht zwingend was auf dem Rechner installieren), einen Text-Editor (Windows hat z.B. Wordpad an Bord, das reicht) und um es sich leichter zu machen, muss man noch ein zusätzliches Plugin installieren (dazu gleich mehr). Und natürlich braucht man ein Zertifikat.

Als erstes besorgt man sich das Zertifikat. Das geht eigentlich inzwischen bei jedem Hoster bequem über die Verwaltung des Hostingpakets, und dort in der Verwaltung der Domain. Es gibt kostenpflichtige und kostenlose Zertifikate, mittlerweile bieten die Hoster beides an. Für eine kleine private Webseite genügt ein kostenloses Zertifikat. Ein paar Hintergrundinformationen über Zertifikate und was der Unterschied ist zwischen kostenlos und kostenpflichtig, gibt es z.B. auf t3n.de. Sobald das Zertifikat für die Seite beim Hoster registriert ist, kann die Webseite umgestellt werden.

Erst der Admin …

Für alle Änderungen am System gilt immer: Ein aktuelles Backup durchführen! Dateien und Datenbank, bitte.

Als erstes stellt man den Admin-Bereich um. Per FTP lädt man die wp-config.php Datei  herunter und fügt oberhalb der Zeile

/* That's all, stop editing! Happy blogging. */

folgendes ein:

define('FORCE_SSL_ADMIN', true);

Und wieder hochladen, die Datei. Den Admin-Bereich sollte man jetzt per https:// aufrufen können.

… dann der Rest

Jetzt geht man in der entsprechenden WordPress-Seite auf Einstellungen/Allgemein und ändert die Seiten-URL von http:// auf https://.

Jetzt ist also auch das Frontend per https:// aufrufbar, aber wir sind noch nicht fertig. Es gibt noch einen Haufen interne Links und alle Medien, die mit http:// aufgerufen werden. Die muss man jetzt in der Datenbank alle aufspüren und mit https:// ersetzen. Au weia! Wenn man jetzt die Seite besucht, ist das Schloß-Symbol oben in der Adress-Leiste auch noch nicht grün, sondern rot und/oder durchgestrichen.

Aber es gibt ja Gott sei Dank Plugins, die das für uns machen, ohne dass wir in die Datenbank gehen müssen! Sehr geschmeidig ist Better Search Replace. Hat man das installiert und aktiviert, findet man es unter „Werkzeuge“. Gleich oben trägt man ein, was durch was ersetzt werden muss:

Hier wird http://meine-domain.de durch https://meine-domain.de ersetzt und um sicher zu gehen, dass das klappt, kann man weiter unten erst einmal einen Testlauf machen.

Wenn hier keine Fehler ausgegeben werden, kann man das Ganze abschicken, warten und beten …

Wenn das Schloss jetzt immer noch nicht grün ist, ist möglicherweise im Theme noch irgendwo händisch ein http:// eingetragen, das geändert werden muss. Fehler aufspüren kann man bequem über die Webseite Why No Padlock.

Hello world, ich bin jetzt HTTPS!

Der allerletzte Schritt ist jetzt noch, den Aufruf der https://-Seite zu erzwingen, auch wenn jemand die http:// der Webseite aufruft. Das geschieht durch einen Eintrag in der Datei .htaccess. Die muss man also wieder per FTP herunterladen und im Texteditor bearbeiten. Wichtig ist es, die richtige .htaccess zu finden: Es muss die aus dem oberen WordPress-Verzeichnis sein, in dem auch die wp-config.php liegt!

Dort fügt man jetzt am Anfang ein:

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

Speichern, wieder auf den Server hochladen.

Jetzt sollte zuverlässig beim Aufruf von http://meine-domain.de die https://-Variante aufgerufen werden. Wenn es Probleme gibt, kann man auch mal versuchen, den Schnipsel ans Ende zu setzen. Klappt das nicht, muss leider Tante Google nochmal befragt werden, bei meinen Seiten hat das bisher aber anstandslos geklappt.