Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

www, Weiterleitung und gemischte Inhalte

Modul 3: Adresse, https und Benutzer · Lesezeit: 9 Minuten

Lernziel: Nach dieser Lektion können Sie eine Hauptadresse wählen, alle Varianten mit einer einzigen Weiterleitung dorthin schicken und gemischte Inhalte aufspüren und beheben.

Kernbegriffe: kanonische Adresse, 301 und 308, Weiterleitungskette, gemischte Inhalte (Mixed Content), Suchen und Ersetzen in der Datenbank, serialisierte Daten

Vier Adressen, eine Website

Ihre Website ist über vier Adressen erreichbar:

http://example.com
http://www.example.com
https://example.com
https://www.example.com

Für einen Besucher spielt das keine Rolle, für Suchmaschinen sind es aber vier verschiedene Adressen mit demselben Inhalt. Auch Cookies (wie Ihr Login-Cookie) gelten pro Name: Wer sich auf www anmeldet, ist auf der Domain ohne www nicht angemeldet. Deshalb wählen Sie eine kanonische Adresse (die Hauptadresse) und leiten die anderen drei dorthin weiter.

Welche Sie wählen, ist Geschmackssache (Lektion 2.1). Wichtig ist, dass die Hauptadresse überall dieselbe ist: im DNS, im Zertifikat, unter Einstellungen > Allgemein (Lektion 3.1) und in den Weiterleitungen.

Weiterleiten mit einer 301, in einem Schritt

Eine Weiterleitung ist eine Antwort des Servers: "Diese Seite befindet sich woanders". Der Browser ruft dann automatisch die neue Adresse auf. Der Code gibt an, um welche Art von Weiterleitung es sich handelt:

CodeBedeutungVerwendung
301Dauerhaft verschobenDie Standardwahl für http zu https und für www zur Domain ohne www (oder umgekehrt)
308Dauerhaft, und die Methode (zum Beispiel ein Formularversand) bleibt gleichIst für diesen Zweck ebenfalls möglich; Browser und Suchmaschinen behandeln sie wie eine 301
302 oder 307VorübergehendNur für etwas, das wirklich vorübergehend ist, etwa eine Wartungsseite

Eine dauerhafte Weiterleitung teilt Suchmaschinen mit, dass die neue Adresse die richtige ist. Bei einer vorübergehenden merken sie sich weiterhin die alte Adresse.

Achten Sie auch auf die Kette. Angenommen, Ihre Hauptadresse ist https://example.com. Dann möchten Sie Folgendes:

http://www.example.com   301  https://example.com/
http://example.com       301  https://example.com/
https://www.example.com  301  https://example.com/
https://example.com      200

Jede Variante landet in einem Schritt auf der Hauptadresse. Was häufig passiert:

http://www.example.com   301  https://www.example.com/
https://www.example.com  301  https://example.com/

Das funktioniert zwar, kostet aber einen zusätzlichen Schritt (zusätzliche Wartezeit, vor allem auf Mobilgeräten) und einen zusätzlichen TLS-Handshake. Schlimmer ist eine Schleife: Der Webserver leitet zu https weiter, WordPress leitet zurück zu http, weil die Adressen in den Einstellungen noch auf http stehen, und der Browser meldet "zu oft weitergeleitet". Dann arbeiten zwei Einstellungen gegeneinander. Sorgen Sie dafür, dass nur eine Stelle zu https weiterleitet (der Webserver oder das Panel) und dass die Adressen in WordPress bereits auf der Hauptadresse stehen.

WordPress leitet auch selbst weiter: Ruft jemand https://www.example.com/contact/ auf, während die Website-Adresse https://example.com ist, dann leitet WordPress zu https://example.com/contact/ weiter. Das funktioniert nur, wenn die Anfrage bei WordPress ankommt, also wenn der Webserver den Namen www ebenfalls zu dieser Website führt.

Gemischte Inhalte

Gemischte Inhalte (Mixed Content) liegen vor, wenn eine https-Seite Bestandteile über http:// lädt: ein Bild, ein Stylesheet, ein Skript, eine Schriftart oder ein eingebettetes Video. Der Browser hält das für unsicher, weil diese Bestandteile unterwegs verändert werden können.

  • Skripte, Stylesheets und iframes über http werden von Browsern blockiert. Ihre Website sieht dann kaputt aus oder eine Funktion arbeitet nicht.
  • Bilder, Audio und Video über http versuchen moderne Browser automatisch über https abzurufen; gelingt das nicht, werden sie blockiert. Das Schloss-Symbol kann dann eine Warnung anzeigen.

Woher sie stammen:

  1. Alte Links in Ihren Inhalten: Eine Website, die früher unter http lief, enthält in Tausenden von Beiträgen <img src="http://example.com/wp-content/uploads/...">. WordPress speichert diese Links wörtlich in der Datenbank.
  2. Theme- oder Plugin-Einstellungen mit einer vollständigen Adresse, zum Beispiel ein Logo oder Hintergrund mit http://.
  3. Externe Bestandteile einer anderen Website, die nur über http erreichbar sind. Diese müssen Sie ersetzen oder entfernen.
  4. Adressen unter Einstellungen > Allgemein, die noch auf http stehen (Lektion 3.1).

So finden Sie sie

Öffnen Sie die Seite, drücken Sie F12 und schauen Sie in den Tab Console (Konsole). Der Browser meldet jeden gemischten Inhalt mit der Adresse des Bestandteils. Oder suchen Sie im Quelltext der Seite (Strg+U) nach src="http:// und href="http://. Links zu anderen Websites im normalen Text (<a href="http://...">) erzeugen keine gemischten Inhalte; es geht um Dinge, die die Seite lädt.

Suchen und Ersetzen, aber richtig

Die Lösung für alte Links in Ihren Inhalten besteht darin, alle http://example.com in der Datenbank durch https://example.com zu ersetzen. Verlockend ist ein SQL-Befehl wie:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://example.com', 'https://example.com');

Tun Sie das nicht. Viele Einstellungen von Themes, Plugins und Widgets sind serialisiert gespeichert. Das sieht so aus:

s:27:"http://example.com/logo.png";

Das s:27 bedeutet: Hier folgt ein Text mit 27 Zeichen. Nach einem einfachen Ersetzen ist der Text 28 Zeichen lang (es kam ein s hinzu), aber dort steht weiterhin 27. PHP kann den Wert dann nicht mehr lesen und die Einstellung geht stillschweigend verloren: ein leeres Menü, ein verschwundenes Logo, Widgets, die fehlen.

Verwenden Sie ein Werkzeug, das diese Längen anpasst, und erstellen Sie immer zuerst ein Backup (Lektion 8.1): Suchen und Ersetzen hat keinen Papierkorb.

  • WP-CLI: erst schauen, dann handeln. Wechseln Sie im Terminal in das Verzeichnis Ihres WordPress und führen Sie zuerst den Probelauf aus (erste Zeile), erst danach den echten Durchlauf (zweite Zeile).
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid

Mit --dry-run sehen Sie, wie viele Ersetzungen es pro Tabelle geben würde, ohne etwas zu ändern. --skip-columns=guid lässt die festen Kennungen der Beiträge (Spalte guid) unangetastet; WordPress empfiehlt, diese nie zu ändern. Ohne zusätzliche Option arbeitet WP-CLI nur mit den Tabellen von WordPress. Hat ein Plugin eigene Tabellen mit demselben Präfix, fügen Sie --all-tables-with-prefix hinzu. Verwenden Sie --all-tables nur, wenn Sie wissen, warum: Das betrifft jede Tabelle in der Datenbank, auch die einer anderen Website oder Anwendung.

  • Ein Plugin zum Suchen und Ersetzen, das serialisierte Daten unterstützt (im Plugin-Verzeichnis von wordpress.org gibt es mehrere). Nutzen Sie auch dort zuerst den Testmodus und löschen Sie das Plugin danach wieder.

Ersetzen Sie nie etwas wie example.com ohne http:// oder https:// davor: Dann treffen Sie auch E-Mail-Adressen und andere Texte. Die komplette Vorgehensweise, auch für alle ohne Terminal, finden Sie im Wissensdatenbank-Artikel über Suchen und Ersetzen in der WordPress-Datenbank (siehe Weiterlesen).

In der Praxis: So sieht es in einem Panel aus

Als Beispiel verwenden wir DirectAdmin. Andere Panels haben einen vergleichbaren Schalter für "immer https".

  1. Aktivieren Sie in den Domain-Einstellungen SSL mit https-Weiterleitung erzwingen (Lektion 3.1).
  2. Legen Sie bei der Domain fest, ob www zur Domain ohne www führen soll oder umgekehrt (bei DirectAdmin in den Domain-Einstellungen; ansonsten mit einer Weiterleitung über Weiterleitungen oder .htaccess).
  3. Prüfen Sie die Kette mit der Aufgabe unten oder mit den Entwicklertools Ihres Browsers (Tab Netzwerk, Häkchen bei "Log beibehalten").

Zusammenfassung

  • Wählen Sie eine kanonische Adresse und lassen Sie die anderen drei Varianten mit einer 301 (oder 308) dorthin führen, in einem Schritt.
  • Lassen Sie nur eine Stelle zu https weiterleiten; sonst entsteht eine Schleife.
  • Gemischte Inhalte liegen vor, wenn eine https-Seite Bestandteile über http lädt; die Browserkonsole zeigt, welche.
  • Alte Links in der Datenbank ersetzen Sie mit wp search-replace oder einem Plugin, das serialisierte Daten versteht, nie mit einem einfachen SQL-REPLACE.
  • Immer zuerst ein Backup und zuerst ein Probelauf (--dry-run); lassen Sie die Spalte guid in Ruhe und bleiben Sie bei den Tabellen von WordPress.

Quiz

1. Welche Weiterleitung verwenden Sie, um http dauerhaft zu https zu leiten?



2. Nach dem Einschalten von "immer https" meldet der Browser "zu oft weitergeleitet". Was ist die wahrscheinlichste Ursache?



3. Warum ist UPDATE ... REPLACE(...) in SQL gefährlich, um Adressen umzustellen?



4. Welchen Bestandteil einer https-Seite blockiert der Browser immer, wenn er über http geladen wird?



Aufgabe

Aufgabe A3.2: Eine Hauptadresse und keine gemischten Inhalte. Geben Sie Ihre Domain ein. Das Programm öffnet die vier Varianten (http und https, mit und ohne www) und folgt den Weiterleitungen. Richtig ist: Alle vier landen auf derselben Adresse mit https, mit höchstens einer Weiterleitung pro Variante und nur mit dauerhaften Codes (301 oder 308). Danach liest das Programm das HTML der Startseite und sucht nach Skripten, Stylesheets, Bildern, iframes und Schriftarten, die über http:// geladen werden.

Aufgabe A3.2: Eine Hauptadresse und keine gemischten Inhalte


Was Sie eingeben und was wir finden, speichern wir nicht. Ihr Browser merkt sich Ihre Antworten und ob Sie die Aufgabe bestanden haben. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe (fast) richtig hatten; auch das können Sie dort löschen.

Weiterlesen

Diese Artikel beschreiben die Schritte in den Panels von WebOké; in anderen Panels funktioniert es ähnlich.

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…