Weiterleitungen verfolgen

Eine Website hat vier Eingangstüren: http und https, jeweils mit und ohne www. Diese Prüfung geht durch alle vier, notiert jeden Sprung und prüft, ob alle bei derselben HTTPS-Adresse ankommen.

Oder probieren Sie github.com, bbc.co.uk

Eine Website, vier Adressen

Für einen Menschen sehen diese alle nach demselben Ort aus:

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

Ein Browser oder ein Suchmaschinen-Crawler sieht vier verschiedene Origins. Das Schema kann sich unterscheiden, der Hostname auch, und nichts im Aufbau des Webs schreibt vor, dass sie denselben Inhalt liefern. Dabei verwenden ein gedruckter Flyer, ein altes Lesezeichen und ein Link in einem fünf Jahre alten Forenbeitrag jeweils eine andere.

Eine Weiterleitung verbindet sie. Der Server lässt die Seite aus und antwortet mit einem dreistelligen Status im 300er-Bereich plus einem Location-Header, der eine andere Adresse nennt, und der Browser geht dorthin. Eine aufgeräumte Website wählt eine der vier als ihre echte Adresse und lässt die anderen drei mit einer einzigen Weiterleitung dorthin antworten.

Die Statuscodes, die Besucher umleiten

CodeBedeutungWofür
301Dauerhaft verschobenHTTP zu HTTPS, www zu ohne www, eine umbenannte Seite. Browser speichern sie im Cache, und Suchmaschinen verlegen ihren Indexeintrag auf die neue Adresse.
308Dauerhaft, Methode bleibt erhaltenWie 301, aber ein POST bleibt ein POST. Auf neueren Plattformen verbreitet.
302Gefunden (vorübergehend)Ein Umweg über die Anmeldung, eine Wartungsseite, ein A/B-Test.
307Vorübergehend, Methode bleibt erhaltenWie 302 für Formulare und APIs. Browser zeigen 307 auch für ein HSTS-Upgrade an, das sie selbst durchführen.
303Siehe andereDen Browser nach dem Absenden eines Formulars auf eine Ergebnisseite schicken.

Die Prüfung gibt in der Spalte Pfad den Code jedes Sprungs aus, in der Reihenfolge, in der der Server sie geliefert hat.

Wie die Prüfung bewertet wird

Unser Server fragt jede der vier Adressen ab und folgt bis zu acht Weiterleitungen. Das Ziel, das die meisten erreichen, gilt als Hauptadresse der Website, und jeder Startpunkt wird damit verglichen.

Endadresse / 1 Sprung
Die Variante ist die Hauptadresse oder kommt mit einer Weiterleitung dorthin. Das ist Ihr Ziel.
2 Sprünge oder mehr
Eine Kette, zum Beispiel http://www zu https://www zu https://. Es funktioniert, aber jeder zusätzliche Sprung kostet einen ganzen Hin- und Rückweg, auf dem Smartphone oft 100 bis 300 ms.
Vorübergehende Weiterleitung
Ein 302, 303 oder 307 unterwegs. Ist die Regel als dauerhaft gemeint, lässt das Suchmaschinen im Unklaren, welche Adresse sie behalten sollen.
Andere Adresse
Die Variante landet woanders, die Website existiert also in zwei Versionen. Wird als Fehler gewertet.
Fehlgeschlagen
Keine Antwort. Wird für die nackte Domain als Fehler und für www als Warnung gewertet.

Ein Ziel ohne HTTPS ist immer ein Fehler. Auf der Endseite durchsucht die Prüfung außerdem das HTML nach Mixed Content, also nach Skripten, Stylesheets, Frames, Formularzielen, Bildern und Medien, die noch über http:// adressiert sind. Browser blockieren die ersten vier Arten, die sind also Fehler, während Bilder und Medien Warnungen sind. Zuletzt liest sie den Link rel="canonical" und warnt Sie, wenn er einen anderen Hostnamen nennt als den, zu dem die Weiterleitungen führen.

Die Regel einmal schreiben

Ketten entstehen, wenn zwei Ebenen je die Hälfte der Arbeit machen, etwa ein Hosting-Panel, das HTTPS erzwingt, und ein Plugin, das danach www entfernt. Schicken Sie jede Variante mit einer einzigen Regel direkt an die Endadresse.

nginx

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

Apache (.htaccess)

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]

Bei Cloudflare schalten Sie „Always Use HTTPS“ ein und fügen eine Weiterleitungsregel für den Hostnamen hinzu. Der Name www braucht einen eigenen DNS-Eintrag und muss vom Zertifikat abgedeckt sein, sonst kommen Besucher gar nicht erst bis zur Weiterleitung. Der TLS-Zertifikat-Check prüft das.

Nur die Startseite wird verfolgt, und nur Weiterleitungen, die als HTTP-Statuscodes gesendet werden. Einer Weiterleitung per JavaScript oder per <meta http-equiv="refresh">-Tag wird nicht gefolgt, und tiefere Seiten können anderen Regeln gehorchen. Mixed Content wird im HTML-Quelltext erkannt, Ressourcen, die Skripte später hinzufügen, bleiben also unentdeckt.

Häufige Fragen

Was ist der Unterschied zwischen einer 301- und einer 302-Weiterleitung?

Ein 301 sagt, dass der Umzug dauerhaft ist. Browser merken ihn sich, und Suchmaschinen ersetzen die alte Adresse durch die neue. Ein 302 sagt, dass die ursprüngliche Adresse weiter die richtige ist und der Umweg enden kann. Verwenden Sie 301 oder 308 für Regeln zu HTTPS und www.

Soll meine Website www verwenden oder nicht?

Dem Suchranking ist das egal. Die nackte Domain ist kürzer. Die Form mit www kann ein CNAME sein, was manche CDN- und Hosting-Konfigurationen verlangen. Wichtig ist, dass die eine auf die andere weiterleitet.

Schaden Weiterleitungsketten der SEO?

Eine Kette von zwei oder drei Sprüngen gibt Ranking-Signale noch weiter, und Googlebot folgt insgesamt bis zu zehn Sprüngen. Was Sie verlieren, ist Tempo für jeden Besucher, der über den langen Weg kommt, und jedes zusätzliche Glied der Kette ist eine Stelle mehr, die kaputtgehen kann.

Was ist Mixed Content?

Eine HTTPS-Seite, die eine Ressource über einfaches http:// lädt. Browser blockieren solche Skripte, Stylesheets und Frames und versuchen, Bilder hochzustufen. Meist ist es ein Überbleibsel eines Umzugs auf HTTPS, bei dem alte Adressen im Inhalt geblieben sind.

Ich habe eine Weiterleitung korrigiert, aber mein Browser geht noch zur alten Adresse. Warum?

Browser speichern 301-Antworten im Cache, manchmal monatelang. Testen Sie in einem privaten Fenster oder mit curl -I http://example.com, oder starten Sie die Prüfung hier erneut. Unser Server hält zwischen den Prüfungen keinen Cache.