< BACK 301 vs 302 vs 307 vs 308: die Entscheidungsmatrix für Weiterleitungscodes bei SEO-Migrationen -- Strichzeichnung

301 vs 302 vs 307 vs 308: die Redirect-Code-Entscheidungsmatrix für SEO-Migrationen

Vier HTTP-Redirect-Codes, vier sinnvoll unterschiedliche Verhaltensweisen und ein konsistenter SEO-Fehler, der bei jeder Migration auftaucht: auf 302 zu setzen, weil es der Standard des Frameworks ist. Hier ist die tatsächliche Entscheidungsmatrix für 301 vs 302 vs 307 vs 308 sowie die realen Kosten, wenn man es falsch macht.

Wichtigste Erkenntnis: Verwenden Sie eine 301 für permanente Umzüge und eine 302 nur für wirklich temporäre; die falsche Wahl bei einer Migration kostet 20–40 % des organischen Traffics innerhalb von 60 Tagen.Use a 301 for permanent moves and a 302 only for genuinely temporary ones; picking wrong on a migration costs 20-40% of organic traffic within 60 days.

Die vier Codes je ein Satz

301 Moved Permanently: der kanonische permanente Redirect. Cachebar. Die Methode kann sich von POST zu GET ändern. Der Standard für permanente URL-Verschiebungen.

302 Found: temporärer Redirect. Cachebar, aber mit Revalidation. Die Methode kann sich von POST zu GET ändern. Von Frameworks als Standard genutzt; fast nie die richtige Wahl für permanente SEO-Verschiebungen.

307 Temporary Redirect: wie 302, aber die Methode wird beibehalten. POST bleibt POST. Verwendet für temporäre Verschiebungen, bei denen die Methode wichtig ist (selten bei Marketing-Site-SEO; häufig bei APIs).

308 Permanent Redirect: wie 301, aber die Methode wird beibehalten. POST bleibt POST. Der HTTP/2-Ersatz für 301, wenn Methodenbeibehaltung wichtig ist. Moderne Frameworks (Next.js, Vercel) geben 308 standardmäßig bei redirect()-Aufrufen aus.Next.js, Vercel) emit 308 by default for redirect() calls.

Warum das für SEO wichtig ist

Google hat öffentlich erklärt, dass 301 und 308 beide das vollständige PageRank-Signal weitergeben. 302 und 307 geben es weniger zuverlässig weiter, die in Googles Interpretation eingebaute Annahme ist, dass eine temporäre Umleitung auf ein temporäres Ziel verweist, daher sollte das kanonische Signal auf der ursprünglichen URL bleiben. Bei einer Migration ist das genau falsch: du möchtest, dass das kanonische Signal sich bewegt.

Auswirkungen in der Praxis: Eine Website, die Migrations-Redirects als 302 statt 301 ausliefert, verliert typischerweise 20-40% des organischen Traffics in den ersten 60 Tagen nach dem Umstieg. Die Lösung ist nicht subtil, wird aber auch nicht immer erkannt, weil die 302er für Nutzer funktionieren (der Browser folgt ihnen, die Seite lädt). Search Console kennzeichnet das Problem im Coverage-Bericht unter „Seite mit Weiterleitung", aber die meisten Teams ignorieren diesen Bericht während der Panik nach dem Umstieg.

Die Entscheidungsmatrix

Drei Fragen. Antworte sie der Reihe nach; das Ergebnis bestimmt den Code.

Frage 1: Ist der Umzug permanent?

Wenn ja (URL zieht für immer um, die alte URL kommt nicht zurück): nutze 301 oder 308. Wenn nein (URL kommt zurück, das ist temporär): nutze 302 oder 307.

Frage 2: Wird die URL durch POST-Anfragen getroffen?

Wenn ja (Formular-Übermittlungen, API-Aufrufe, JSON-POSTs): nutze 307 oder 308 (Methode beibehalten). Wenn nein (Browser-Navigation, Link-Klick): 302 oder 301 sind ausreichend.

Frage 3: Was ist der Standard des Frameworks?

Moderne Stacks: Next.js redirect() gibt standardmäßig 308 aus, vercel.json [[redirects]] nutzen 308, es sei denn, permanent: false ist gesetzt, Netlify _redirects nutzen 301, sofern nicht ausdrücklich anders vorgegeben. Apache mod_rewrite nutzt standardmäßig 302, was beim ersten Mal jeden erwischt. Überprüfe immer die Standardeinstellung deines Frameworks, bevor du dich darauf verlässt.Netlify _redirects use 301 unless explicitly told otherwise. Apache mod_rewrite uses 302 by default which catches everyone the first time. Always check your framework's default before relying on it.

Die vier häufigsten Fehler

  • Auf 302 zurückgreifen, weil Apache/Express/Flask es als Standard für den redirect()-Helper ausgeben. Lösung: Setze 301 explizit in jeder Redirect-Regel für einen permanenten Umzug.
  • 307 zu verwenden, weil man denkt, es sei das moderne Äquivalent zu 301. Das ist falsch, 307 ist das moderne Äquivalent zu 302 (temporär, methodenerhaltend). Für permanente Umzüge verwende 308 oder 301.
  • 301 und 302 in derselben Redirect-Map vermischen. Wähle eins (301 für Migrationen) und nutze es überall; gemischte Codes verwirren die Berichterstattung in Search Console.
  • Vergessen, dass 308 die POST-Methode erhält. Wenn deine alte URL ein Formular-Absendeendpoint war und du es per 308 zur neuen URL umleiten, fließt die POST-Datenübertragung durch. Wenn du es per 301 umleiten, konvertiert der Browser POST zu GET und die Formularübertragung geht verloren. Den Unterschied zu kennen fängt eine echte Fehlerklasse.

Wann nutze ich welches Code in der Praxis

Migrations-Redirects (alte Domain → neue Domain, alter Slug → neuer Slug): nutze 301. Das Einfachste, am weitesten unterstützte und von Google explizit als vollständige PageRank-Übertragung festgehalten.

Permanente Umzüge, bei denen Methodenerhaltung zählt (POST-Endpoints, Formularübertragungen): nutze 308. Die PageRank-Übertragung ist identisch mit 301; der einzige Unterschied ist, dass POST POST bleibt.

Temporäre Umzüge (A/B-Testing, geografische Umleitungen, Wartung): nutze 302. Niedrigere PageRank-Übertragung ist das richtige Verhalten, weil die Quell-URL ihr Ranking-Signal behalten sollte.

Temporäre Verschiebungen mit Methodenerhaltung (API-Endpunkte unter temporärem Failover): verwenden Sie 307.

So setzen Sie jeden Code auf gängigen Plattformen

Vercel (vercel.json)

[[redirects]] Block. Setzen Sie permanent: true für 308 (Standard), permanent: false für 307. Um 301 zu erzwingen, verwenden Sie statusCode: 301 explizit. Die meisten modernen Vercel-Deployments verwenden standardmäßig 308, was für Migrationen in Ordnung ist; die SEO-konservative Wahl ist 301 für maximale Kompatibilität mit älteren Crawlern und Indexern.

Netlify (netlify.toml oder _redirects)

_redirects Syntax: /old-url /new-url 301 für permanent, /old-url /new-url 302 für temporär. Fügen Sie ! hinzu, um den Status zu erzwingen: /old-url /new-url 301!.

Apache (.htaccess)

Redirect 301 /old-url /new-url für permanent. RewriteRule mit [R=301,L] Flag für Rewrite-Style-Redirects.

Nginx

return 301 https://example.com/new-url; innerhalb eines location Blocks. Für Pattern Matching: rewrite ^/old/(.*)$ /new/$1 permanent; (das permanent Flag gibt 301 aus; das redirect Flag gibt 302 aus).

Verifizierung der Codes in Produktion

Drei Befehle, die jeder Engineer im Muskelgedächtnis haben sollte. curl -I https://example.com/old-url gibt den Status-Code in den Response-Headern zurück. curl -ILk folgt Weiterleitungen und protokolliert jeden Status-Code unterwegs (fängt Ketten).

Für Bulk-Verifizierung über hunderte von URLs, scriptbar: eine Node.js-Fetch-Schleife, die eine CSV alter URLs ausliest und Status + finales Ziel protokolliert. Oder nutze den DataForSEO On-Page Instant Pages Endpoint, der die vollständige Weiterleitungs-Trace zurückgibt.

Die Zusammenfassung

301 für permanente Umzüge (Standard für SEO-Migrationen). 308 wenn Methoden-Erhalt wichtig ist und der Umzug permanent. 302 für temporäre Umzüge. 307 für temporäre Umzüge mit Methoden-Erhalt. Die Framework-Defaults sind nicht immer richtig; überprüfe sie bei Deploy-Zeit.

Ergänzende Lektüre: 410 vs 404 behandelt den Rückzugsfall (URLs, die für immer verschwinden, nicht verschoben werden). Dieselbe Migration benötigt meist beide Entscheidungen.

Häufig gestellte Fragen

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

Eine 301 ist eine permanente Weiterleitung; eine 302 ist temporär. Verwenden Sie 301, wenn eine URL dauerhaft umgezogen ist, da sie Ranking-Signale an die neue URL überträgt. Verwenden Sie 302 nur für wirklich temporäre Umzüge. Eine 302 für eine permanente Änderung zu verwenden ist der häufigste und kostspieligste Weiterleitungsfehler.

Wann sollte ich eine 307- oder 308-Weiterleitung verwenden?

Das sind die strikten HTTP/1.1-Entsprechungen von 302 und 301, die die Request-Methode beibehalten. Verwenden Sie 308 für permanente Weiterleitungen, bei denen die Methode nicht geändert werden darf, und 307 für temporäre. Für standardmäßige Seiten-Umzüge ist eine 301 immer noch die konventionelle und sichere Wahl.

Welche Weiterleitung ist am besten für SEO?

Eine 301 für permanente Umzüge. Sie leitet das meiste Ranking-Signal zum Ziel weiter und teilt Suchmaschinen mit, die indizierte URL zu aktualisieren. Der falsche Code, normalerweise eine 302, die bei einem permanenten Umzug stehen gelassen wird, kann Google dazu bringen, die alte URL monatelang zu crawlen und Ihre Signale aufzuspalten.

Ein einzelner, gut gewählter Redirect gibt fast das gesamte Ranking-Signal weiter, daher ist der Verlust vernachlässigbar. Der eigentliche Schaden entsteht durch Redirect-Ketten, bei denen A auf B verweist und B auf C. Flachen Sie Ketten zu einem einzigen Sprung ab, damit Equity und Crawl-Budget nicht verschwendet werden.

< BACK