Was ist HTTPS?
HTTPS (Hypertext Transfer Protocol Secure) ist die verschlüsselte Version des HTTP-Protokolls. Es sorgt dafür, dass alle Daten, die zwischen dem Browser eines Nutzers und dem Webserver ausgetauscht werden, verschlüsselt und authentifiziert übertragen werden.
Der Unterschied zeigt sich direkt in der Adressleiste:
http://example.com→ Unverschlüsselt, Browser zeigt „Nicht sicher"https://example.com→ Verschlüsselt, Browser zeigt das Schloss-Symbol
Man kann sich den Unterschied wie zwei Arten von Briefzustellung vorstellen: HTTP ist eine offene Postkarte – jeder, der sie auf dem Weg abfängt, kann den Inhalt lesen. HTTPS ist ein versiegelter, adressierter Einschreibebrief – der Inhalt ist geschützt, und der Absender ist verifiziert.
HTTPS basiert auf TLS-Zertifikaten (Transport Layer Security, früher SSL), die drei Funktionen erfüllen:
- Verschlüsselung: Daten können auf dem Transportweg nicht mitgelesen werden
- Datenintegrität: Daten können unterwegs nicht unbemerkt verändert werden
- Authentifizierung: Der Server beweist, dass er wirklich zu der Domain gehört, für die er sich ausgibt
Warum ist HTTPS wichtig für SEO?
Bestätigter Rankingfaktor
Google hat HTTPS im Jahr 2014 in der Ankündigung „HTTPS as a ranking signal" offiziell als Ranking-Signal bestätigt. Zwar ist der direkte Einfluss auf die Position moderat, aber in einem wettbewerbsintensiven Umfeld kann HTTPS den entscheidenden Unterschied machen. Bei zwei ansonsten gleichwertigen Seiten bevorzugt Google die HTTPS-Variante.
Browser-Warnungen
Alle modernen Browser zeigen bei HTTP-Seiten eine deutliche „Nicht sicher"-Warnung in der Adressleiste an. Chrome, Firefox und Safari markieren HTTP-Seiten seit 2018 prominent als unsicher. Für Nutzer ist das ein sofortiges Vertrauenssignal – oder dessen Fehlen:
- HTTPS: Schloss-Symbol, grüner oder neutraler Hinweis → Vertrauen
- HTTP: „Nicht sicher"-Warnung, durchgestrichenes Schloss → Misstrauen, erhöhte Absprungrate
Datenschutz und Compliance
Die DSGVO verlangt „geeignete technische Maßnahmen" zum Schutz personenbezogener Daten. Ohne HTTPS werden Formulardaten – Namen, E-Mail-Adressen, Passwörter – im Klartext übertragen. Das ist nicht nur ein Sicherheitsrisiko, sondern potenziell ein Rechtsverstoß.
Referrer-Daten
Wenn ein Nutzer von einer HTTPS-Seite auf eine HTTP-Seite wechselt, entfernt der Browser die Referrer-Information. Das bedeutet: In den Analytics der Zielseite fehlt die Quelle des Besuchs. HTTPS-zu-HTTPS-Übergänge behalten die Referrer-Daten bei – wichtig für die Analyse von Traffic-Quellen.
Was ist Mixed Content?
Mixed Content entsteht, wenn eine über HTTPS ausgelieferte Seite Ressourcen (Bilder, Skripte, Stylesheets) über unverschlüsseltes HTTP einbindet. Die Seite selbst ist zwar verschlüsselt, aber einzelne eingebundene Elemente sind es nicht.
<!-- HTTPS-Seite mit Mixed Content -->
<html>
<head>
<!-- Mixed Content: CSS über HTTP -->
<link rel="stylesheet" href="http://cdn.example.com/style.css">
</head>
<body>
<!-- Mixed Content: Bild über HTTP -->
<img src="http://images.example.com/foto.jpg">
<!-- Kein Mixed Content: Skript über HTTPS -->
<script src="https://cdn.example.com/app.js"></script>
</body>
</html>
Das Problem: Die verschlüsselte Verbindung hat ein Leck. Es ist, als hätte man ein Haus mit Hochsicherheitsschloss, bei dem aber ein Fenster offen steht. Die Haupttür (HTTPS) schützt, aber das offene Fenster (HTTP-Ressource) untergräbt die gesamte Sicherheit.
Aktive und passive gemischte Inhalte
Browser unterscheiden zwischen zwei Kategorien von Mixed Content, die sich in ihrem Bedrohungspotenzial und der Browser-Reaktion unterscheiden:
Aktive gemischte Inhalte (hohes Risiko)
Aktive gemischte Inhalte umfassen Ressourcen, die die Seite verändern oder steuern können:
| Element | Attribut | Risiko |
|---|---|---|
<script> |
src | Kann beliebigen Code ausführen, Daten stehlen |
<link rel="stylesheet"> |
href | Kann Seiteninhalt über CSS manipulieren |
<iframe> |
src | Kann eigene Inhalte in der Seite einbetten |
<object> |
data | Kann Plugins und aktive Inhalte laden |
<embed> |
src | Kann externe Inhalte einbetten |
Browser-Reaktion: Moderne Browser blockieren aktive gemischte Inhalte vollständig. Das Skript wird nicht ausgeführt, das Stylesheet wird nicht geladen. Die Folge: kaputte Layouts, nicht funktionierende Funktionen, fehlende Interaktivität. Die Seite sieht für den Nutzer defekt aus.
Warum so streng? Ein über HTTP geladenes JavaScript kann von einem Angreifer auf dem Transportweg manipuliert werden (Man-in-the-Middle-Angriff). Das manipulierte Skript hätte dann Zugriff auf die gesamte HTTPS-Seite – Formulardaten, Cookies, Session-Tokens. Die gesamte Verschlüsselung wäre wertlos.
Passive gemischte Inhalte (mittleres Risiko)
Passive gemischte Inhalte umfassen Ressourcen, die Inhalte anzeigen, aber die Seite nicht verändern können:
| Element | Attribut | Risiko |
|---|---|---|
<img> |
src, srcset | Bild könnte ausgetauscht werden |
<audio> |
src | Audio könnte manipuliert werden |
<video> |
src | Video könnte ausgetauscht werden |
<source> |
src, srcset | Medienquelle könnte manipuliert werden |
<track> |
src | Untertitel könnten verändert werden |
Browser-Reaktion: Browser laden passive Mixed-Content-Ressourcen häufig noch, zeigen aber eine Sicherheitswarnung an. Das Schloss-Symbol verschwindet, oder die Verbindung wird als unsicher markiert. Der Nutzer sieht keine verschlüsselte Verbindung mehr – selbst wenn die Seite selbst über HTTPS läuft.
Warum trotzdem problematisch? Auch wenn ein über HTTP geladenes Bild keinen Code ausführen kann, könnte ein Angreifer es durch ein anderes Bild ersetzen – etwa ein gefälschtes Produkt-Foto, eine irreführende Grafik oder anstößiges Material. Außerdem verrät die HTTP-Anfrage, welche Seite der Nutzer besucht (kein Verschlüsselungsschutz für die Anfrage).
HTTPS-Migration richtig durchführen
1. TLS-Zertifikat installieren
Der erste Schritt ist die Installation eines gültigen TLS-Zertifikats auf dem Webserver:
- Let's Encrypt: Kostenlose Zertifikate, automatische Verlängerung, von allen Browsern akzeptiert. Die meisten Hosting-Anbieter bieten eine Ein-Klick-Installation
- Managed Hosting: Die meisten modernen Hosting-Pakete enthalten HTTPS als Standard – häufig ist kein manueller Schritt nötig
- Kommerzielle Zertifikate: Für erweiterte Validierung (EV) oder spezielle Anforderungen verfügbar, bieten aber keinen SEO-Vorteil gegenüber Let's Encrypt
2. Weiterleitungen einrichten
Alle HTTP-URLs müssen per 301-Redirect auf ihre HTTPS-Entsprechung weiterleiten:
http://example.com/seite → 301 → https://example.com/seite
Die 301-Weiterleitung stellt sicher, dass: - Bestehende Backlinks ihre Ranking-Signale an die HTTPS-Version übertragen - Nutzer, die alte HTTP-Links verwenden, automatisch zur sicheren Version gelangen - Suchmaschinen die HTTPS-Version als kanonisch erkennen
3. Interne Referenzen aktualisieren
Nach der Migration müssen alle internen Verweise auf HTTPS umgestellt werden:
- Interne Links: Alle
<a href="http://...">zuhttps://ändern - Canonical-Tags: Müssen auf
https://verweisen - Sitemap: Alle URLs in der XML-Sitemap auf
https://aktualisieren - Robots.txt: Sitemap-Referenz auf HTTPS aktualisieren
- Hreflang-Tags: Alle Sprachversions-URLs auf HTTPS umstellen
- Open-Graph-Tags:
og:urlundog:imageauf HTTPS prüfen
4. Drittanbieter-Ressourcen prüfen
Externe Ressourcen – CDNs, Schriftarten, Widgets, Tracking-Pixel – müssen ebenfalls über HTTPS geladen werden. Die meisten großen Anbieter (Google Fonts, jQuery CDN, Facebook Pixel) unterstützen HTTPS seit Jahren. Wenn ein Anbieter kein HTTPS unterstützt, ist das ein ernstes Warnsignal – wechsle den Anbieter oder hoste die Ressource selbst.
Mixed Content finden und beheben
Browser-Entwicklertools
Die schnellste Methode, Mixed Content zu finden:
- Öffne die Seite in Chrome oder Firefox
- Drücke F12 (Entwicklertools)
- Wechsle zum Tab Konsole (Console)
- Suche nach Warnungen wie „Mixed Content: The page was loaded over HTTPS, but requested an insecure resource..."
- Die Warnung zeigt die exakte URL der HTTP-Ressource
Typische Quellen von Mixed Content
Hardcodierte HTTP-URLs im CMS:
Ältere Inhalte enthalten oft absolute HTTP-URLs, die bei einer Migration nicht automatisch aktualisiert werden. Ein datenbankweites Suchen und Ersetzen von http://deine-domain.de durch https://deine-domain.de behebt die meisten Fälle.
Externe Widgets und Einbettungen: Social-Media-Widgets, Karteneinbettungen oder Chat-Tools, die noch HTTP-URLs verwenden, sind eine häufige Quelle für passive gemischte Inhalte.
CSS-Referenzen:
Hintergrundbilder (background-image: url(http://...)) oder Schriftarten-Imports (@import url(http://...)) in CSS-Dateien werden bei einer Migration leicht übersehen.
Protokoll-relative URLs:
URLs, die mit // statt mit https:// beginnen (z. B. //cdn.example.com/style.css), sind anfällig, wenn die Seite selbst über HTTP aufgerufen wird. Besser: Immer https:// explizit angeben.
Content Security Policy (CSP)
Eine Content Security Policy ist ein HTTP-Header, der dem Browser mitteilt, welche Ressourcen geladen werden dürfen. Für Mixed-Content-Prävention gibt es eine einfache Direktive:
Content-Security-Policy: upgrade-insecure-requests
Dieser Header weist den Browser an, alle HTTP-Anfragen automatisch auf HTTPS hochzustufen. Das ist eine wirksame Übergangslösung, ersetzt aber nicht die eigentliche Korrektur der HTTP-URLs im Code – denn die automatische Hochstufung funktioniert nur, wenn die Ressource auch über HTTPS verfügbar ist.
Häufige Fehler
Seite nicht über HTTPS ausgeliefert
Die Seite wird über unverschlüsseltes HTTP statt HTTPS ausgeliefert. Browser zeigen eine prominente „Nicht sicher"-Warnung an, und Google bevorzugt HTTPS-Seiten im Ranking. Installiere ein TLS-Zertifikat (z. B. über Let's Encrypt) und richte 301-Weiterleitungen von allen HTTP-URLs auf ihre HTTPS-Entsprechung ein. Aktualisiere danach alle internen Links, Sitemaps und Canonical-URLs auf HTTPS.
Aktive gemischte Inhalte (Skripte, Stylesheets, Iframes)
Die HTTPS-Seite bindet JavaScript, CSS-Dateien oder Iframes über unverschlüsseltes HTTP ein. Browser blockieren diese Ressourcen vollständig – das Ergebnis sind kaputte Layouts, fehlende Funktionen und eine defekte Nutzererfahrung. Aktualisiere alle <script src>-, <link href>- und <iframe src>-URLs auf HTTPS. Wenn ein externer Anbieter kein HTTPS unterstützt, wechsle den Anbieter oder hoste die Datei selbst.
Passive gemischte Inhalte (Bilder, Audio, Video)
Die HTTPS-Seite lädt Bilder, Videos oder Audio-Dateien über HTTP. Browser zeigen diese Inhalte zwar häufig noch an, entfernen aber das Schloss-Symbol und zeigen stattdessen eine Sicherheitswarnung. Nutzer sehen keine sichere Verbindung mehr. Aktualisiere alle Medien-URLs auf HTTPS – prüfe dabei auch responsive Bilder (srcset), CSS-Hintergrundbilder und in der Datenbank gespeicherte Inhalte.