Umstellung WordPress auf SSL Verschlüsselung

Wordpress

Seit einiger Zeit ist eine SSL Verschlüsselung ein Ranking Faktor bei Google. Lange überlegte ich schon bezüglich der Umstellung. Mein Plan, weykenat.net auf SSL umzustellen, scheiterte bisher immer daran, dass ich keine Zeit bzw. kein Interesse hatte, mich in Anleitungen für eine Umstellung von WordPress auf eine SSL Verschlüsselung einzulesen. Interessanterweise stieß ich durch Zufall bei Mittwald auf einen Hinweis, dass je Hostingpaket ein SSL Zertifikat kostenlos dabei ist. Das hörte sich super an, schnell beantragte ich das Zertifikat für meinen Blog.
Ich möchte nun kurz die WordPress Umstellung auf SSL beim Anbieter Mittwald beschreiben:

1.    Beantragung Zertifikat:
Unter dem Punkt Domains lässt sich ein SSL Zertifikat beantragen. Das Beantragen geht fix, einfach das Formular mit den notwendigen Daten ausfüllen und fertig. Nach kurzer Zeit erhielt ich eine Email mit einem Bestätigungslink, diesen natürlich bitte bestätigen. Anschließend erhielt ich eine Nachricht, in der die neue IP Adresse für die Domain mitgeteilt wird.
Nun wurde die Voraussetzung geschaffen, die WordPress Seite auf SSL Verschlüsselung umzustellen. Bevor ich nun mit der eigentlichen Arbeit startete, setzte ich einen Wiederherstellungspunkt, denn sicher ist sicher ;-).

2.    Umstellung von WordPress auf SSL
Nun lässt sich im Adminbereich des WordPress Blogs unter dem Punkt Einstellungen – Allgemein die URL des Blogs anpassen. Einfach ein „s“ an das http bei den beiden URLs einfügen und fertig (sprich: http:// wird zu https://). Im nächsten Schritt wird das Plugin „better Search Replace“ installiert, mit diesem Plugin ist es möglich, die WordPress Datenbank zu durchsuchen und bestimmte Zeichenketten zu suchen und zu ersetzen.

3.    Domainumleitung
Meine Domains liegen beim Anbieter Domainfactory, dort änderte ich einfach bei den Nameservereinstellungen die IP Adresse dieses Blogs auf die neue IP Adresse (nur den A Record ändern). Nach dieser Umstellung war mein Blog nun für etwa eine 1h offline, diese Zeit benötigt der Nameserver, um die Domain auf die neue IP Adresse zu verlinken.

4.    Änderung an der MySQLDatenbank
Nachdem die Domain auf die neue IP weiterleitet, fehlten Bilder und weitere Elemente des Blogs. Diese sind aktuell per http eingebunden und werden per https somit nicht geladen. Um dies zu ändern, kann das Plugin „better search replace …“ verwendet werden. Im Feld „SUCHEN NACH“ die „normale“ URL (Bsp: http://weykenat.net) eingeben und im Feld „ERSETZEN DURCH“ die neue URL (Bsp: https://weykenat.net) eingeben. Diesen Suchlauf bitte auf die Tabellen post und postmeta anwenden.
Ich empfehle einen Testlauf zu starten, um zu sehen, ob alle Einstellungen passen. Wenn dies der Fall ist, einfach auf den Button „Änderungen durchführen“ klicken. Nun wird die neue URL in die Datenbank geschrieben. Nachdem die Änderung erfolgt sind, lohnt es sich, einmal den Blog anzuschauen, alle Inhaltselemente sollten nun wieder vorhanden sein.

5.    Änderungen an der .htaccess
Nun ist der Blog noch unter der normalen als auch unter der verschlüsselten URL zu erreichen. Da dies nicht sinnvoll ist, und Google außerdem „double content“ bestraft, muss dies geändert werden. Hierfür einfach folgenden Code ganz oben in der .htaccess einfügen:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.meinedomain.de/$1 [R,L]

Gefunden haben ich den Code hier. Anschließend wird nur noch die SSL Variante der Domain aufgerufen.

6.    Mixed Content
Nun geht es an den Kleinkram: Es kann durchaus sein, dass einige Plugins von WordPress Probleme machen und sich nicht auf SSL umstellen lassen. Hierbei entsteht der so genannte mixed Content, welcher verhindert, dass die Seite im Browser als verschlüsselt angezeigt wird. In meinem Fall hielt sich dieses Thema in Grenzen. Lediglich ein Plugin musste deaktiviert werden und ein externer Link  bzw. das Linkbild angepasst werden. In weiterer Folge werde ich nun den gesamten Inhalt einmal analysieren, um Mixed Content komplett zu vermeiden.

Weykenat.net ist nun komplett auf SSL umgestellt und funktioniert auch problemlos.