Zum Inhalt springen
checkfrei
Menü

Mixed Content beheben: gemischte Inhalte auf HTTPS-Seiten

Stand: 3. Oktober 2026 · CAZ Labs

Kurz gesagt

Gemischte Inhalte (Mixed Content) entstehen, wenn eine https-Seite Dateien über http nachlädt, etwa Bilder, Skripte oder Stylesheets. Skripte, Stylesheets und iframes blockiert der Browser, bei Bildern fehlt das Schloss oder sie werden ebenfalls blockiert. Die Lösung ist, alle eingebundenen Adressen auf https umzustellen, bei WordPress per Suchen und Ersetzen in der Datenbank.

Warum das wichtig ist

Der typische Fall: Die Seite wurde auf HTTPS umgestellt, aber in Beiträgen, im Theme oder in Widgets stehen noch alte Adressen mit http://. Die Seite selbst kommt verschlüsselt an, einzelne Dateien nicht. Ein Angreifer im selben Netz könnte genau diese Dateien austauschen, und mit einem Skript hätte er die Kontrolle über die ganze Seite.

Browser reagieren deshalb streng. Skripte, Stylesheets und iframes über http werden blockiert, ohne dass Besucher einen Hinweis sehen. Die Folge ist eine Seite ohne Layout, ein Menü, das nicht aufklappt, oder ein Formular, das nichts abschickt. Bilder, Videos und Audio versuchen aktuelle Browser automatisch über https zu laden und blockieren sie, wenn das nicht klappt. Ältere Browser zeigen sie an, nehmen dafür aber das Schloss aus der Adresszeile.

So prüfst du es selbst

Öffne die Seite, drück F12 und schau in die Konsole. Mixed Content steht dort mit genau diesem Begriff und der betroffenen Adresse. Geh dabei mehrere Seitentypen durch, zum Beispiel Startseite, einen Blogbeitrag und das Kontaktformular. Alte Adressen stecken oft nur in einzelnen Beiträgen.

Schnell geht auch eine Suche im Quelltext (Strg+U) nach src="http:// und href="http://. Normale Links auf fremde http-Seiten sind dabei kein Problem, es geht nur um Dateien, die deine Seite selbst lädt.

checkfrei sucht Skripte, Stylesheets, Bilder und iframes mit http://-Adresse auf deiner https-Seite. Skripte, Stylesheets und iframes werten wir als Fehler, Bilder und andere Medien als Warnung. Geprüft wird die Adresse, die du eingibst. Für wichtige Unterseiten lohnt es sich, den kostenlosen Check mehrmals laufen zu lassen.

So behebst du es

Mach vorher ein Backup, vor allem vor Änderungen in der Datenbank.

WordPress

Wichtig vorab: Ersetz nicht per SQL-Befehl direkt in der Datenbank. WordPress speichert viele Einstellungen serialisiert, und eine geänderte Textlänge macht diese Daten unlesbar. Better Search Replace und WP-CLI berücksichtigen das. Wer WP-CLI nutzt, erledigt Schritt 2 mit dem Befehl unter den Schritten, erst als Testlauf mit --dry-run, dann ohne.

  1. Unter Einstellungen > Allgemein prüfen, ob beide Adressen mit https:// beginnen.
  2. Das Plugin Better Search Replace installieren, nach http://example.de suchen und durch https://example.de ersetzen. Erst als Testlauf starten, dann alle Tabellen wirklich ändern.
  3. Den Cache im Caching-Plugin leeren. Page Builder wie Elementor speichern CSS in eigenen Dateien, die lässt du in deren Einstellungen neu erzeugen.
  4. In Theme-Dateien und im Child-Theme nach fest eingetragenen http-Adressen suchen. Die erreicht die Datenbank-Suche nicht.
bash
wp search-replace "http://example.de" "https://example.de" --all-tables --dry-run

Shopify, Wix und Jimdo

Die Plattformen liefern ihre eigenen Dateien über https aus. Mixed Content entsteht hier fast nur durch eigenen Code: eingefügte HTML-Blöcke, alte Einbettungscodes oder Bilder, die von einem fremden Server über http eingebunden sind. Such in diesen Bausteinen nach http:// und ersetz es.

HTML

Such in allen Dateien nach http:// in <script>-, <link>-, <img>- und <iframe>-Tags. Für eigene Dateien nimm relative Pfade wie /css/style.css, für fremde die https-Adresse. Bietet ein Dienst kein https an, hoste die Datei selbst oder such dir einen anderen Dienst.

Protokoll-relative Adressen wie //example.de/datei.js funktionieren, sind aber ein Überbleibsel aus der Zeit, als noch nicht jede Seite verschlüsselt war. Schreib einfach https://.

Apache (.htaccess)

Als Übergangslösung kannst du den Browser anweisen, alle http-Adressen deiner Seite automatisch über https anzufragen. Bei nginx lautet die Zeile add_header Content-Security-Policy "upgrade-insecure-requests" always;.

Das hilft nur, wenn die Dateien auch über https erreichbar sind, und es ersetzt das Aufräumen nicht. checkfrei findet die http-Adressen im Quelltext weiterhin.

apache
<IfModule mod_headers.c>
  Header always set Content-Security-Policy "upgrade-insecure-requests"
</IfModule>

So prüft checkfrei

Wir suchen Skripte, Stylesheets, Bilder und iframes mit http://-Adresse auf einer https-Seite. Skripte und Stylesheets sind ein Fehler, Bilder eine Warnung.

Gewicht 2 von 3 im Bereich Sicherheit.

Häufige Fragen

Warum fehlt das Schloss, obwohl ich ein SSL-Zertifikat habe?

Meistens wegen gemischter Inhalte: Die Seite selbst ist verschlüsselt, aber einzelne Bilder oder Dateien kommen über http. Die Browser-Konsole (F12) zeigt dir, welche.

Sind http-Links auf andere Websites auch Mixed Content?

Nein. Mixed Content betrifft nur Dateien, die deine Seite selbst lädt. Ein normaler Link auf eine http-Seite gefährdet deine Seite nicht, auch wenn es schöner ist, auf https zu verlinken.

Kann ein Plugin Mixed Content automatisch beheben?

Plugins wie Really Simple Security ersetzen http-Adressen beim Ausliefern der Seite. Das funktioniert, kostet aber bei jedem Aufruf Rechenzeit. Einmal sauber in der Datenbank ersetzen ist die bessere Lösung.

Jetzt deine Seite prüfen

checkfrei prüft Gemischte Inhalte und 68 weitere Punkte in einem Durchgang. Kostenlos und ohne Anmeldung.