301, 302, 307, 308 – was ist der Unterschied?
301 und 308 kennzeichnen einen dauerhaften Umzug, 302, 303 und 307 eine vorübergehende Umleitung. Google wertet 301 und 308 als starkes Signal, dass die neue Adresse künftig in den Suchergebnissen steht – für einen endgültigen Umzug verwenden Sie daher immer eine dieser beiden.
| Code | Art | Formulardaten (POST) | Google zeigt in den Ergebnissen | Typischer Einsatz |
|---|---|---|---|---|
| 301 | dauerhaft | können zu GET werden | das Ziel | Umzug, neue Adressstruktur, HTTPS, www |
| 308 | dauerhaft | bleiben erhalten | das Ziel | wie 301, auch für Formulare und Schnittstellen |
| 302 | vorübergehend | können zu GET werden | die alte Adresse | kurzfristig nicht verfügbare Seite |
| 303 | vorübergehend | werden zu GET | die alte Adresse | Ergebnisseite nach dem Absenden eines Formulars |
| 307 | vorübergehend | bleiben erhalten | die alte Adresse | wie 302, auch für Formulare |
Für Google sind 301 und 308 gleichwertig, ebenso 302 und 307. Der Unterschied betrifft Browser und andere Programme: Bei 307 und 308 bleiben Anfrage-Methode und Formularinhalt erhalten. Weiterleitungen per JavaScript sollten Sie nur verwenden, wenn nichts anderes möglich ist – Google sieht sie nur, wenn das Rendern der Seite gelingt.
Warum schaden Weiterleitungsketten?
Jede zusätzliche Station ist eine weitere Anfrage, die Zeit kostet, bevor die eigentliche Seite überhaupt geladen wird. Google rät ausdrücklich, Ketten zu vermeiden und direkt auf das endgültige Ziel weiterzuleiten.
Schlecht: drei Stationen bis zur Seite
http://example.com/kontakt
→ 301 https://example.com/kontakt
→ 301 https://www.example.com/kontakt
→ 301 https://www.example.com/kontakt/
Gut: eine Station, direkt zum Ziel
http://example.com/kontakt
→ 301 https://www.example.com/kontakt/
Solche Ketten entstehen, wenn mehrere Regeln nacheinander greifen – etwa eine HTTPS-Regel beim Hoster, eine www-Regel in der .htaccess und eine Slash-Regel im CMS. Laut Google verlängert jede Station die Wartezeit, und nicht alle Browser und Programme folgen langen Ketten. Die Zeit für Weiterleitungen fließt außerdem in die Server-Antwortzeit (TTFB) ein, die der Artikel Ladezeit erklärt.
- Fassen Sie Regeln so zusammen, dass jede Variante in einem Schritt am Ziel ist (Beispiele unten).
- Verlinken Sie intern immer direkt auf die endgültige Adresse, auch in Menüs und in der Sitemap.
- Lassen Sie Weiterleitungen nach einem Umzug laut Google mindestens ein Jahr bestehen.
Eine Schleife – A leitet auf B, B zurück auf A – macht die Seite unerreichbar; Browser brechen dann mit einer Fehlermeldung ab. Den Weg jeder Adresse zeigt unser Weiterleitungs-Checker Schritt für Schritt.
Wie leite ich HTTP auf HTTPS um?
Leiten Sie jeden Aufruf über http:// serverseitig mit 301 oder 308 auf dieselbe Adresse mit https:// um – mit demselben Pfad, nicht auf die Startseite. Google bevorzugt ohnehin die HTTPS-Fassung als Hauptadresse und empfiehlt zusätzlich den Sicherheits-Header HSTS.
Ohne Umleitung ist jede Seite doppelt erreichbar, und wer eine alte http-Adresse aufruft, surft unverschlüsselt. Damit Google die HTTPS-Adresse wählt, sollte laut Google außerdem Folgendes zutreffen:
- gültiges TLS-Zertifikat für den Hostnamen,
- keine Weiterleitung, die zwischendurch über eine http-Adresse führt,
- kein Canonical, das auf die http-Fassung zeigt,
- keine internen Links auf http-Adressen und eine Sitemap mit den https-Adressen,
- keine unsicher geladenen Bestandteile wie Bilder oder Skripte über http.
HSTS teilt dem Browser mit, Ihre Website nur noch über HTTPS aufzurufen; spätere http-Aufrufe stellt der Browser selbst auf HTTPS um. Wie Sie den Header einrichten und welche Fallstricke es gibt, steht im Artikel Website-Sicherheit.
Mit oder ohne www?
Entscheidend ist nicht, welche Variante Sie wählen, sondern dass es nur eine gibt: Legen Sie eine Hauptvariante fest und leiten Sie die andere per 301 dorthin um. Das Zertifikat muss beide Hostnamen abdecken, sonst sehen Besucher der Nebenvariante eine Sicherheitswarnung statt einer Weiterleitung.
Liefern example.com und www.example.com beide eine Seite mit Status 200, existiert jede Seite zweimal. Google wählt dann selbst, welche Fassung als Hauptadresse gilt. Hat die Nebenvariante gar keinen DNS-Eintrag, erreichen Besucher, die sie eintippen, überhaupt nichts – auch das meldet Auffindig.
- Hauptvariante festlegen und überall gleich verwenden: Canonical, interne Links, Sitemap, Einträge in Verzeichnissen und Profilen.
- Für beide Hostnamen einen DNS-Eintrag und ein gültiges Zertifikat einrichten.
- Die Nebenvariante mit 301 oder 308 in einem Schritt auf die Hauptvariante umleiten, inklusive Pfad und Parametern.
Wie gehe ich mit Slash-Varianten um?
Für Google sind /kontakt und /kontakt/ zwei verschiedene Adressen – nur bei der Startseite ist der Slash egal. Legen Sie eine Schreibweise fest und leiten Sie die andere per 301 um; mindestens sollte ein Canonical auf die Hauptschreibweise zeigen.
Google behandelt beide Varianten gleichrangig, solange Sie nichts festlegen. Liefern beide denselben Inhalt mit Status 200, verteilen sich Verlinkungen und Signale auf zwei Adressen. Verwenden Sie die gewählte Schreibweise auch in Menüs, internen Links und der Sitemap.
Auffindig prüft dazu bei Unterseiten die jeweils andere Schreibweise. In Ordnung sind eine 301- oder 308-Weiterleitung, ein Status 404 oder Status 200 mit Canonical auf die Hauptschreibweise. Apache leitet echte Verzeichnisse ohne Slash bereits standardmäßig um (Einstellung DirectorySlash); für die Adressen eines CMS, die keine echten Verzeichnisse sind, braucht es eine eigene Regel oder die passende Einstellung im System.
Wie ersetze ich einen Meta-Refresh?
Ein Meta-Refresh leitet erst im Browser weiter, nachdem die Seite geladen ist. Ersetzen Sie ihn durch eine serverseitige 301-Weiterleitung; nur wenn Ihre Plattform das nicht zulässt, verwenden Sie einen sofortigen Meta-Refresh mit 0 Sekunden.
Schlecht: Weiterleitung nach fünf Sekunden
<meta http-equiv="refresh" content="5; url=https://www.example.com/neu/">
Gut: serverseitig (Apache-Beispiel); Notlösung im HTML nur mit 0 Sekunden
Redirect 301 /alt/ https://www.example.com/neu/
<meta http-equiv="refresh" content="0; url=https://www.example.com/neu/">
Google wertet einen sofortigen Meta-Refresh wie eine dauerhafte Weiterleitung, einen verzögerten dagegen wie eine vorübergehende. Für die Barrierefreiheit ist die Verzögerung ein eigenes Problem: Laut W3C kann eine zeitgesteuerte Weiterleitung oder ein automatisches Neuladen Screenreader-Nutzer mitten im Lesen unterbrechen. Ein Refresh ohne Zieladresse lädt die Seite immer wieder neu – auch das wertet Auffindig als verbesserbar. Bleibt eine alte Meta-Weiterleitung neben einer geänderten Server-Weiterleitung stehen, können sich beide widersprechen und eine Schleife erzeugen.
Wie sieht die Weiterleitung in .htaccess und nginx aus?
Die folgenden Beispiele leiten http:// und die Variante ohne www in einem einzigen Schritt auf https://www.example.com um, mit Pfad und Parametern. Ersetzen Sie example.com durch Ihre Domain und testen Sie die Regeln danach.
Apache, Datei .htaccess (wenn Sie keinen Zugriff auf die Server-Konfiguration haben):
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
Wichtig: Ohne R=301 sendet Apache eine vorübergehende 302-Weiterleitung. Endet HTTPS bereits bei einem vorgeschalteten Proxy oder Load Balancer, meldet %{HTTPS} immer „off“ und die Regel erzeugt eine Schleife – klären Sie das in diesem Fall mit Ihrem Hoster. Mit Zugriff auf die Server-Konfiguration empfiehlt die Apache-Dokumentation statt mod_rewrite die einfachere Direktive Redirect permanent in einem eigenen VirtualHost.
nginx (Server-Konfiguration):
# http mit und ohne www → https://www
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
# https ohne www → https://www
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com;
ssl_certificate /pfad/zertifikat.pem;
ssl_certificate_key /pfad/schluessel.pem;
return 301 https://www.example.com$request_uri;
}
# Hauptvariante: hier liefert der Server die Website aus
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name www.example.com;
# ssl_certificate, root usw.
}
$request_uri enthält den ursprünglichen Pfad samt Parametern. Statt 301 können Sie bei nginx ab Version 1.13.0 auch 308 verwenden. Wollen Sie die Variante ohne www als Hauptadresse, tauschen Sie die Hostnamen entsprechend. Unseren Weiterleitungs-Checker können Sie anschließend für alle vier Varianten (http/https, mit/ohne www) laufen lassen; er erzeugt diese Regeln auch für Ihre Domain.
Diese Punkte jetzt auf Ihrer Seite prüfen
So prüft Auffindig
Zu diesem Thema gehören 4 der 120 Prüfpunkte. Alle Gewichte und Formeln stehen in der Methodik, den Anteil am Gesamtscore finden Sie unter Bereich Technik & Indexierbarkeit.
Kurze Weiterleitungskette
In Ordnung: keine oder genau eine Weiterleitung, und zwar dauerhaft (301 oder 308). Verbesserbar: zwei Weiterleitungen oder eine vorübergehende Weiterleitung (302, 303 oder 307). Problem: drei oder mehr Weiterleitungen oder eine Schleife. Gezählt wird ab der eingegebenen Adresse (ohne Angabe des Protokolls ab https://).
Umleitung von http auf https
In Ordnung: Die http-Adresse leitet dauerhaft (301 oder 308) auf https um. Verbesserbar: vorübergehende Umleitung (302 oder 307) auf https, Umleitung zunächst auf eine andere http-Adresse, ein Fehlerstatus unter http, oder Port 80 ist nicht erreichbar. Problem: Die Seite lädt unverschlüsselt über http und wird nicht auf https umgeleitet.
Eindeutige Adresse mit oder ohne www
In Ordnung: Die andere Schreibweise (mit bzw. ohne www) leitet dauerhaft (301 oder 308) auf die Hauptvariante um. Verbesserbar: vorübergehende Umleitung (302 oder 307), Umleitung über einen Umweg oder auf eine dritte Adresse, Status 200 mit Canonical auf die Hauptvariante, ein Fehlerstatus, oder die andere Schreibweise hat keinen DNS-Eintrag bzw. antwortet nicht. Problem: Sie liefert Status 200 ohne Canonical auf die Hauptvariante oder hat einen Zertifikatsfehler.
Keine Weiterleitung per Meta-Refresh
In Ordnung: kein Meta-Refresh (eine ungültige Angabe ignorieren Browser). Verbesserbar: Meta-Refresh ohne Zieladresse oder auf die eigene Adresse (die Seite lädt sich selbst neu). Problem: Meta-Refresh mit anderer Zieladresse (Weiterleitung im Browser). Ein Meta-Refresh in noscript zählt nicht.
Häufige Fragen
Verliere ich durch eine 301-Weiterleitung meine Position bei Google?
Google wertet 301 und 308 als starkes Signal, dass die neue Adresse die alte ersetzt, und zeigt dann das Ziel in den Suchergebnissen. Eine Garantie für unveränderte Positionen gibt es nicht. Leiten Sie jede alte Adresse auf die inhaltlich passende neue um, nicht pauschal auf die Startseite.
Wie lange muss eine Weiterleitung bestehen bleiben?
Google empfiehlt, Weiterleitungen nach einem Umzug mindestens ein Jahr beizubehalten, gern auch länger. Alte Adressen können noch lange in Lesezeichen, E-Mails oder auf fremden Websites stehen.
Darf ich 302 statt 301 verwenden?
Nur für vorübergehende Umleitungen, etwa wenn eine Seite kurzfristig nicht verfügbar ist. Bei einer 302 zeigt Google weiterhin die alte Adresse. Achtung: Manche Einstellungen senden 302 als Voreinstellung, bei Apache etwa das Flag R ohne Zahl und die Direktive Redirect ohne Statusangabe.
Wie viele Weiterleitungen hintereinander sind zu viel?
Ideal ist eine einzige. Google folgt bis zu zehn Stationen, empfiehlt aber, direkt auf das Ziel zu leiten und Ketten, die sich nicht vermeiden lassen, möglichst auf drei zu begrenzen. Auffindig wertet zwei Stationen als verbesserbar und ab drei als Problem.
Quellen
- Google Search Central: Weiterleitungen und die Google Suche
- Google: Wie HTTP-Statuscodes die Google-Crawler beeinflussen
- Google Search Central: Website-Umzug mit URL-Änderungen
- Google Search Central: Kanonische URL mit rel="canonical" angeben
- Google Search Central Blog: Indexing HTTPS pages by default (17. Dezember 2015)
- Google Search Central Blog: To slash or not to slash (21. April 2010)
- MDN: Weiterleitungen in HTTP
- MDN: Strict-Transport-Security (HSTS)
- web.dev: Time to First Byte (TTFB)
- W3C WCAG 2.2 Technik F41: Meta-Refresh zum Neuladen oder Weiterleiten
- Apache HTTP Server 2.4: Redirecting and Remapping with mod_rewrite
- Apache HTTP Server 2.4: RewriteRule Flags
- Apache HTTP Server 2.4: mod_rewrite
- nginx: Direktive return (ngx_http_rewrite_module)
- nginx: Variable $request_uri (ngx_http_core_module)