Was gemischter Inhalt ist
Ein Browser behandelt eine Seite nur dann als sicher, wenn die Seite und alles, was sie lädt, über HTTPS angekommen ist. Wenn eine HTTPS-Seite ein Bild, Skript, Stylesheet, Schriftart oder iframe von einer http:// Adresse lädt, kennzeichnet der Browser das.
Browser unterteilen dies in zwei Kategorien, die sich sehr unterschiedlich verhalten:
- Aktiver gemischter Inhalt: Skripte, Stylesheets, iframes und XHR. Browser blockieren diese sofort. Layouts brechen zusammen, Schieberegler funktionieren nicht, Formulare werden nicht übermittelt. Dies ist die zerstörerische Art.
- Passiver gemischter Inhalt: Bilder, Audio und Video. Diese werden normalerweise trotzdem geladen, aber das Schloss wird herabgestuft oder entfernt.
Eine Website kann daher völlig in Ordnung aussehen und trotzdem sein Schloss verlieren, oder beschädigt aussehen ohne offensichtlichen Fehler auf der Seite selbst.
Warum es nach der Aktivierung von SSL passiert
Das Einschalten von SSL ändert, wie Ihre Website bereitgestellt wird. Es ändert nicht, was darin gespeichert ist.
WordPress schreibt absolute URLs in die Datenbank, daher hat eine Website, die für längere Zeit auf HTTP lief, http:// Adressen gespeichert in:
- Post- und Seiteninhalte, einschließlich jedes Bildes, das über den Editor eingefügt wurde.
- Mediendatei-Datensätze.
- Einstellungen des Theme-Customizers und Theme-Optionen.
- Widget-Inhalte und Block-Einstellungen.
- Plugin-Einstellungen, besonders Page Builder und Slider-Plugins.
- Die
siteurlundhomeOptionen.
Keins davon aktualisiert sich selbst. SSL zu aktivieren und sich dann zu fragen, warum das Schloss beschädigt ist, ist eine der häufigsten Support-Fragen, und das ist der Grund dafür.
Schritt 1: HTTPS auf dem Server erzwingen
Bevor Sie die Datenbank anfassen, stellen Sie sicher, dass jeder Besucher zunächst auf HTTPS landet.
- Melden Sie sich bei KPanel an und klicken Sie in der linken Seitenleiste auf Websites.
- Klicken Sie auf Ihre Website.
- Öffnen Sie Einstellungen.
- Unter Verhalten aktivieren Sie HTTPS erzwingen.
- Klicken Sie auf Änderungen speichern.

Jede HTTP-Anfrage wird jetzt auf dem Server zu HTTPS weitergeleitet, bevor Ihre Website ausgeführt wird.
HTTPS erzwingen behandelt eingehende Anfragen. Es schreibt keine bereits in Ihrer Datenbank gespeicherten URLs um, daher werden damit allein keine Warnungen für gemischte Inhalte behoben, die durch ein hartcodiertes http:// Bild verursacht werden. Sie benötigen sowohl diesen als auch Schritt 2.
Wenn SSL noch nicht aktiv ist oder das Zertifikat falsch aussieht, beginnen Sie mit SSL-Zertifikate.
Schritt 2: Die gespeicherten URLs umschreiben
Dies ist die Lösung, die gemischte Inhalte tatsächlich behebt.
- Öffnen Sie die Website, dann den Tab WordPress, dann den Abschnitt Schnellaktionen.
- Suchen Sie die Karte Suchen & Ersetzen und klicken Sie auf Konfigurieren.
- Geben Sie in Suchen (alter Wert)
http://yourdomain.co.nzein. - Geben Sie in Ersetzen durch
https://yourdomain.co.nzein. - Lassen Sie Dry Run (nur Vorschau, keine Änderungen) aktiviert und klicken Sie auf Vorschau.
- Überprüfen Sie die Anzahl und die Aufschlüsselung nach Tabelle.
- Deaktivieren Sie Dry Run, klicken Sie auf Ausführen und bestätigen Sie.
Vor dem Ersetzen wird automatisch eine vollständige Sicherung erstellt, und alle Tabellen werden abgedeckt, einschließlich derjenigen, die von Plugins erstellt wurden. Serialisierte Plugin-Einstellungen werden korrekt verarbeitet.
Tun Sie das nicht mit einer SQL-Abfrage in phpMyAdmin. WordPress speichert Plugin- und Theme-Einstellungen als serialisierte Strings, die die Länge jedes Werts aufzeichnen, daher bricht ein rohes REPLACE() sie und die Einstellungen werden stillschweigend auf leer zurückgesetzt. Es gibt keine Reparatur außer dem Wiederherstellen einer Sicherung. Die vollständige Erklärung finden Sie in Ausführung einer Suche und Ersetzung.
Wenn Ihr Plan die Konsole enthält, ist der entsprechende Befehl:
search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run
Lassen Sie --dry-run aus, um dies anzuwenden, und machen Sie selbst eine Sicherung: die Konsole macht das nicht.
Schritt 3: Jeden Cache leeren
Eine zwischengespeicherte Kopie einer Seite wird weiterhin die alten HTTP-URLs lange Zeit nach der Datenbankreparatur bereitstellen, weshalb Menschen oft denken, dass das Ersetzen nicht funktioniert hat.
- WordPress, dann Schnellaktionen, dann Cache leeren.
- WordPress, dann Caching, dann Cache leeren, wenn der vollständige Seiten-Cache aktiviert ist.
- Leistung, dann Kapsule CDN, dann Leeren, wenn das CDN aktiviert ist. Siehe CDN-Cache leeren.
- Jedes Caching-Plugin von seinem eigenen Einstellungsbildschirm.
- Ihr eigener Browser. Testen Sie in einem privaten Fenster, damit Sie nicht von Ihrem eigenen Cache getäuscht werden.
Schritt 4: Finden Sie, was übrig ist
Die meisten Websites sind nach Schritt 2 sauber. Wenn eine Warnung bestehen bleibt, finden Sie die genaue Ressource, anstatt zu erraten.
Browser-Konsole. Öffnen Sie Entwicklertools mit F12, gehen Sie zur Registerkarte Konsole und laden Sie neu. Gemischter Inhalt erscheint als explizite Warnung, die die vollständige URL der offensiven Ressource benennt. Diese URL zeigt Ihnen, welches Plugin oder Theme verantwortlich ist.
Registerkarte Netzwerk. Filtern Sie nach http://, um alle unsicheren Anfragen aufzulisten, die die Seite gestellt hat.
Seitenquelle. Laden Sie die Seite, zeigen Sie die Quelle an und suchen Sie nach http://. Ignorieren Sie alles in xmlns Attributen und Schema-Deklarationen: Das sind Identifikatoren, keine Anfragen.
Häufig überlebende und was zu jedem zu tun ist:
| Was Sie finden | Behebung |
|---|---|
| Ein Bild oder Logo in einer Theme-Customizer-Einstellung | Laden Sie es erneut hoch oder wählen Sie es im Customizer erneut aus |
Ein Page-Builder-Modul mit einer eingegeben http:// Bild-URL | Bearbeiten Sie dieses Modul und korrigieren Sie die URL |
| Einstellungstabelle eines Slider-Plugins | Speichern Sie den Slider erneut, oder führen Sie die Suche und Ersetzung mit --all-tables aus |
| Schriftart oder Skript von einer Drittanbieter-Domain | Überprüfen Sie, ob der Anbieter HTTPS anbietet. Die meisten tun dies jetzt. Wechseln Sie die URL |
| Tracking-Pixel oder Einbettung von einem alten Anbieter | Wenn der Anbieter kein HTTPS hat, entfernen Sie es. Es ist eine fehlende Abhängigkeit, kein KapsuleHost-Problem |
Hartcodiertes http:// in einer Theme-Template-Datei | Bearbeiten Sie die Vorlage, oder besser, verwenden Sie https oder eine Protokoll-relative Referenz |
Wenn genau eine Seite betroffen ist und der Rest der Website sauber ist, ist der Schuldige der Inhalt auf dieser Seite, nicht eine siteweite Einstellung. Öffnen Sie sie im Editor und sehen Sie sich die Medien an, die sie einbettet.
Bestätigung, dass es repariert ist
- Laden Sie die Website in einem privaten Fenster.
- Das Schloss sollte solide sein, ohne Warndreieck und ohne durchgestrichene Anzeige.
- Klicken Sie auf das Schloss. Der Browser meldet die Verbindung als sicher ohne Warnung zu gemischtem Inhalt.
- Öffnen Sie die Konsole und laden Sie noch einmal neu. Null Warnungen für gemischte Inhalte.
- Überprüfen Sie eine tiefe Seite, nicht nur die Startseite: eine innere Seite, einen Blog-Post mit Bildern und den Checkout in einem Store.
Verhinderung, dass es zurückkommt
- Lassen Sie HTTPS erzwingen aktiviert. Es ist eine Einstellung in einer Zeile, die eine ganze Klasse von Problemen beseitigt.
- Geben Sie niemals eine vollständige
http://URL in Inhalte ein. Verwenden Sie die Medienbibliothek, die jetzt HTTPS-Adressen speichert. - Überprüfen Sie Plugin-Einstellungen nach der Installation von Plugins, die nach einer URL fragen.
- Achten Sie auf eine wiederkehrende Warnung nach einem Plugin-Update. Einige Plugins setzen ihre eigenen gespeicherten URLs zurück.
- Führen Sie die Suche und Ersetzung nach jeder Migration erneut aus, da eine importierte Datenbank die URLs des alten Hosts mit sich bringt: Website von cPanel migrieren.
Fehlerbehebung
Das Schloss ist für mich in Ordnung, für einen Kollegen kaputt. Zwischengespeicherte Seite. Lassen Sie ihn in einem privaten Fenster neuladen.
Die Website ist nach dem Ersetzen völlig zusammengebrochen. Stellen Sie die automatische Sicherung vor der Ausführung wieder her: Aus einer Sicherung wiederherstellen.
Die Konsole zeigt eine Warnung für gemischte Inhalte auf einer Domain, die mir nicht gehört. Eine Drittanbieter-Ressource. Sie können ihren Server nicht reparieren: Entweder unterstützen sie HTTPS und Sie wechseln die URL, oder Sie entfernen die Ressource.
Alles ist HTTPS, aber die Website wird überhaupt nicht geladen. Das ist kein gemischter Inhalt. Beginnen Sie mit Website lädt nicht und überprüfen Sie das Zertifikat auf SSL-Zertifikate.
Wenn Sie all dies durchgearbeitet haben und die Warnung weiterhin besteht, senden Sie eine E-Mail an support@kapsulehost.com mit der betroffenen URL und dem genauen Text der Browser-Konsolenwarnung.