301 Moved Permanently

Die Ressource hat eine neue, dauerhafte URL.

Wann du ihn verwendest

Alte URLs nach einem Umbau der Website. Browser und Suchmaschinen merken sich das.

Gut zu wissen

Für SEO sagt 301 den Suchmaschinen, dass der Umzug dauerhaft ist, sodass Google Ranking-Signale überträgt und die alte URL im Index durch die neue ersetzt. Google behandelt 301 und 308 gleich und gibt Signale auch über langlebige 302er weiter, aber bei einer 302 kann die alte URL länger im Index bleiben. Lass 301er mindestens ein Jahr bestehen und lass sie direkt auf die finale URL zeigen, nicht über eine Kette.

Browser cachen 301 aggressiv, oft ohne Ablaufdatum, sodass eine fehlerhafte Weiterleitung noch lange in den Browsern der Benutzer hängen bleiben kann, nachdem du den Server korrigiert hast. Teste zuerst mit 302 oder sende Cache-Control: max-age=3600 mit der Weiterleitung. Clients dürfen beim Folgen einer 301 aus einem POST ein GET machen; nimm 308, um die Methode zu erhalten. Aktualisiere interne Links und Sitemaps auf die neuen URLs, statt dich auf Weiterleitungen zu verlassen.

Weiterleitung (3xx)

3xx-Codes sind Weiterleitungen: Der Client muss woandershin oder seine zwischengespeicherte Kopie verwenden, um die Anfrage abzuschließen.

So sieht es aus

HTTP/1.1 301 Moved Permanently

So sendest du ihn

Node.js / Expressres.redirect(301, '/new-url')
Python / Flaskreturn redirect('/new-url', code=301)
nginxreturn 301 https://example.com$request_uri;

So prüfst du ihn

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

HTTP-Statuscodes öffnen