Was ist Mixed Content und warum zeigt mein Browser eine Warnung?

Was ist Mixed Content und warum zeigt mein Browser eine Warnung?

Von Mixed Content spricht man, wenn eine über HTTPS aufgerufene Webseite zusätzlich Ressourcen über das unverschlüsselte HTTP nachlädt — etwa Bilder, Skripte, Stylesheets oder Schriftarten. Der Browser warnt, weil die Sicherheit der HTTPS-Verbindung damit teilweise oder vollständig ausgehebelt wird.

Browser unterscheiden zwei Arten von Mixed Content, die sie unterschiedlich streng behandeln:

Typ Was wird nachgeladen Verhalten moderner Browser
Active Mixed Content JavaScript, CSS, iframes, Web Worker, XHR/Fetch, WebSocket komplett blockiert — die Ressourcen werden gar nicht geladen
Passive Mixed Content Bilder, Audio, Video seit 2020 (Chrome 81+) automatisch auf HTTPS aufgerüstet, bei Fehler blockiert

Warum die Unterscheidung: Aktive Inhalte können die Seite manipulieren — eingeschleustes JavaScript könnte Tastatureingaben mitlesen, Inhalte fälschen oder den Nutzer auf Phishing-Seiten umleiten. Passive Inhalte können Inhalte nur darstellen, ein Angreifer könnte sie aber gegen anderes Material austauschen, ohne dass der Nutzer es merkt.

Typische Ursachen für Mixed Content nach einer SSL-Umstellung

  • Hartkodierte HTTP-URLs in Theme-Dateien, Templates oder im CMS-Content (häufig bei WordPress, Joomla, Typo3).
  • Externe Ressourcen wie Schriftarten, Tracking-Skripte oder Werbe-Tags, die noch über HTTP eingebunden sind.
  • Eingebettete Medien — alte Video-Embed-Codes mit http://-URLs.
  • Datenbank-Inhalte mit absoluten http://-URLs in Bildpfaden, Verlinkungen oder Custom Fields.
  • Hotlinks von Drittseiten, die selbst kein HTTPS anbieten.

So finden Sie Mixed Content auf Ihrer Seite

  1. Browser-Konsole öffnen (F12 → Konsole) und die Seite neu laden. Mixed-Content-Meldungen erscheinen mit der Quell-URL der betroffenen Ressource.
  2. Externe Prüf-Tools wie unser SSL-Check prüfen automatisch alle eingebundenen Ressourcen.
  3. Content Security Policy (CSP) mit dem Header Content-Security-Policy: upgrade-insecure-requests protokollieren — alle Verstöße werden im Reporting sichtbar.

So beheben Sie Mixed Content nachhaltig

  • Alle Verlinkungen auf https:// umstellen — bei WordPress per Suchen-Ersetzen-Plugin, bei Typo3 oder Joomla über Datenbank-Skripte.
  • Relative oder protokoll-relative URLs verwenden: /bild.jpg statt http://meine-domain.de/bild.jpg.
  • Header Content-Security-Policy: upgrade-insecure-requests setzen — der Browser ersetzt HTTP-Ressourcen automatisch durch HTTPS, falls verfügbar.
  • Externe Dienste prüfen: Alle eingebundenen CDNs, Tracking-Tools und Embed-Codes auf HTTPS-Unterstützung umstellen. Anbieter ohne HTTPS sollten ersetzt werden.
  • HSTS-Header (Strict-Transport-Security) zusätzlich aktivieren — Browser merken sich dann, dass Ihre Domain ausschließlich über HTTPS läuft.

Was passiert, wenn Mixed Content nicht behoben wird?

  • Funktionsverlust: Blockierte Skripte und Stylesheets brechen Layouts, Tracking, Formulare oder Login-Funktionen.
  • Sichtbare Browser-Warnung: Statt des Schloss-Symbols zeigt Chrome ein durchgestrichenes Schloss oder ein Warn-Dreieck. Konversionsraten sinken messbar.
  • SEO-Nachteil: Suchmaschinen werten die Seite als nicht vollständig sicher.
  • Compliance-Risiko: Bei Formularen mit personenbezogenen Daten kann unverschlüsselt nachgeladenes JavaScript zu DSGVO-Verstößen führen, wenn Daten am Browser abgegriffen werden.

Mixed Content ist nach einer SSL-Umstellung der mit Abstand häufigste Stolperstein. Mit einem konsequenten Suchen-Ersetzen-Lauf in der Datenbank, dem CSP-Header upgrade-insecure-requests und einer abschließenden Prüfung des Zertifikats ist das Thema in der Regel innerhalb einer Stunde abgeräumt.

Fehler & Troubleshooting

Weitere Fragen und Antworten »