WordPress: How to change your website to HTTPS

WordPress on HTTPS, so to convert an SSL certificate, is often presented on the net as difficult. What could not happen. It is quite easy and feasible for anyone who has some experience with WordPress and can install the CMS itself. In this article, I will gradually guide you through the steps you need to take.

In this post, we assume that you already have an SSL certificate and this has been assigned to your domain. In more than 90 percent of all cases this should be the case.

You only have to do this work yourself if you have your own dedicated server. It is more complicated to just create and assign a free Let’s Encrypt certificate. However, I am assuming a full and paid https. With my hoster it costs for example 23.90 euro annually and is immediately assigned to the domain.

Safe: WordPress on HTTPS switch, made easy

So in the following post, we’ll focus on making it clear to your existing WordPress installation that it’s now running on https:

Step 1: Log in to the admin section of your WordPress

After you have logged in, go to the menu item Settings => General and change the two registered addresses to the HTTPS version. You just have to complete that little “s”.

Admin area to convert WordPress to HTTPS

If that does not work for you, then there is a second solution to convert WordPress addresses. Log into your webhosting package or server via (S) FTP and add the following code in thewp-config.php:

					
						
				

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.

					
						
				

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.

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.)



>