English
Weiterleitungen

JavaScript-Weiterleitung

Auch genannt: JS-Redirect, clientseitige Weiterleitung

Eine JavaScript-Weiterleitung ist eine Weiterleitung, die der Browser per Skript ausführt, meist über window.location. Der Server liefert zunächst eine normale Seite mit Status 200 aus, erst das ausgeführte JavaScript schickt den Besucher zur neuen URL.

Wie funktioniert eine JavaScript-Weiterleitung?

Anders als eine HTTP-Weiterleitung (301, 302, 307, 308) steckt die Information nicht im Statuscode und im Location-Header, sondern im Code der Seite. Ein Crawler erkennt sie erst, wenn er die Seite rendert und das Skript ausläuft. MDN nennt als Nachteil, dass sie nur auf Clients funktioniert, die JavaScript ausführen, und nicht für alle Ressourcentypen taugt.

Google rendert JavaScript und kann solche Weiterleitungen verarbeiten. Die Dokumentation zu Weiterleitungen rät dennoch, sie nur zu verwenden, wenn serverseitige Weiterleitungen oder Meta Refresh nicht möglich sind. Serverseitige Weiterleitungen gelten bei Google als zuverlässigste Variante.

Für den Browser gibt es zwei gängige Schreibweisen. location.href = … legt die Ausgangsseite im Verlauf ab. Bei location.replace(…) wird die aktuelle Seite laut MDN nicht im Verlauf gespeichert, der Zurück-Button führt also nicht dorthin.

Weiterleitungen im Vergleich
ArtDauerhaft oder temporär?AnfragemethodeWirkung in GoogleWie sicher erkennt Google sie?
301 Moved PermanentlydauerhaftPOST darf beim Folgen zu GET werdenSignal, dass das Ziel die kanonische URL werden sollam sichersten (serverseitig)
308 Permanent Redirectdauerhaftbleibt erhaltenwie 301am sichersten (serverseitig)
302 FoundtemporärPOST darf beim Folgen zu GET werdenkein Signal für das Ziel; es kann über andere Signale trotzdem indexiert werdenam sichersten (serverseitig)
307 Temporary Redirecttemporärbleibt erhaltenwie 302am sichersten (serverseitig)
Meta-Refresh ohne Verzögerung (0 s)dauerhaft– (Weiterleitung im HTML, kein 3xx-Statuscode)wie 301nach den serverseitigen Weiterleitungen
Meta-Refresh mit Verzögerung (> 0 s)temporär– (Weiterleitung im HTML, kein 3xx-Statuscode)wie 302nach den serverseitigen Weiterleitungen
JavaScript (location) (dieser Begriff)dauerhaft– (Weiterleitung im Browser)wie 301, aber nur, wenn Google die Seite rendertam unsichersten: schlägt das Rendering fehl, sieht Google sie nie

Google sortiert die Arten danach, wie sicher es sie richtig deutet: serverseitige Weiterleitungen zuerst, JavaScript zuletzt. Die Angaben zur Anfragemethode stammen aus RFC 9110 (Abschnitt 15.4). Quellen: Google Search Central: Redirects and Google Search (last updated 2026-04-14); Google Search Central: How to specify a canonical URL (redirects as canonical signal); RFC 9110: HTTP Semantics, 15.4 Redirection 3xx. Stand: .

Wann sie vorkommt

  • Single-Page-Apps, die clientseitig auf andere Routen oder Sprachversionen umleiten.
  • Seiten, bei denen keine Serverkonfiguration möglich ist.
  • Google selbst führt sie in der JavaScript-Dokumentation als Weg an, bei clientseitig gerenderten Seiten ein Soft 404 zu vermeiden: Die Seite leitet per JavaScript auf eine URL um, die mit 404 antwortet.

Beispiel

HTML
<script>
  window.location.replace("https://beispiel.de/neue-seite/");
</script>

Dieselbe Weiterleitung als serverseitige Variante in nginx:

nginx
return 301 https://beispiel.de/neue-seite/;

Häufige Fehler

  • Eine JavaScript-Weiterleitung steht dort, wo ein 301 möglich wäre.
  • Die Skriptdatei ist per robots.txt gesperrt. Da ein Crawler gesperrte URLs nicht abruft, kann er die Weiterleitung dann nicht ausführen (Schlussfolgerung aus den robots.txt-Regeln).
  • JavaScript-, Meta-Refresh- und HTTP-Weiterleitung greifen gleichzeitig. MDN rät, die Methoden nicht zu mischen.

Quellen

  1. Weiterleitungen und Google Suche – Google Search Centraldevelopers.google.com
  2. Grundlagen der JavaScript-SEO – Google Search Centraldevelopers.google.com
  3. Redirections in HTTP – MDN Web Docsdeveloper.mozilla.org
  4. Location: replace() method – MDN Web Docsdeveloper.mozilla.org

Stand: