Ein fehlendes Schloss auf einer Website mit gültigem Zertifikat bedeutet gemischte Inhalte: Die Seite kam über https, etwas darin nicht. Der Browser blockiert oder stuft herab, und das Schloss verschwindet.
An einer Stelle finden
Die Konsole nennt die genaue URL. Zu raten, welches Bild es ist, kostet weit mehr Zeit, als sie zu öffnen.
// browser console
Mixed Content: The page at 'https://...' was loaded over HTTPS,
but requested an insecure resource 'http://...'.
Woher es meistens kommt
- Absolute http://-URLs in der Datenbank - geschrieben, als die Website noch http war, und nie aktualisiert.
- Eine fest eingetragene Skript- oder Schrift-URL im Theme.
- Eine Einbettung - eine Karte, ein Video, ein Widget -, deren Anbieter noch auf http läuft.
Die Datenbank in Ordnung bringen
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --precise
Den Rest abfangen
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Das weist den Browser an, http-Unterressourcen stattdessen über https zu holen. Es ist ein Netz für das, was Sie nicht in der Hand haben, kein Ersatz dafür, die eigenen URLs zu korrigieren - hat die Gegenseite kein https, scheitert die Ressource.
Protokollrelativ bevorzugen? Nein
//example.com/x.js war die alte Antwort und gilt heute als schlechter Stil: Auf einer lokal über file:// geöffneten Seite bricht es, und es verbirgt, welches Protokoll gemeint ist. Schreiben Sie https:// ausdrücklich.