WordPress komplett SSL geschützt

SSL / https im Redaktionsbereich, dem sogenannten Backend von WordPress, das ist ja schon lange guter und selbstverständlicher Standard, den die meisten beachten.

Doch inzwischen reicht das eigentlich nicht mehr aus, die Tendenz geht immer mehr dazu über, das komplette Blog nur noch über https erreichbar zu machen. Google hat es mit einigen Diensten vorgemacht und bietet die Suche im Standard über https an. In Zukunft möchte Google den Faktor https auch im Ranking berücksichtigen – noch hat das aktuell keine Auswirkungen, mittelfristig aber schon – so hat Google es angekündigt.

Bloggen in der Post-Snowden Ära

Nach den Snowden-Enthüllungen müssen wir ja davon ausgehen latent überwacht zu werden. Den Datenverkehr über https abzuwickeln ist dabei eine Möglichkeit diesen zu verschlüsseln und ein Beobachten, was wer gerade liest erstmal zu verhindern.

2014-08-25_20-20-54Da ich gerade sowieso mit dem WordPress-Theme von reticon experimentiere, habe ich die Chance genutzt und versucht WordPress komplett auf https umzustellen.

Vorab: Der Test ist nach ein paar Klimmzügen erstmal soweit gediehen, dass ich https im Standard lasse (schauen Sie oben recht, dort sollte jetzt normalerweise das geschlossene Schloss-Symbol https und damit SSL Verschlüsselungen signalisieren).

Die Grundvoraussetzung SSL-Zertifikat ist auf reticon gegeben, ich möchte an dieser Stelle nicht weiter darauf eingehen wie man an ein SSL-Zertifikat kommt, dazu gibt es genügend Seiten im Netz bzw. es hilft sicher der eigene freundliche Hoster weiter.

Doch wie aktiviert man nun https für den „einfachen Leser“? Leider gibt es in WordPress keinen simplen Haken, um den Datenverkehr auch für den Leser auf https umzustellen. Aber nach meinen Erfahrungen sind es nur wenige Schritte und ein wenig Aufräumarbeiten.

1: WordPress-Plugin „WordPress https“

2014-08-26_21-01-11Das Plugin ermöglicht es jeder Seite, jedem Eintrag mitzugeben, dass er „gesichert“ ausgeliefert werden soll. Das ist soweit ganz nett, aber ich möchte ja nicht für jeden Eintrag per Hand aktiv werden. In den Admin-Einstellungen findet sich die Abhilfe. Trägt man in den URL-Filter schlicht ein / ein, werden alle Seiten automatisch auf https umgeleitet.
Das hat bei mir soweit funktioniert – komischerweise bis auf die Startseite des Blogs, dazu gleich mehr.

2: WordPress-Plugin: „Quick Cache“

Bisher hatte ich Cachify als Cache in WordPress integriert. Der kam leider gar nicht mit dem https-Content zurecht. Also auf die Suche gegangen, Cache-Produkte gibt es ja genügend für WordPress. Nach einem Exkurs über den „Super Cache“, der bei mir aber über den Tag doch einige Probleme hatte, bin ich bei „Quick-Cache“ gelandet. Schon mit den Standard-Einstellungen lief es hier flüssig über SSL.

3. Rewrite-Rule in der .htaccess

Beide Caches hatten jeweils ein Problem mit der Startseite und das https-Plugin hat diese nicht dauerhaft auf https umgeleitet (warum auch immer). Ich konnte die Ursache nicht ergründen, der Effekt war immer, dass nach ein paar Stunden in denen es funktioniert beim Aufruf von http://www.reticon.de nicht nach https://www.reticon.de umgeleitet wurde, sondern eine etwas kaputte Variante auf www.reticon.de ausgeliefert wurde.

Schlussendlich habe ich das dann mit zwei Zeilen in der .htaccess gelöst:

RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

4. Die kleinen Randprobleme

Mit Punkt 1.-3. wird schon einmal sauber auf https umgeschaltet. Danach fängt der Kleinkram an, d.h. für eine „saubere“ https-Seite darf kein http-Inhalt eingestreut werden, sprich .. alles muss über https-Verbindung geladen werden. Bei mir waren das ein paar Bilder, bei denen korrigiert werden musste. Von einem Plugin habe ich mich bei der Gelegenheit ganz verabschiedet, da es via ajax immer Javascript-Sachen über http von anderen Servern nachgeladen hat – eh nicht schön.

Letzter Punkt war die Umstellung des Piwik-Tracking-Scripts – jetzt läuft auf der Piwik-Kiste auch https.

Damit scheint das soweit alles umgesetzt, mein Eindruck ist auch, dass es sich bisher nicht negativ auf die Performance auswirkt. Wobei ich ehrlicherweise sagen muss, dass hier momentan ja nicht so richtig viel los ist.

Fazit: WordPress mit SSL geschützt

Mit ein wenig Aufwand kann man auch WordPress komplett für die Leser auf https umstellen. Mittelfristig wäre es sicherlich interessant, wenn das einen WordPress-Kernfunktionalität würde.

Wie sind eure Erfahrungen – hat jemand andere Erfahrungen bzw. noch Tipps rund um SSL in WordPress, bitte in die Kommentare!