301 oder 302: was der Unterschied für Google bedeutet
Beide Codes schicken Besucher an eine neue Adresse. Der Unterschied liegt darin, was Google daraus macht. Laut Google Search Central:
dauerhaft
301, 308
Googlebot folgt, und Google wertet die Weiterleitung als Signal, dass das Ziel die maßgebliche Adresse ist.
In den Suchergebnissen: das neue Ziel
vorübergehend
302, 303, 307
Googlebot folgt, wertet die Weiterleitung aber nicht als Signal für das Ziel.
In den Suchergebnissen: weiter die alte Adresse
Für einen Umzug, eine neue Struktur oder eine zusammengelegte Seite nimmst du deshalb eine dauerhafte Weiterleitung. Google empfiehlt, wo immer möglich, eine dauerhafte Weiterleitung auf dem Server. Dauerhafte Weiterleitungen kosten laut Google keinen PageRank.
301 oder 308, und was ist mit Meta-Refresh und JavaScript?
301 oder 308: Für Google sind beide dauerhaft. Der Unterschied steht im HTTP-Standard: Bei einer 301 darf der Browser ein abgeschicktes Formular (POST) beim zweiten Aufruf in einen normalen Abruf (GET) umwandeln, bei einer 308 nicht. Für normale Seiten reicht 301. Schicken Formulare oder Schnittstellen Daten an die alte Adresse, ist 308 die sichere Wahl.
Meta-Refresh: Eine sofortige Weiterleitung per Meta-Refresh (0 Sekunden) wertet Google als dauerhaft, eine verzögerte als vorübergehend. JavaScript: nur, wenn Server und Meta-Refresh nicht gehen, denn das Rendern kann fehlschlagen und Google sieht die Weiterleitung dann nicht.
So richtest du eine 301-Weiterleitung ein
Die Weiterleitung gehört auf den Server, der nach dem Umzug unter der alten Adresse antwortet. Bleibt die Domain gleich, ist das die neue Website. Wechselt die Domain, gehören die Regeln auf die alte Domain. Die Beispiele nutzen Platzhalter-Adressen:
Server und Systeme · Beispiele mit Platzhalter-Adressen
Apache: Redirect, RedirectMatch oder RewriteRule
Alle drei Anweisungen funktionieren in der .htaccess. Achtung: Redirect leitet nicht nur genau diese Adresse um, sondern jede, die damit beginnt, und hängt den Rest an. Und ohne Statusangabe sendet Apache eine 302, keine 301; bei RewriteRule gilt dasselbe für das R ohne Zahl.
# Eine Seite, dauerhaft (301). Ohne 301 wäre es eine 302. Redirect 301 /alte-seite/ https://www.example.de/neue-seite/ # Muster: alles unter /blog/ nach /ratgeber/, Rest der Adresse bleibt RedirectMatch 301 ^/blog/(.*)$ https://www.example.de/ratgeber/$1 # Dasselbe mit mod_rewrite. In der .htaccess ohne führenden Schrägstrich RewriteEngine On RewriteRule ^produkt-([0-9]+)\.html$ https://www.example.de/p/$1/ [R=301,L]
nginx: return 301 oder rewrite … permanent
Für einzelne Adressen und ganze Domains ist return 301 die kürzeste Form. rewrite mit permanent sendet eine 301, mit redirect eine 302. Prüf die Konfiguration nach jeder Änderung mit nginx -t, bevor du nginx neu lädst.
# Eine Seite, dauerhaft (301) location = /alte-seite/ { return 301 https://www.example.de/neue-seite/; } # Muster: alles unter /blog/ nach /ratgeber/ rewrite ^/blog/(.*)$ /ratgeber/$1 permanent; # Ganze alte Domain auf die neue, Pfad bleibt server { server_name alte-domain.de www.alte-domain.de; return 301 https://www.neue-domain.de$request_uri; }
WordPress: Beitrags-Adressen leitet es selbst um
Änderst du die Adresse (den Slug) eines Beitrags, leitet WordPress die alte Adresse von selbst per 301 auf die neue weiter. Für alles andere, etwa Adressen aus einem alten System, legst du Regeln auf dem Server an oder nutzt eine Erweiterung für Weiterleitungen.
- Vor dem Umzug prüfen, welche Permalink-Struktur die neue Website nutzt
- Weiterleitungen aus einer Erweiterung hängen an dieser Erweiterung: vor dem Entfernen exportieren
Shopify: URL-Weiterleitungen im Admin
Laut Shopify-Hilfe legst du Weiterleitungen im Admin unter Content → Menus → View URL Redirects an, viele auf einmal per CSV-Import. Wichtig: Sie greifen nur, wenn die alte Adresse einen Fehler wie 404 liefert. Lädt dort noch eine Seite, passiert nichts.
- Alte Seite erst entfernen oder umbenennen, dann die Weiterleitung prüfen
- Für viele Adressen die CSV-Vorlage aus der Hilfe nutzen
Shopware 6: geänderte SEO-URLs und alles andere
Ändern sich SEO-URLs, kann Shopware laut Doku über die Einstellung zum Weiterleitungsverhalten (Forwarding behavior) eine 301 auf die neue Adresse ausgeben. Adressen aus einem alten Shop oder einem anderen System brauchen Regeln auf dem Server oder eine Erweiterung.
- Nach Änderungen an SEO-URL-Vorlagen den Index neu aufbauen, damit die neuen Adressen entstehen
- Was bei einer Migration auf Shopware 6 sonst noch zählt, steht im Shopware-Ratgeber
Die typischen Fehler
Ketten
Google folgt bis zu 10 Weiterleitungen hintereinander, rät beim Umzug aber zu möglichst wenigen: idealerweise höchstens 3, weniger als 5. Jede Station kostet Ladezeit. Leite jede alte Adresse direkt aufs Endziel, auch alte Weiterleitungen aus früheren Umzügen.
Alles auf die Startseite
Viele alte Adressen auf ein unpassendes Ziel wie die Startseite kann Google als Soft-404 werten. Jede alte Adresse zeigt auf die neue Seite mit demselben Thema.
302 statt 301
Apache sendet ohne Statusangabe eine 302, nginx bei rewrite mit redirect ebenfalls. Google zeigt dann weiter die alte Adresse. Richtig ist 302 nur, wenn die alte Seite wiederkommt.
Weiterleitung statt Fehlerseite
Gibt es keinen Nachfolger, ist 404 oder 410 die ehrliche Antwort. Adressen mit einem 4xx-Code indexiert Google laut Doku nicht, bereits indexierte fallen aus dem Index.
Interne Links auf alte Adressen
Menü, Texte und Sitemap zeigen nach dem Umzug direkt auf die neuen Adressen. Die Weiterleitung ist für Besucher und Links von außen da, nicht für deine eigenen Seiten.
Zu früh abgeschaltet
Google rät, Weiterleitungen so lange wie möglich zu behalten, in der Regel mindestens ein Jahr; aus Sicht der Besucher am besten unbefristet. Prüf nach jedem Deploy, ob sie noch da sind.
Weiterleitungen prüfen
Der Browser ist dafür das falsche Werkzeug: Er merkt sich 301-Weiterleitungen und zeigt dir das Ziel, auch wenn die Regel auf dem Server längst anders aussieht. Prüf stattdessen den Statuscode, den der Server wirklich sendet.
- Viele Adressen auf einmal: Der Relaunch-Check ruft bis zu 50 alte Adressen auf und zeigt jeden Sprung mit Statuscode, Ketten, Weiterleitungen auf die Startseite und fehlende Seiten. Fehlende Adressen bekommst du als Liste mit fertigen Regeln für .htaccess und nginx.
- Eine einzelne Adresse: die URL-Prüfung in der Search Console oder auf der Kommandozeile
curl -I, das zeigt Statuscode und Ziel ohne Zwischenspeicher. - Nach dem Livegang: die Seiten mit Fehlern in der Search Console beobachten und die Prüfung nach jedem Deploy wiederholen.
$ curl -sI https://www.example.de/alte-seite/ HTTP/1.1 301 Moved Permanently Location: https://www.example.de/neue-seite/ # Steht hier 302 Found, ist die Weiterleitung nur vorübergehend. # Antwortet das Ziel selbst wieder mit 3xx, ist es eine Kette.
Steht ein ganzer Umzug an? Dann ist die einzelne Weiterleitung nur ein Baustein. Wie du den Bestand sicherst, den Weiterleitungsplan baust und den Livegang prüfst, steht im Ratgeber Shop- und Website-Relaunch. Hat deine Agentur schon einen Weiterleitungsplan, prüfe ich ihn als Zweite Meinung für 990 € netto bis 50.000 Adressen.
Quellen
- Google Search Central, Weiterleitungen und die Google Suche: dauerhaft (301, 308) und vorübergehend (302, 303, 307), Anzeige in den Suchergebnissen, Empfehlung für Weiterleitungen auf dem Server, Meta-Refresh und JavaScript. Abgerufen am 07.10.2026.
- Google Search Central, Website mit URL-Änderungen umziehen: kein Verlust an PageRank, Ketten (bis 10, idealerweise höchstens 3, weniger als 5), Soft-404 bei unpassendem Ziel, Dauer mindestens ein Jahr. Abgerufen am 07.10.2026.
- Google, How HTTP status codes affect Google's crawlers: bis zu 10 Weiterleitungen, Umgang mit 4xx, Soft-404 in der Search Console. Abgerufen am 07.10.2026.
- Apache HTTP Server 2.4, mod_alias: Redirect und RedirectMatch, Präfix-Verhalten, 302 ohne Statusangabe. mod_rewrite, Flags: R ohne Zahl ergibt 302, Muster in der .htaccess ohne führenden Schrägstrich. Abgerufen am 07.10.2026.
- nginx, ngx_http_rewrite_module: return mit 301, rewrite mit permanent (301) und redirect (302). Abgerufen am 07.10.2026.
- RFC 9110, HTTP Semantics, Abschnitte 15.4.2, 15.4.3 und 15.4.9: 301, 302 und 308, Wechsel von POST zu GET. Abgerufen am 07.10.2026.
- WordPress-Entwicklerdoku, wp_old_slug_redirect(): alte Slugs per 301 auf die richtige Adresse. Abgerufen am 07.10.2026.
- Shopify-Hilfe, URL-Weiterleitungen: Anlegen im Admin, CSV-Import, nur von Adressen mit Fehler; Browser und Suchmaschinen speichern 301-Weiterleitungen zwischen. Abgerufen am 07.10.2026.
- Shopware-Doku, SEO-Einstellungen: Weiterleitungsverhalten mit 301 bei geänderten SEO-URLs, Index neu aufbauen. Abgerufen am 07.10.2026.