# Behebung von Mixed-Content-Warnungen nach Aktivierung von HTTPS

Source: https://support.kapsulehost.com/de-de/ssl-mixed-content

## Was gemischter Inhalt ist

Ein Browser behandelt eine Seite nur dann als sicher, wenn die Seite und alles, was sie lädt, über HTTPS angekommen ist. Wenn eine HTTPS-Seite ein Bild, Skript, Stylesheet, Schriftart oder iframe von einer `http://` Adresse lädt, kennzeichnet der Browser das.

Browser unterteilen dies in zwei Kategorien, die sich sehr unterschiedlich verhalten:

- **Aktiver gemischter Inhalt**: Skripte, Stylesheets, iframes und XHR. Browser blockieren diese sofort. Layouts brechen zusammen, Schieberegler funktionieren nicht, Formulare werden nicht übermittelt. Dies ist die zerstörerische Art.
- **Passiver gemischter Inhalt**: Bilder, Audio und Video. Diese werden normalerweise trotzdem geladen, aber das Schloss wird herabgestuft oder entfernt.

Eine Website kann daher völlig in Ordnung aussehen und trotzdem sein Schloss verlieren, oder beschädigt 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 für längere Zeit auf HTTP lief, `http://` Adressen gespeichert in:

- Post- und Seiteninhalte, einschließlich jedes Bildes, das über den Editor eingefügt wurde.
- Mediendatei-Datensätze.
- Einstellungen des Theme-Customizers und Theme-Optionen.
- Widget-Inhalte und Block-Einstellungen.
- Plugin-Einstellungen, besonders Page Builder und Slider-Plugins.
- Die `siteurl` und `home` Optionen.

Keins davon aktualisiert sich selbst. SSL zu aktivieren und sich dann zu fragen, warum das Schloss beschädigt 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.

1. Melden Sie sich bei [KPanel](https://kpanel.kapsulehost.com) an und klicken Sie in der linken Seitenleiste auf **Websites**.
2. Klicken Sie auf Ihre Website.
3. Öffnen Sie **Einstellungen**.
4. Unter **Verhalten** aktivieren Sie **HTTPS erzwingen**.
5. Klicken Sie auf **Änderungen speichern**.

![Die Einstellung HTTPS erzwingen unter Verhalten auf der Einstellungsseite für eine Website in KPanel](https://support.kapsulehost.com/help/screenshots/ssl-mixed-content.6758a2bb.webp)

Jede HTTP-Anfrage wird jetzt auf dem Server zu HTTPS weitergeleitet, bevor Ihre Website ausgeführt wird.

> **Note:** HTTPS erzwingen behandelt eingehende Anfragen. Es schreibt keine bereits in Ihrer Datenbank gespeicherten URLs um, daher werden damit allein keine Warnungen für gemischte Inhalte behoben, die durch ein hartcodiertes `http://` Bild verursacht werden. Sie benötigen sowohl diesen als auch Schritt 2.

Wenn SSL noch nicht aktiv ist oder das Zertifikat falsch aussieht, beginnen Sie mit [SSL-Zertifikate](https://support.kapsulehost.com/de-de/ssl-certificates).

## Schritt 2: Die gespeicherten URLs umschreiben

Dies ist die Lösung, die gemischte Inhalte tatsächlich behebt.

1. Öffnen Sie die Website, dann den Tab **WordPress**, dann den Abschnitt **Schnellaktionen**.
2. Suchen Sie die Karte **Suchen & Ersetzen** und klicken Sie auf **Konfigurieren**.
3. Geben Sie in **Suchen (alter Wert)** `http://yourdomain.co.nz` ein.
4. Geben Sie in **Ersetzen durch** `https://yourdomain.co.nz` ein.
5. Lassen Sie **Dry Run (nur Vorschau, keine Änderungen)** aktiviert und klicken Sie auf **Vorschau**.
6. Überprüfen Sie die Anzahl und die Aufschlüsselung nach Tabelle.
7. Deaktivieren Sie **Dry Run**, klicken Sie auf **Ausführen** und bestätigen Sie.

Vor dem Ersetzen wird automatisch eine vollständige Sicherung erstellt, und alle Tabellen werden abgedeckt, einschließlich derjenigen, die von Plugins erstellt wurden. Serialisierte Plugin-Einstellungen werden korrekt verarbeitet.

> **Warning:** Tun Sie das nicht mit einer SQL-Abfrage in phpMyAdmin. WordPress speichert Plugin- und Theme-Einstellungen als serialisierte Strings, die die Länge jedes Werts aufzeichnen, daher bricht ein rohes `REPLACE()` sie und die Einstellungen werden stillschweigend auf leer zurückgesetzt. Es gibt keine Reparatur außer dem Wiederherstellen einer Sicherung. Die vollständige Erklärung finden Sie in [Ausführung einer Suche und Ersetzung](https://support.kapsulehost.com/de-de/wordpress-search-replace).

Wenn Ihr Plan die Konsole enthält, ist der entsprechende Befehl:

```
search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run
```

Lassen Sie `--dry-run` aus, um dies anzuwenden, und machen Sie selbst eine Sicherung: die Konsole macht das nicht.

## Schritt 3: Jeden Cache leeren

Eine zwischengespeicherte Kopie einer Seite wird weiterhin die alten HTTP-URLs lange Zeit nach der Datenbankreparatur bereitstellen, weshalb Menschen oft denken, dass das Ersetzen nicht funktioniert hat.

1. **WordPress**, dann **Schnellaktionen**, dann **Cache leeren**.
2. **WordPress**, dann **Caching**, dann **Cache leeren**, wenn der vollständige Seiten-Cache aktiviert ist.
3. **Leistung**, dann **Kapsule CDN**, dann **Leeren**, wenn das CDN aktiviert ist. Siehe [CDN-Cache leeren](https://support.kapsulehost.com/de-de/cdn-cache-purge).
4. Jedes Caching-Plugin von seinem eigenen Einstellungsbildschirm.
5. Ihr eigener Browser. Testen Sie in einem privaten Fenster, damit Sie nicht von Ihrem eigenen Cache getäuscht werden.

## Schritt 4: Finden Sie, was übrig ist

Die meisten Websites sind nach Schritt 2 sauber. Wenn eine Warnung bestehen bleibt, finden Sie die genaue Ressource, anstatt zu erraten.

**Browser-Konsole.** Öffnen Sie Entwicklertools mit F12, gehen Sie zur Registerkarte **Konsole** und laden Sie neu. Gemischter Inhalt erscheint als explizite Warnung, die die vollständige URL der offensiven Ressource benennt. Diese URL zeigt Ihnen, welches Plugin oder Theme verantwortlich ist.

**Registerkarte Netzwerk.** Filtern Sie nach `http://`, um alle unsicheren Anfragen aufzulisten, die die Seite gestellt hat.

**Seitenquelle.** Laden Sie die Seite, zeigen Sie die Quelle an und suchen Sie nach `http://`. Ignorieren Sie alles in `xmlns` Attributen und Schema-Deklarationen: Das sind Identifikatoren, keine Anfragen.

Häufig überlebende und was zu jedem zu tun ist:

| Was Sie finden | Behebung |
|---|---|
| Ein Bild oder Logo in einer Theme-Customizer-Einstellung | Laden Sie es erneut hoch oder wählen Sie es im Customizer erneut aus |
| Ein Page-Builder-Modul mit einer eingegeben `http://` Bild-URL | Bearbeiten Sie dieses Modul und korrigieren Sie die URL |
| Einstellungstabelle eines Slider-Plugins | Speichern Sie den Slider erneut, oder führen Sie die Suche und Ersetzung mit `--all-tables` aus |
| Schriftart oder Skript von einer Drittanbieter-Domain | Überprüfen Sie, ob der Anbieter HTTPS anbietet. Die meisten tun dies jetzt. Wechseln Sie die URL |
| Tracking-Pixel oder Einbettung von einem alten Anbieter | Wenn der Anbieter kein HTTPS hat, entfernen Sie es. Es ist eine fehlende Abhängigkeit, kein KapsuleHost-Problem |
| Hartcodiertes `http://` in einer Theme-Template-Datei | Bearbeiten Sie die Vorlage, oder besser, verwenden Sie `https` oder eine Protokoll-relative Referenz |

> **Tip:** Wenn genau eine Seite betroffen ist und der Rest der Website sauber ist, ist der Schuldige der Inhalt auf dieser Seite, nicht eine siteweite Einstellung. Öffnen Sie sie im Editor und sehen Sie sich die Medien an, die sie einbettet.

## Bestätigung, dass es repariert ist

1. Laden Sie die Website in einem privaten Fenster.
2. Das Schloss sollte solide sein, ohne Warndreieck und ohne durchgestrichene Anzeige.
3. Klicken Sie auf das Schloss. Der Browser meldet die Verbindung als sicher ohne Warnung zu gemischtem Inhalt.
4. Öffnen Sie die Konsole und laden Sie noch einmal neu. Null Warnungen für gemischte Inhalte.
5. Überprüfen Sie eine tiefe Seite, nicht nur die Startseite: eine innere Seite, einen Blog-Post mit Bildern und den Checkout in einem Store.

## Verhinderung, dass es zurückkommt

- **Lassen Sie HTTPS erzwingen aktiviert.** Es ist eine Einstellung in einer Zeile, 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 Plugins**, die nach einer URL fragen.
- **Achten Sie auf eine wiederkehrende 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: [Website von cPanel migrieren](https://support.kapsulehost.com/de-de/sites-migrate-cpanel).

## Fehlerbehebung

**Das Schloss ist für mich in Ordnung, für einen Kollegen kaputt.** Zwischengespeicherte Seite. Lassen Sie ihn in einem privaten Fenster neuladen.

**Die Website ist nach dem Ersetzen völlig zusammengebrochen.** Stellen Sie die automatische Sicherung vor der Ausführung wieder her: [Aus einer Sicherung wiederherstellen](https://support.kapsulehost.com/de-de/restoring-from-backup).

**Die Konsole zeigt eine Warnung für gemischte Inhalte auf einer Domain, die mir nicht gehört.** Eine Drittanbieter-Ressource. Sie können ihren Server nicht reparieren: Entweder unterstützen sie HTTPS und Sie wechseln die URL, oder Sie entfernen die Ressource.

**Alles ist HTTPS, aber die Website wird überhaupt nicht geladen.** Das ist kein gemischter Inhalt. Beginnen Sie mit [Website lädt nicht](https://support.kapsulehost.com/de-de/website-not-loading) und überprüfen Sie das Zertifikat auf [SSL-Zertifikate](https://support.kapsulehost.com/de-de/ssl-certificates).

Wenn Sie all dies durchgearbeitet haben und die Warnung weiterhin besteht, senden Sie eine E-Mail an [support@kapsulehost.com](mailto:support@kapsulehost.com) mit der betroffenen URL und dem genauen Text der Browser-Konsolenwarnung.
