301, 302, 307 und 308 Redirects im Vergleich
Vergleich von HTTP 301, 302, 307 und 308: Dauer, Methodenerhalt, Caching, SEO, APIs und typische Fehler bei der Implementierung.
HTTP-Weiterleitungen fordern einen Client auf, eine andere URL anzufragen. Zwei Fragen bestimmen den richtigen Code: Ist der Umzug dauerhaft oder temporär? Müssen HTTP-Methode und Request-Body unverändert bleiben?
| Code | Bedeutung | Dauer | Methode und Body |
|---|---|---|---|
| 301 | Moved Permanently | dauerhaft | ältere Clients können POST in GET ändern |
| 302 | Found | temporär | ältere Clients können POST in GET ändern |
| 307 | Temporary Redirect | temporär | bleiben erhalten |
| 308 | Permanent Redirect | dauerhaft | bleiben erhalten |
301 verwenden
301 passt zu dauerhaften Seitenumzügen: HTTP auf HTTPS, Domainwechsel, neue Slugs oder Zusammenlegung von Duplikaten. Das Ziel sollte relevant, erreichbar und möglichst direkt sein.
Aktualisiere interne Links, Canonicals und Sitemaps auf die Ziel-URL. Eigene Navigation sollte nicht dauerhaft durch Redirects laufen.
302 verwenden
302 eignet sich, wenn die ursprüngliche URL langfristig bestehen bleibt: kurze Wartung, temporäre Kampagne oder Routing während eines Vorfalls. Wird der Umzug dauerhaft, müssen Code und Referenzen angepasst werden.
307 und 308
Beide erhalten Methode und Body. Ein POST wird am Ziel erneut als POST gesendet. Das ist für APIs und Formulare präziser, verlangt aber eine sichere Strategie für Wiederholungen und Idempotenz.
307 ist temporär, 308 dauerhaft. Für normale GET-Seiten sind 301 und 302 weiterhin etablierte Optionen.
SEO und Cache
Suchmaschinen betrachten zusätzlich Relevanz, Canonical, interne Links und Beständigkeit. Ein konsistenter dauerhafter Redirect kann Signale am Ziel bündeln; ein temporärer signalisiert, dass die Quelle weiter maßgeblich sein kann.
Dauerhafte Redirects können im Browser und in Zwischen-Caches gespeichert werden. Teste riskante Regeln zunächst temporär und in einer frischen Sitzung.
Häufige Fehler
- Alle entfernten Seiten auf die Startseite schicken.
- Ketten wie
/alt → /neuer → /finalerzeugen. - Auf 404 oder 5xx weiterleiten.
- Widersprüchliche HTTPS-, www- oder Slash-Regeln verwenden.
- JavaScript statt eines direkten HTTP-Redirects einsetzen.
- Schreibende POST-Anfragen unkontrolliert wiederholen.
Prüfe die öffentliche Route mit dem Redirect Checker.
Schnelle Entscheidung
- Kehrt die Quelle bald zurück? Dann temporär, sonst dauerhaft.
- Muss die Methode erhalten bleiben? Dann 307 oder 308.
- Ist es eine normale GET-Seite? Meist reichen 301 oder 302.
- Ist das Ziel fachlich gleichwertig und technisch gesund?
Ist 308 immer besser als 301?
Nein. 308 ist genauer, wenn Methodenerhalt wichtig ist. Für klassische GET-Migrationen genügt oft 301.