WordPress von HTTP auf HTTPS umstellen

Automatisiert

Der einfachste Weg, um eine WordPress Installation von HTTP auf HTTPS umzustellen, ist die Nutzung des Plugins Akeeba Backup. Mit diesem erstellt man ein Backup der HTTP Seite ins Document Root der Webseite, löscht im Anschluss alle Inhalte der Webseite (außer der Backup Datei natürlich!), löscht alle Datenbank-Inhalt, lädt die Restore Engine von Akeeba (kickstart.php) ins Document Root hoch und ruft die Restore Engine direkt per HTTPS auf. Akeeba erkennt während des Restores, dass das Backup von einer HTTP Seite erstellt wurde und in einer HTTPS Seite wiederhergestellt werden soll und bietet während des Restore Prozesses an, alle entsprechenden Datenbank Einträge automatisch zu ändern. Auf diese Weise hat man eine Webseite von HTTP auf HTTPS innerhalb weniger Minuten umgestellt.

Manuell

Backend

Im Backend müssen im Menü Einstellungen -> Allgemein die URLs für WordPress-Adresse (URL) und Seiten-Adresse (URL) von http:// auf https:// geändert werden.

wp-config.php

In den meisten Fällen reicht die Änderung im Backend aus, damit die Seite rudimentär wieder erreichbar ist. Je nach Server- oder Theme-Konstellation muss trotzdem manuell die Datei wp-config.php angepasst werden. Hierzu muss folgender Eintrag angepasst oder neu eingefügt werden:

define( 'WP_CONTENT_URL', 'https://<your.wordpress.url>/wp-content' );

Datenbank

Die beste Möglichkeit zur Änderung der Datenbank ist das php-Skript Database Search and Replace. Mit diesem Skript müssen alle Einträge http://<your.wordpress.url> in den Tabellen /Spalten wp_options/option_value, wp_posts/guid, wp_posts/post_content und wp_postmeta/meta_value durch https://<your.wordpress.url> ersetzt werden.

Eine weitere Möglichkeit ist die Manipulation der Datenbank per SQL-Befehlen z.B. über phpMyAdmin.
Achtung! Dies funktioniert nur, wenn von WordPress keine sog. serialized strings angelegt wurden!

UPDATE wp_options SET option_value = replace(option_value, 'http://<your.wordpress.url>', 'https://<your.wordpress.url>') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://<your.wordpress.url>','https://<your.wordpress.url>');
UPDATE wp_posts SET post_content = replace(post_content, 'http://<your.wordpress.url>', 'https://<your.wordpress.url>');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://<your.wordpress.url>','https://<your.wordpress.url>');

Ersetzen sie dabei die Werte your.wordpress.url mit ihrer jeweiligen Website-Adresse. Sollten sie bei der Installation den Tabellenpräfix wp geändert haben, ersetzen sie bitte jeweils wp_ mit ihrem Prefix.

.htaccess Umleitung

Damit auch HTTP-Aufrufe die Seite öffnen können, ist es erforderlich, ein entsprechendes Rewrite auf HTTPS in der Datei .htaccess im Root-Verzeichnis der WordPress Installation einzutragen. Sollte bislang keine .htaccess Datei existieren, legen sie eine neue Datei ein.

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

Nacharbeiten

Nach Abschluss der Umstellung muss geprüft werden, ob noch unsichere Inhalte geladen werden (z.B. Bilder, externe Links oder Dateien eines Themes/Plugins). Zu erkennen ist dies an einem entsprechenden Symbol in der Adressleiste.

Mit Google Chrome Browser lassen sich solche unsicheren Inhalte identifizieren:

  • Öffnet das Kontextmenü mit der rechten Maustaste und wählt Element untersuchen
  • Wählt unten den Tab Console aus
  • Dort findet ihr Information, welche Datei diesen Fehler auslöst: The page at … was loaded over HTTPS but displayed insecure content from … This should also be loaded over HTTPS
  • Ändert den Aufruf dieser Datei auf https://; damit sollte der Fehler sollte behoben sein.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.