Das könnte dich auch interessieren

Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung

WordPress auf HTTPS: So stellst du deine Seite komplett um

    WordPress auf HTTPS: So stellst du deine Seite komplett um

(Foto: David Molina G / Shutterstock.com)

Eigentlich sollte es nicht schwer sein, eine CMS-Website von http auf HTTPS umzustellen – bei WordPress ist das aktuell aber noch mit ein bisschen Aufwand verbunden. Wie ihr eure WordPress-Website in wenigen Schritten komplett auf HTTPS umstellen könnt, erklären wir euch in diesem Artikel.

Bevor ihr euch an die Umstellung machen könnt, benötigt ihr natürlich ein SSL-Zertifikat, damit der Nutzer von seinem Browser keine Sicherheitswarnung bekommt. Falls ihr bei einem Hoster seid, der es bereits unterstützt, dann ist Let’s Encrypt hier eine gute und kostenlose Wahl.

WordPress auf HTTPS umstellen – nicht trivial, aber auch nicht schwer

Wer nach Einrichtung eines Zertifikats die WordPress-Installation auf HTTPS umstellen möchte, stolpert auf der Suche nach einer unkomplizierten Lösung in den allgemeinen Einstellungen des WordPress-Backends über die Felder „WordPress Adresse (URL)“ und „Website-Adresse (URL)“, die meist dieselbe Adresse beinhalten. Hier liegt die Vermutung nahe, dass eine Umstellung des Protokolls von http:// auf https:// zum Erfolg führt, was leider nicht ganz der Fall ist. Nach dieser Umstellung sind die Bilder aus Beiträgen nämlich immer noch mit dem http-Protokoll im Beitrag verankert, weshalb Browser eine Mixed-Content-Warnung geben. Beitragsbilder und Galerien werden hingegen automatisch auf HTTPS umgestellt.

Um die Bilder aus den Beiträgen anzupassen, muss eine Änderung in der Datenbank vorgenommen werden (vorher zur Sicherheit ein Datenbank-Backup machen). Um diese Änderungen relativ problemlos durchführen zu können, gibt es das Plugin „Better Search Replace“. Nach Installation und Aktivierung findet ihr das Plugin unter „Einstellungen“ › „Better Search Replace“ und könnt hier nach der alten URL eurer Website mit dem http:// suchen und diese mit der https://-Version ersetzen. Als Tabelle wählt ihr wp_posts aus, wobei das wp_ bei euch eventuell während der Installation durch ein anderes Präfix ersetzt wurde. Wie das dann aussieht, seht ihr im Screenshot unten. Anschließend könnt ihr den Suchen-und-Ersetzen-Vorgang starten.

Hier könntet ihr auch die Änderungen vornehmen, die wir bereits in den Feldern der allgemeinen Einstellungen vorgenommen haben – dafür müsstet ihr als weitere Tabelle noch wp_options auswählen.

Die notwendigen Eingaben für die Umstellung der WordPress-Site auf HTTPS im Better-Search-Replace-Plugin. (Screenshot: eigene Installation)
Die notwendigen Eingaben für die Umstellung der WordPress-Site auf HTTPS im Better-Search-Replace-Plugin. (Screenshot: eigene Installation)

Nun solltet ihr in den meisten Fällen das Problem mit gemischten Inhalten gelöst haben. Es kann allerdings sein, dass das Theme oder ein Plugin noch Probleme bereiten, beispielsweise wenn ein Web-Font von Google eingebunden wird, aber als Protokoll in der Theme-Datei nicht https:// oder //fonts. genutzt wurde, sondern http://. Neben der manuellen Prüfung auf Mixed Content, könnt ihr auch ein Online-Tool verwenden.

HTTPS erzwingen

Wenn ihr jetzt eure Website komplett umgestellt habt, solltet ihr noch alle HTTP-Aufrufe eurer Website auf die HTTPS-Version weiterleiten. Theoretisch ist das mit einer kleinen Angabe in der .htacess-Datei erledigt, allerdings kann die funktionierende Lösung sich von Hoster zu Hoster unterscheiden. Auf meinem Hoster hat folgende Regel den gewünschten Erfolg gebracht:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]

Hier müsst ihr natürlich example.com durch eure Domain ersetzen. Falls das nicht funktioniert, schaut einfach mal in die FAQs eures Hosters, oder schmeißt die Suchmaschine eures Vertrauens an. Die Regel schreibt ihr einfach ganz an den Anfang der .htaccess-Datei, die von WordPress generiert wurde.

Wenn ihr diese Umstellungen vorgenommen habt, müsst ihr nichts weiter tun, als darauf zu achten, dass euer SSL-Zertifikat immer erneuert wird.

Finde einen Job, den du liebst zum Thema TYPO3, PHP

Alle Jobs zum Thema TYPO3, PHP
9 Reaktionen
frankmertins
frankmertins

Ich halte das hier für die sinnigere Lösung. Nicht nur umleiten sondern auch direkt den Suchmaschinen mitteilen, dass das so ist.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Antworten
stef
stef

Ggf. sind noch ein paar Nacharbeiten erforderlich, z.B. bei evtl. eingesetzten Caching Plugins den Cache leeren, Sitemaps neu generieren und in Suchmaschinen (z.B. über Google Webmaster Tools) die "neue" Seite bekannt machen.

Antworten
Markus Schmitt
Markus Schmitt

Ich hatte ein Problem mich im Admin Menü einzuloggen nachdem ich auf SSL umgestellt habe. Nach etwas Suche habe ich etwas hilfreiches gefunden, das lediglich in die wp-Login.php eingefügt werden muss.

Redirect to https login if forced to use SSL
if ( force_ssl_admin() && ! is_ssl() ) {
if ( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) {
wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
exit();
} else {
wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
exit();
}
}

Antworten
Uli
Uli

Das ist eine der vielen Sachen, die mich an Wordpress ankotzen.
Es ist jedes mal ein Krampf, einen Serverumzug mit Wordpress von einer Testumgebung auf Produktiv zu machen.
Auch toll ist, dass viele Themes und Plugins PHP-Serialisierung zum Speichern der Einstellungen nutzen, wo ein Search and Replace über den Dump den Verlust der Einstellungen zur Folge hat, weil dann die string length nicht mehr hinhaut.
Warum nicht JSON dafür verwenden?
Bei Oxid eShop z.B. muss man da einfach nur die Base URL in der config Datei anpassen .
Wenn schon URLs in der Datenbank speichern, dann site-relative URLS /artikel/meinartikel.

Antworten
Richard
Richard

Noch nie von cPanel gehört oder CloudPress?

Antworten
Jan
Jan

Noch nie von Duplicator gehört (siehe Link)?

Relative Links hätte ich mir allerdings damals nach meinem Umstieg von CMSms auch gewünscht. Alternativ wäre natürlich auch ein System wie bei Drupal klasse, wo der Content vor der Ausgabe einfach durch einen entsprechenden Pathologic-Filter laufen kann.

Antworten
Jan
Jan

Das absolute Links bei der Anzeige von Inhalten sind, bedeutet in keinster Weise, daß diese bei lokalen Inhalten auch in der DB gespeichert sein müssen! Hierfür hat das CMS meiner Meinung nach erst bei der Auslieferung der Inhalte zu sorgen.

wpGO
wpGO

Vielleicht werden wir ja irgendwann bei der Erscheinung von WordPress 5 mit einer Lösung belohnt, die zufriedenstellend ist...

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen