Weiterleitungen (Redirects)

Letzte Änderung:

Um das Thema Weiterleitungen kümmert sich in TYPO3 ein eigenes Modul namens "Redirects" (zu finden in der linken Spalte unter "Site Management").

Weiterleitungen spielen insbesondere dann eine wichtige Rolle, wenn sich die URL einer Ressource (insbesondere einer Seite, weil Sie z.B. gelöscht oder verschoben wurde). Häufig spielen Weiterleitungen bei größeren strukturellen Änderungen der Navigation, bei Relaunches oder TYPO3 Updates eine Rolle.

Für interne Links (also Links innerhalb der eigenen TYPO3-Installation) ist das kein Problem:

  • wird eine Seite verschoben, verlinkt der interne Link automatisch auf die neue Seite (da die interne Seiten-ID gleich bleibt)
  • wird die Seite gelöscht, wird auch der Link gelöscht. Der Anchor-Text bleibt erhalten (ist nur nicht mehr anklickbar).

Bei eingehenden Links von externen Websites ist das natürlich nicht möglich. Hier muss eine Weiterleitung angelegt werden. Und das geschieht über einen sogenannten Redirect (siehe linke Spalte im TYPO3 Backend):

Neben der Angabe des neuen und alten Pfades ist auch die Art der Weiterleitung wichtig:

  • 307 Temporary Redirect (die Weiterleitung wird nur temprär gelten, Client soll weiterhin die ursprüngliche URL verwenden)
  • 308 Permanent Redirect (ähnlich 301, nur verbietet dieser Code die Veränderung der Anfrage von POST nach GET)
  • 301 Moved Permanently (klassische Weiterleitung, die dem Anfragen(z.B. der Suchmaschine) mitteilt, in Zukunft die neue URL zu verwenden)
  • 302 Found (ähnlich 307, POST kann zu GET-Anfrage umgewandelt werden)
  • 303 See Other (Zieladresse ist ein "Alternativvorschlag" für die ursprüngliche URL)

Automatische Redirects

Wenn sich die URL einer Seite ändert (z.B. weil der Seitenname geändert wird oder die Seite verschoben wird UND der Slug aktualisiert), setzt TYPO3 automatisch einen entsprechenden Redirect, damit von außen eingehende Links nicht auf einen 404 Fehler laufen.

Es erscheint dann beim Abspeichern der Seite ein Dialog, mit dem diese Weiterleitung ("Revert redirects only") oder sogar die Slug-Änderung selbst ("Revert update") rückgängig gemacht werden kann:

Automatische Redirects vermeiden

Das Setzen automatischer Redirects kann zu Zirkelbezügen führen. Wenn z.B. eine Seite zweimal hin- und herverschoben wird, ist diese Seite nicht mehr aufrufbar (der Browser meldet dann den Fehler TOO_MANY_REDIRECTS), da TYPO3 zwei Weiterleitungen angelegt hat, die gegenseitig aufeinander verweisen.

Um automatische Redirects zu vermeiden, ändern Sie die yaml-Datei im sites-Verzeichnis (bei composer-Installationen im Installationsverzeichnis unter config, sonst im typo3conf-Verzeichnis), in dem Sie folgenden Parameter auf false setzen:

 

settings:
  redirects:
    autoCreateRedirects: false

 


Zu große Anzahl von Weiterleitungen vermeiden

Vermeiden Sie eine große Anzahl an Weiterleitungen in diesem Modul, da dies zur Systemverlangsamung und damit zu Lasten des Pagespeeds gehen kann. Nutzen Sie stattdessen die .htaccess

Redirects zählen

Eine wirklich hilfreiche Funktion ist die Möglichkeit, tatsächlich aufgerufene Weiterleitungen zu zählen. Diese Funktion muss allerdings zunächst unter Settings -> Configure Installation Wide Options (Parameter redirects.hitCount) aktiviert werden:

Daraufhin werden unter dem Punkt Redirects zwei neue Spalten angezeigt: Anzahl der Hits (# Hits) und zuletzt erfolgte Weiterleitung (Last Hit on):

Mit dieser Möglichkeit, die Weiterleitungen statistisch zu erfassen, können Sie sehr gut entscheiden, welche Weiterleitungen überhaupt noch genutzt und somit relevant sind. Aus Gründen der Übersichtlichkeit und Performance sollten Sie ungenutzte Redirects löschen.

Automatische Verwaltung & Kontrolle von Weiterleitungen

Mit dem Scheduler haben Sie außerdem die Möglichkeit, die Konsistenz von Weiterleitungen (Funktionieren die Weiterleitungen? Gibt es Zirkelbezüge?) regelmäßig zu überwachen. Außerdem können Weiterleitungen, die eine lange Zeit nicht genutzt wurden, automatisch gelöscht werden (Letzteres ab TYPO3 Version 11):

Für das automatische Löschen von Weiterleitungen können im scheduler-Task diverse Bedingungen hinterlegt werden (z.B. ob/welche eine bestimmte Anzahl von Hits unterschritten wird, der zugrunde gelegte Zeitraum, Einschränkung auf einen bestimmten URL-Pfad, usw.).