Vor kurzem habe ich diese Website auf HTTPS / SSL umgestellt, das auf WordPress CMS gehostet wird. Die Migration von HTTP auf HTTPS verlief reibungslos und auch die dauerhafte Umleitung auf HTTPS war erfolgreich. Kurz nach der Verbreitung leiteten die HTTP-Seiten zu ihren HTTPS-Äquivalenten um und zeigten ein grünes Vorhängeschloss-Zeichen. Das einzige Problem bestand darin, dass auf den meisten HTTPS-Seiten Warnungen zu gemischten Inhalten angezeigt wurden.
Aufgrund solcher Warnungen zeigen die Seiten kein sicheres Tag, auch bekannt als Vorhängeschloss, an und sagen stattdessen "Ihre Verbindung zu dieser Site ist nicht vollständig sicher" oder "Diese Verbindung ist nicht privat".
Dieses Problem tritt auf, wenn die Seitenressourcen auf HTTP-URLs anstelle von HTTPS verweisen und sie somit als unsicheres Element kennzeichnen. Die Warnung zu gemischten Inhalten wird normalerweise durch Bilder verursacht, die auf Seiten hinzugefügt wurden, die noch mit der HTTP-URL geladen werden. Dieses Problem ist nicht auf das SSL-Setup selbst zurückzuführen und muss im Rahmen des Migrationsprozesses zu HTTPS behoben werden.
Ich habe intensiv viele Quellen durchsucht, um einen präzisen Weg zu finden, um Bildlinks nach der SSL-Migration in WordPress von HTTP auf HTTPS zu aktualisieren. Ich konnte jedoch keine einzige Anleitung finden, die einem Anfänger helfen könnte, diese technische Aufgabe mit Leichtigkeit zu bewältigen. Nach langem Brainstorming und Durcharbeiten vieler Artikel habe ich endlich eine einfache Lösung gefunden, um nicht sichere Fehler auf HTTPS-Seiten zu beheben.
Anleitung zum Aktualisieren von Bildern auf HTTPS in WordPress
Ich werde diese Anleitung einfach und direkt halten, damit Neulinge nicht wie ich verwirrt werden.
Wir verwenden „Bessere Suche ersetzen“-Plugin für WordPress, das die besten Funktionen ähnlicher Plugins enthält. Sie können diese gesamte Aufgabe ausführen, ohne sich bei phpMyAdmin anzumelden, um SQL-Abfragen auszuführen, die Ihre Site durcheinander bringen könnten, falls etwas schief geht.
Bevor Sie fortfahren, beachten Sie, dass dieses Tutorial für WordPress-Benutzer gilt, die a . eingestellt haben 301-Weiterleitung und verwenden auf ihrer Website oder ihrem Blog nur das HTTPS-Protokoll. Obwohl dies in den meisten Szenarien funktionieren würde, müssen auch andere Faktoren berücksichtigt werden, wenn das Problem weiterhin besteht.
1. Ändern Sie die WordPress-Home- und Site-URL in HTTPS
Gehen Sie zu Ihrem WordPress-Dashboard > Einstellungen > Allgemein. Ändern Sie jetzt die WordPress-Adresse und die Site-Adress-URL in HTTPS anstelle von HTTP. (Siehe Bild)
Dadurch übernimmt WordPress selbst die Weiterleitung. Darüber hinaus werden alle internen Links innerhalb der WordPress-App und der Website auf ihre HTTPS-Äquivalente gesetzt. Dies würde bedeuten, dass jedes Bit der Website verschlüsselter Inhalt ist und zu diesem führt. Zur Sicherheit können Sie die folgende Regel zu Ihrer .htaccess-Datei hinzufügen.
RewriteEngine an
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteRule ^(.*)$ //%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Diese 301-Weiterleitung stellt sicher, dass jede HTTP-Anfrage an HTTPS umgeleitet wird.
2. Ändern Sie Media Assets (Bilder, interne Links) von HTTP auf HTTPS
Kommen wir zum Hauptschritt. Sie müssen nun alle alten HTTP-URLs in der WordPress-Datenbank durch HTTPS ersetzen. Dies bedeutet, dass alle Bilddatei-Links und internen Links, die manuell (in Beiträgen oder Seiten) hinzugefügt wurden, auf HTTPS aktualisiert werden, um Warnungen zu unsicheren Bildern zu verhindern und den Fehler durch gemischte Inhalte zu beheben. Externe Links, die auf andere Websites auf HTTPS verweisen, müssen jedoch nicht aktualisiert werden.
WARNUNG: Stellen Sie sicher, dass Sie zuerst Ihre Datenbank sichern.Ersetzen Sie HTTP durch HTTPS durch das bessere Suchersetzungs-Plugin
Um fortzufahren, installiere das WordPress-Plugin „Better Search Replace“ und aktiviere es.
Gehen Sie nun zur Plugin-Seite im Abschnitt Tools. Geben Sie im Feld „Suchen nach“ die HTTP-Version Ihrer Website-URL und die HTTPS-Version in das Feld „Ersetzen durch“ ein. Scrollen Sie unter Tabellen auswählen nach unten und wählen Sie "wp_posts”-Tabelle, die Bild-URLs und URLs enthält, die in Beiträge und Seiten eingebettet sind. Deaktivieren Sie dann das Häkchen bei "Als Probelauf ausführen?" Option und klicken Sie auf die Schaltfläche Suchen/Ersetzen ausführen.
Warten Sie, bis die Verarbeitung erfolgt. Sie können später Details wie die Anzahl der gefundenen Änderungen und aktualisierten Zeilen für die jeweilige Tabelle anzeigen.
HINWEIS: Wenn während der Verarbeitung ein Fehler auftritt, gehen Sie zur Registerkarte Einstellungen und versuchen Sie, den Wert für "Max. Seitengröße" auf einen Wert zwischen 8000 und 10000 zu verringern.
Das ist es! Die HTTP-Version der eingebetteten Links und Bild-URLs Ihrer Website sollte jetzt mit der HTTPS-Version aktualisiert werden.
Zur Bestätigung einfach einen Blogbeitrag öffnen und die Bildadresse innerhalb eines Beitrags kopieren oder die Seitenquelle anzeigen. Die Bild-URLs sollten jetzt die HTTPS-Version anzeigen und Sie sollten nun neben der Adressleiste ein sicheres Vorhängeschloss sehen.
Bonus-Tipp: Nachdem Sie HTTP erfolgreich durch HTTPS ersetzt haben, können Sie das Plugin entfernen.
Finden Sie heraus, warum die HTTPS-Site kein grünes Vorhängeschloss anzeigt
Beachten Sie, dass einige Seiten mit defekten oder nicht verfügbaren Links, z. B. von abgelaufenem CDN, dennoch zu gemischten Inhalten führen können. Sie können die unsicheren Elemente auf solchen Seiten identifizieren, indem Sie die Funktion "Element prüfen" in Chrome verwenden oder einfach whynopadlock.com verwenden, um unsichere Elemente auf Ihren SSL-aktivierten Seiten leicht zu finden.
Referenz: Lesen Sie diesen ausführlichen Artikel von Michael Bely
Tags: BloggingTutorialsWordPress