Websites
HTTPS aktivieren: Mixed-Content-Warnungen beheben
When SSL is active but the browser padlock is missing, broken or showing a warning, the cause is almost always mixed content: the page itself is encrypted but something on it is still being fetched…
Behebung von Mixed-Content-Warnungen nach Aktivierung von HTTPS
Wenn SSL aktiv ist, aber das Browser-Schloss fehlt, beschädigt ist oder eine Warnung anzeigt, ist die Ursache fast immer Mixed Content: Die Seite selbst ist verschlüsselt, aber etwas darauf wird immer noch über einfaches HTTP abgerufen. Diese Anleitung erklärt, warum das passiert, wie man jede problematische Ressource findet und wie man es richtig behebt, anstatt es zu überkleben.
Was Mixed Content ist
Ein Browser behandelt eine Seite nur als sicher, wenn die Seite und alles, was sie lädt, über HTTPS angekommen sind. Wenn eine HTTPS-Seite ein Bild, Skript, Stylesheet, Schriftart oder iframe von einer http:// Adresse abruft, kennzeichnet der Browser dies.
Browser unterteilen dies in zwei Kategorien, die sich sehr unterschiedlich verhalten:
- Aktiver Mixed Content: Skripte, Stylesheets, iframes und XHR. Browser blockieren diese sofort. Layouts brechen zusammen, Schieberegler stoppen, Formulare werden nicht mehr übermittelt. Dies ist die destruktive Art.
- Passiver Mixed Content: Bilder, Audio und Video. Diese werden normalerweise immer noch geladen, aber das Schloss wird herabgestuft oder entfernt.
Eine Website kann daher völlig in Ordnung aussehen und trotzdem ihr Schloss verlieren, oder kaputt 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 über einen bestimmten Zeitraum auf HTTP lief, http:// Adressen, die gespeichert sind in:
- Post- und Seiteninhalte, einschließlich jedes Bildes, das über den Editor eingefügt wurde.
- Mediendatensätze.
- Designanpasser-Einstellungen und Design-Optionen.
- Widget-Inhalte und Block-Einstellungen.
- Plugin-Einstellungen, insbesondere Page Builder und Slider-Plugins.
- Die
siteurlundhomeOptionen.
Nichts davon aktualisiert sich selbst. SSL zu aktivieren und sich dann zu wundern, warum das Schloss kaputt 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 auf Websites in der linken Seitenleiste.
- Klicken Sie auf Ihre Website.
- Öffnen Sie Einstellungen.
- Unter Verhalten schalten Sie Force HTTPS ein.
- Klicken Sie auf Änderungen speichern.

Jede HTTP-Anfrage wird jetzt auf dem Server zu HTTPS umgeleitet, bevor Ihre Website ausgeführt wird.
Force HTTPS verarbeitet eingehende Anfragen. Es schreibt nicht die URLs um, die bereits in Ihrer Datenbank gespeichert sind. Daher wird es allein keine Mixed-Content-Warnung beheben, die durch ein hardcodiertes http:// Bild verursacht wird. Sie benötigen sowohl dies als auch Schritt 2.
Wenn SSL noch nicht aktiv ist oder das Zertifikat falsch aussieht, beginnen Sie mit SSL Certificates.
Schritt 2: Die gespeicherten URLs umschreiben
Dies ist die Lösung, die Mixed Content tatsächlich behebt.
- Öffnen Sie die Website, dann den WordPress Tab, dann den Quick Actions Bereich.
- Suchen Sie die Search & Replace Karte und klicken Sie auf Configure.
- Geben Sie in Find (old value)
http://yourdomain.co.nzein. - Geben Sie in Replace with
https://yourdomain.co.nzein. - Lassen Sie Dry run (preview only, no changes) aktiviert und klicken Sie auf Preview.
- Überprüfen Sie die Anzahl und die Aufschlüsselung pro Tabelle.
- Deaktivieren Sie Dry run, klicken Sie auf Run und bestätigen Sie.
Eine vollständige Sicherung wird vor dem Ersetzen automatisch durchgeführt, und alle Tabellen werden erfasst, einschließlich der von Plugins erstellten. Serialisierte Plugin- und Theme-Einstellungen werden korrekt verarbeitet.
Führen Sie dies nicht mit einer SQL-Abfrage in phpMyAdmin durch. WordPress speichert Plugin- und Theme-Einstellungen als serialisierte Strings, die die Länge jedes Wertes aufzeichnen. Eine einfache REPLACE() bricht diese und die Einstellungen werden stillschweigend auf leer zurückgesetzt. Es gibt keine Reparatur außer der Wiederherstellung aus einer Sicherung. Die vollständige Erklärung finden Sie unter Running a Search and Replace.
Wenn Ihr Plan die Konsole umfasst, ist der entsprechende Befehl:
search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run
Lassen Sie --dry-run weg, um es anzuwenden, und sichern Sie selbst zuerst: die Konsole tut es nicht.
Schritt 3: Alle Caches leeren
Eine gecachte Kopie einer Seite wird nach der Datenbankreparatur weiterhin alte HTTP-URLs bereitstellen, weshalb Menschen oft denken, dass das Ersetzen nicht funktioniert hat.
- WordPress, dann Quick Actions, dann Flush Cache.
- WordPress, dann Caching, dann Purge cache, wenn der vollständige Seiten-Cache eingeschaltet ist.
- Performance, dann Kapsule CDN, dann Purge, wenn das CDN eingeschaltet ist. Siehe Purging the CDN Cache.
- Alle Caching-Plugins aus ihren eigenen Einstellungsbildschirmen.
- Ihren eigenen Browser. Testen Sie in einem privaten Fenster, damit Sie nicht von Ihrem eigenen Cache getäuscht werden.
Schritt 4: Finden Sie, was übrig bleibt
Die meisten Websites sind nach Schritt 2 sauber. Wenn eine Warnung bestehen bleibt, finden Sie die genaue Ressource, anstatt zu raten.
Browser-Konsole. Öffnen Sie Developer Tools mit F12, gehen Sie zum Console Tab und laden Sie neu. Mixed Content erscheint als explizite Warnung, die die vollständige URL der problematischen Ressource benennt. Diese URL zeigt Ihnen, welches Plugin oder Theme verantwortlich ist.
Network Tab. Filtern Sie nach http://, um jede unsichere Anfrage aufzulisten, die die Seite gestellt hat.
Seitenquelle. Laden Sie die Seite, zeigen Sie die Quelle an und suchen Sie nach http://. Ignorieren Sie alles, das sich in xmlns Attributen und Schema-Deklarationen befindet: Das sind Bezeichner, keine Anfragen.
Häufige Überlebende und was man bei jedem tun sollte:
| Was Sie finden | Fix |
|---|---|
| Ein Bild oder Logo in einer Designanpasser-Einstellung | Laden Sie es erneut hoch oder wählen Sie es im Anpasser erneut aus |
Ein Page-Builder-Modul mit einer eingegebenen http:// Bild-URL | Bearbeiten Sie dieses Modul und korrigieren Sie die URL |
| Die eigene Einstellungstabelle eines Slider-Plugins | Speichern Sie den Slider erneut, oder führen Sie die Suche und Ersetzung mit --all-tables aus |
| Eine Schriftart oder ein Skript von einer Drittanbieter-Domain | Überprüfen Sie, ob der Anbieter HTTPS anbietet. Die meisten tun es jetzt. Wechseln Sie die URL |
| Ein Tracking-Pixel oder Embed von einem alten Anbieter | Wenn der Anbieter kein HTTPS hat, entfernen Sie es. Es ist eine unterbrochene Abhängigkeit, kein Kapsule Problem |
Hardcodiertes http:// in einer Theme-Vorlagendatei | Bearbeiten Sie die Vorlage, oder besser, verwenden Sie https oder eine protokollrelative Referenz |
Wenn genau eine Seite betroffen ist und der Rest der Website sauber ist, ist der Schuldige der Inhalt auf dieser Seite, keine website-weite Einstellung. Öffnen Sie sie im Editor und schauen Sie sich die eingebetteten Medien an.
Bestätigung, dass es repariert ist
- Laden Sie die Website in einem privaten Fenster.
- Das Schloss sollte solid sein, ohne Warndreieck und ohne durchgestrichene Anzeige.
- Klicken Sie auf das Schloss. Der Browser meldet die Verbindung als sicher ohne Mixed-Content-Hinweis.
- Öffnen Sie die Konsole und laden Sie einmal mehr. Null Mixed-Content-Warnungen.
- Überprüfen Sie eine tiefe Seite, nicht nur die Homepage: eine innere Seite, einen Blog-Beitrag mit Bildern und die Kasse in einem Shop.
Vermeidung, dass es zurückkommt
- Lassen Sie Force HTTPS eingeschaltet. Es ist eine einzeilige Einstellung, 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 allem, das nach einer URL fragt.
- Achten Sie auf eine zurückkehrende 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: Migrating a Website From cPanel.
Fehlerbehebung
Das Schloss ist für mich in Ordnung, für einen Kollegen kaputt. Gecachte Seite. Bitten Sie ihn, in einem privaten Fenster neu zu laden.
Die Website ist nach dem Ersetzen völlig kaputt. Stellen Sie die automatische Pre-Run-Sicherung wieder her: Restoring From a Backup.
Die Konsole zeigt eine Mixed-Content-Warnung auf einer Domain, die nicht meine ist. Eine Drittanbieter-Ressource. Sie können ihren Server nicht reparieren: Entweder unterstützen sie HTTPS und Sie wechseln die URL, oder Sie lassen die Ressource weg.
Alles ist HTTPS, aber die Website wird überhaupt nicht geladen. Das ist kein Mixed Content. Beginnen Sie mit Website Not Loading und überprüfen Sie das Zertifikat unter SSL Certificates.
Wenn Sie das alles durchgearbeitet haben und die Warnung bleibt bestehen, senden Sie eine E-Mail an support@kapsulehost.com mit der betroffenen URL und dem genauen Text der Browser-Konsolenwarnung.