Anleitung

Mixed Content Warnungen in WordPress beheben

8. Februar 2026

Mixed Content Warnungen sind eines der haufigsten Probleme, auf die WordPress-Betreiber nach dem Wechsel von HTTP auf HTTPS stoßen. Sie treten auf, wenn deine Seite uber eine sichere HTTPS-Verbindung geladen wird, aber einige Ressourcen (Bilder, Skripte, Stylesheets, iFrames) weiterhin uber unverschlusseltes HTTP angefordert werden. Browser stufen das als Sicherheitsrisiko ein, und zwar zu Recht. Die gute Nachricht: Mixed Content lasst sich leicht beheben, wenn man versteht, woher die Probleme kommen.

Wie Mixed Content Warnungen im Browser aussehen

Wenn eine Seite Mixed Content enthalt, reagieren Browser unterschiedlich, je nach Ressourcentyp. Bei "aktivem" Mixed Content (Skripte, iFrames, Stylesheets) blockieren die meisten Browser die Ressource komplett und zeigen eine Warnung in der Entwicklerkonsole an. Bei "passivem" Mixed Content (Bilder, Audio, Video) wird die Ressource moglicherweise noch geladen, aber das Schloss-Symbol in der Adressleiste verschwindet oder zeigt ein Warndreieck.

In Chrome siehst du Meldungen wie "Mixed Content: The page at 'https://example.com' was loaded over HTTPS, but requested an insecure resource" in der Konsole. Firefox zeigt ein graues Schloss mit Warndreieck. Safari blockiert einige Ressourcen stillschweigend ohne offensichtliches visuelles Feedback, was die Fehlersuche schwieriger macht.

Das praktische Ergebnis: Deine Seite wirkt fur Besucher fehlerhaft. Bilder werden nicht geladen, Styles fehlen, und Skripte funktionieren nicht. Schlimmer noch, Google betrachtet HTTPS als Ranking-Signal, daher konnen Mixed Content Probleme indirekt dein SEO beeintrachtigen.

Alle Mixed Content Quellen auf deiner Seite finden

Bevor du etwas beheben kannst, brauchst du eine vollstandige Liste der HTTP-Ressourcen, die geladen werden. Es gibt mehrere zuverlassige Methoden:

  • InspectWP-Scan: Fuhre einen Scan deiner Seite durch. Der HTML-Bereich listet alle unsicheren URLs auf, die auf der Seite gefunden wurden.
  • Browser-Entwicklerkonsole: Offne die Entwicklertools deines Browsers (F12 oder Cmd+Shift+I auf Mac), gehe zum Tab "Konsole" und lade die Seite neu. Jede Mixed Content Warnung erscheint hier mit der genauen URL der betroffenen Ressource.
  • Why No Padlock Tool: Besuche whynopadlock.com und gib deine URL ein. Das Tool crawlt die Seite und meldet alle unsicheren Ressourcen in einer ubersichtlichen Liste.
  • SSL Labs Test: Obwohl hauptsachlich zur Uberprufung deines SSL-Zertifikats gedacht, kann der Qualys SSL Labs Test auch Mixed Content Probleme aufzeigen.

Bei Seiten mit vielen Unterseiten solltest du nicht nur die Startseite prufen. Teste wichtige Landing Pages, Blogbeitrage (besonders altere) und alle Seiten mit eingebetteten Medien oder Drittanbieter-Inhalten.

Haufige Ursachen fur Mixed Content in WordPress

Mixed Content kommt selten aus einer einzigen Quelle. Hier sind die haufigsten Verursacher:

  • Fest codierte HTTP-URLs in Beitragsinhalten: Wenn du Beitrage und Seiten vor dem HTTPS-Wechsel erstellt hast, verwenden alle Bild-URLs, Links und eingebetteten Medien im Content-Editor noch http://. WordPress speichert diese als absolute URLs in der Datenbank.
  • Theme-Dateien mit fest codierten URLs: Manche Themes codieren Bildpfade oder externe Ressourcen-URLs mit http:// statt WordPress-Funktionen zu verwenden.
  • Plugin-Assets: Altere oder schlecht gepflegte Plugins laden ihre CSS- und JavaScript-Dateien moglicherweise uber HTTP-URLs.
  • Externe Einbettungen und iFrames: Google Maps Einbettungen, YouTube-Videos (altere Embed-Codes), Social-Media-Widgets und Werbe-Skripte verwenden manchmal HTTP.
  • Benutzerdefiniertes CSS oder Widget-Inhalte: Hintergrundbilder, Schrift-Imports oder andere Ressourcen in benutzerdefinierten CSS-Feldern oder Text-Widgets.
  • CDN-Konfiguration: Wenn du ein CDN nutzt, konnte es so konfiguriert sein, dass Assets uber HTTP statt HTTPS ausgeliefert werden.

Schritt 1: WordPress- und Website-URLs aktualisieren

Stelle zunachst sicher, dass deine WordPress-URLs korrekt sind. Gehe zu Einstellungen, dann Allgemein, und uberprufe, dass sowohl die WordPress-Adresse als auch die Website-Adresse mit https:// beginnen. Wenn dort noch http:// steht, aktualisiere die Einstellungen und speichere. Damit generiert WordPress alle internen Links mit HTTPS.

Schritt 2: HTTP-URLs in der Datenbank suchen und ersetzen

Die effektivste Losung fur den Großteil der Mixed Content Probleme ist ein datenbankweites Suchen und Ersetzen. Das erfasst fest codierte URLs in Beitragen, Seiten, Widget-Texten, benutzerdefinierten Feldern, Theme-Optionen und serialisierten Daten.

Mit WP-CLI (die empfohlene Methode fur alle, die mit der Kommandozeile vertraut sind):

# Immer zuerst einen Testlauf durchfuhren
wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run

# Ausgabe sorgfaltig prufen, dann wirklich ausfuhren
wp search-replace 'http://example.com' 'https://example.com' --all-tables

# Falls deine Seite auch die www-Subdomain nutzt, beide Varianten ausfuhren
wp search-replace 'http://www.example.com' 'https://www.example.com' --all-tables

WP-CLI behandelt serialisierte Daten korrekt, was entscheidend ist. Viele Plugins speichern Einstellungen als serialisierte Arrays in der Datenbank, und ein einfaches SQL-Suchen-und-Ersetzen wurde das Serialisierungsformat beschadigen.

Mixed Content mit dem Better Search Replace Plugin beheben

Wenn du keinen Kommandozeilenzugang hast, bietet das Plugin Better Search Replace eine benutzerfreundliche Alternative:

  1. Installiere und aktiviere Better Search Replace aus dem WordPress-Plugin-Verzeichnis.
  2. Gehe zu Werkzeuge, dann Better Search Replace.
  3. Gib im Feld "Suchen nach" http://example.com ein (deine tatsachliche Domain).
  4. Gib im Feld "Ersetzen durch" https://example.com ein.
  5. Wahle alle Tabellen in der Tabellenliste aus (Strg+A oder Cmd+A).
  6. Aktiviere zuerst "Als Testlauf ausfuhren" und klicke dann auf "Suchen/Ersetzen starten".
  7. Uberprufe die Ergebnisse. Wenn die Ersetzungen korrekt aussehen, deaktiviere den Testlauf und fuhre es erneut aus.

Leere nach dem Ersetzen den Cache aller Caching-Plugins und prufe deine Seite erneut.

Really Simple SSL als Schnelllosung verwenden

Das Plugin Really Simple SSL verfolgt einen anderen Ansatz. Statt URLs in der Datenbank zu korrigieren, schreibt es HTTP-URLs dynamisch zu HTTPS um, und zwar mittels Output Buffering und WordPress-Filtern. Installiere es, aktiviere es, und es erledigt den Rest automatisch.

Das funktioniert gut als sofortige Losung, fuhrt aber zu einem kleinen Performance-Overhead bei jedem Seitenaufruf. Fur die beste Performance ist es besser, die URLs direkt in der Datenbank zu korrigieren und das Plugin danach zu deaktivieren. Betrachte Really Simple SSL als Sicherheitsnetz, nicht als dauerhafte Losung.

Theme- und Plugin-Dateien manuell korrigieren

Mancher Mixed Content stammt aus fest codierten URLs in Theme- oder Plugin-Dateien statt aus der Datenbank. Durchsuche dein aktives Theme-Verzeichnis nach http://-Referenzen:

# Nach fest codierten HTTP-URLs im Theme suchen
grep -r "http://" /pfad/zu/wp-content/themes/dein-theme/ --include="*.php" --include="*.css" --include="*.js"

Ersetze alle fest codierten HTTP-URLs durch HTTPS, oder noch besser, verwende protokollrelative URLs (//example.com/resource.js) oder WordPress-Funktionen wie esc_url(), die die Protokolleinstellung der Seite berucksichtigen.

Bei Drittanbieter-Plugins solltest du Plugin-Dateien nicht direkt bearbeiten (Updates wurden deine Anderungen uberschreiben). Kontaktiere stattdessen den Plugin-Autor oder suche nach einer neueren Version mit HTTPS-Unterstutzung. Wenn ein Plugin konsequent Assets uber HTTP ladt, erwage den Wechsel zu einer besser gepflegten Alternative.

HTTP-zu-HTTPS-Weiterleitung einrichten

Nachdem du allen Mixed Content in Datenbank und Dateien behoben hast, richte eine serverseitige Weiterleitung ein, damit alle verbleibenden HTTP-Anfragen automatisch auf HTTPS umgeleitet werden:

# In .htaccess einfugen (Apache)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Fur Nginx-Server fuge dies in deinen Server-Block ein:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

HTTPS in wp-config.php erzwingen

Wenn deine Seite hinter einem Reverse Proxy oder Load Balancer betrieben wird, erkennt WordPress HTTPS moglicherweise nicht korrekt. Fuge Folgendes in deine wp-config.php ein:

define('FORCE_SSL_ADMIN', true);

// Falls hinter einem Reverse Proxy oder Load Balancer
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Korrekturen uberprufen und zukunftigen Mixed Content verhindern

Fuhre nach allen Anderungen einen neuen InspectWP-Scan durch. Die Liste unsicherer URLs im HTML-Bereich sollte leer sein. Offne außerdem die Entwicklerkonsole deines Browsers und bestatige, dass keine Mixed Content Warnungen mehr erscheinen.

Um zu verhindern, dass Mixed Content zuruck kommt:

  • Content-Security-Policy Header setzen: Das Hinzufugen von Content-Security-Policy: upgrade-insecure-requests als Response-Header weist Browser an, HTTP-Anfragen automatisch auf HTTPS zu upgraden. Ein gutes Sicherheitsnetz.
  • Relative oder HTTPS-URLs verwenden: Wenn du Bilder oder Ressourcen manuell einbettest, verwende immer https:// oder protokollrelative URLs.
  • Drittanbieter-Einbettungen prufen: Bevor du Embed-Codes von externen Diensten einfugst, stelle sicher, dass sie HTTPS verwenden.
  • Regelmaßig uberprufen: Richte automatische InspectWP-Berichte ein, um Mixed Content zu erkennen, der nach Inhaltsaktualisierungen oder Plugin-Anderungen auftritt.

Prüfe jetzt deine WordPress-Seite

InspectWP analysiert deine WordPress-Seite auf Sicherheitslücken, SEO-Probleme, DSGVO-Konformität und Performance — kostenlos.

Seite kostenlos analysieren