TYPO3 Routing in v13 & v14: Vollständiger Leitfaden

typo3 routing, typo3 enhancers, typo3 aspect, typo3 route, TYPO3 route enhancer, TYPO3 site configuration, TYPO3 site management, TYPO3 routing aspects, TYPO3 v13 routing, TYPO3 v14 routing, TYPO3 speaking URLs, TYPO3 clean URLs, TYPO3 Site Sets routing, TYPO3 multilingual routing, TYPO3 Extbase routing, TYPO3 cHash

TYPO3 Routing in v13 & v14: Vollständiger Leitfaden

TYPO3-Routing verwandelt Seitenpfade und Erweiterungsparameter in saubere, lesbare URLs. Standardseiten verwenden die Seitenkonfiguration und Seitenschnecken, während Erweiterungsargumente auf Routen-Enhancer und Aspekte angewiesen sind, um dynamische Werte in aussagekräftige Pfade zu wandeln.

Vorher:
/index.php?id=13&tx_news_pi1[news]=42

Nachher:
/news/example-article

Ab TYPO3 14.1 können Extensions und Site Packages über Site Sets auch wiederverwendbare Route Enhancer bereitstellen. Dieser Leitfaden behandelt die Einrichtung, YAML-Beispiele, mehrsprachiges Routing, cHash, Weiterleitungen und Fehlerbehebung für TYPO3 v13 und v14. RealURL ist heute nur noch für Legacy-Migrationen relevant.

TYPO3 Routing Grundlagen

TYPO3 Routing ordnet eingehende URLs Seiten oder Extension-Aktionen zu und wandelt technische Parameter in klare, strukturierte Pfade um. Es kombiniert Seiten-Routing mit Route Enhancern und Aspects für komplexere Extension-URLs.

Sprechende URLs

URL-Fragmente in der gesprochenen Sprache

Technische URL: /index.php?id=13
Sprechende URL: /news/

Extension-Parameter können ebenfalls in lesbare Pfade umgewandelt werden:

Vorher: ?tx_news_pi1[news]=42
Nachher: /news/example-article

Seiten- und Extension-Routing

Standard-Seiten-URLs werden durch die TYPO3 Site Configuration und Seiten-Slugs erzeugt. Route Enhancer werden benötigt, wenn Extension-Datensätze, Paginierung, Filter, Plugin-Argumente oder Controller-Aktionen in der URL dargestellt werden sollen.

Grundlegende Begriffe

BegriffZweckBeispiel
RouteVollständiger URL-Pfad/news/example
SlugLesbarer Seiten- oder Datensatzwertexample
PlatzhalterVariable innerhalb einer Route{news-title}
Route EnhancerDefiniert das Routenmuster/news/{news-title}
AspectOrdnet einen einzelnen Routenwert zu42 → example
cHashValidiert dynamische Cache-Variationen?cHash=...

Ein Route Enhancer definiert die URL-Struktur, während ein Aspect einen einzelnen Wert umwandelt. Beispielsweise kann PersistedAliasMapper eine News-Datensatz-UID durch den gespeicherten Slug ersetzen.

Moderne TYPO3-Versionen enthalten Routing bereits im Core. RealURL und CoolUri sind nur noch bei der Migration älterer Projekte und der Erhaltung von Legacy-URLs relevant.

TYPO3 Routing in v13 und v14

TYPO3 v13 speichert Route Enhancer weiterhin in der Site Configuration, während TYPO3 14.1 wiederverwendbare Routing-Presets über Site Sets einführt.

FunktionalitätTYPO3 13.4TYPO3 14.3
Site-Level config.yaml EnhancerJaJa
Site SetsJaJa
Route Enhancer über Site SetsNeinJa, ab 14.1
Eigene route-enhancers.yamlNeinJa
Site-Level-ÜberschreibungNicht relevantJa

TYPO3 v13

Route Enhancer bleiben innerhalb von:

 

config/sites/your-site/config.yaml

 

Bestehende Enhancer, Aspects und YAML-Imports können weiterhin ohne Umstrukturierung verwendet werden.

TYPO3 v14.1

Extensions und Site Packages können wiederverwendbare Enhancer über folgende Datei bereitstellen:

 

EXT:my_extension/Configuration/Sets/MySet/route-enhancers.yaml

 

TYPO3 führt diese Presets entsprechend der Abhängigkeitsreihenfolge der Site Sets zusammen. Werte, die direkt in der Site Configuration der Website definiert sind, haben Vorrang.

Verwenden Sie config.yaml oder importierte YAML-Dateien in TYPO3 v13. Verwenden Sie route-enhancers.yaml in TYPO3 14.1+, wenn Routing zwischen mehreren Websites geteilt oder mit einer Extension ausgeliefert werden soll.

Voraussetzungen für TYPO3 Routing

Saubere URLs benötigen eine korrekte Site Configuration, Spracheinstellungen, Webserver-Rewrites, einen passenden Document Root und geleerte Caches.

Site Configuration

Erstellen Sie die Website unter Sites → Setup und verbinden Sie sie mit der richtigen Root-Seite.

 

config/sites/your-site/config.yaml

 

Die Datei definiert die Basis-URL, Root-Seite, Sprachen, Fehlerbehandlung, statische Routen und Route Enhancer.

Basis-URL und Root-Seite

 

base: ‘https://www.example.com/’

rootPageId: 1

 

Die rootPageId muss mit der Root-Seite des Seitenbaums übereinstimmen. Falsche Werte können zu fehlerhaften Links, Weiterleitungen oder nicht auflösbaren Routen führen.

Website-Sprachen

Jede Website benötigt eine Standardsprache mit languageId: 0.

 

languages:
- title: English
enabled: true
languageId: 0
base: /
locale: en_US.UTF-8
hreflang: en-US

 

Zusätzliche Sprachen benötigen eindeutige IDs, URL-Basen, Locales und hreflang-Werte.

Webserver-Rewrites

Apache benötigt aktiviertes mod_rewrite und muss die TYPO3 .htaccess-Regeln erlauben:

AllowOverride Indexes FileInfo

NGINX muss nicht vorhandene Anfragen an TYPO3 weiterleiten:

 

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

 

IIS benötigt das Microsoft URL Rewrite Modul und eine gültige web.config.

Document Root und Cache

Composer-Installationen verwenden normalerweise public/ als Document Root. Nicht öffentliche Konfigurations- und Abhängigkeitsdateien dürfen nicht erreichbar sein.

Leeren Sie TYPO3 caches nach Änderungen an Routing- oder Sprachkonfigurationen:

 

vendor/bin/typo3 cache:flush

 

Mit DDEV:

 

ddev typo3 cache:flush

 

Checkliste für Routing-Bereitschaft

  • Die Site Configuration ist mit der richtigen Root-Seite verbunden.
  • Basis-URL und Protokoll sind korrekt.
  • Eine Standardsprache ist eingerichtet.
  • Saubere URLs erreichen TYPO3 über den Webserver.
  • Der Document Root zeigt auf public/.
  • Seiten-Slugs sind vorhanden.
  • Caches wurden nach Konfigurationsänderungen geleert.

Seitenbasiertes Routing in TYPO3

Seitenbasiertes Routing wandelt den TYPO3-Seitenbaum in saubere URLs um. Sobald die Site Configuration und Seiten-Slugs korrekt eingerichtet sind, benötigen Standardseiten keinen eigenen Route Enhancer.

Website erstellen

Site-Konfiguration erstellen

Gehen Sie zu Sites → Setup, erstellen Sie die Site Configuration und verbinden Sie sie mit der richtigen Root-Seite.

TYPO3 speichert die Einstellungen unter:

 

config/sites/example/config.yaml

 

Jede Website-Root sollte zu genau einer Site Configuration gehören, um widersprüchliche Routen zu vermeiden.

Site und Sprachen konfigurieren

Configure -the -Site -and-Languages

Configure-Site

Die Site-Level-Option base definiert die Hauptdomain, während jede Sprache ihren eigenen Pfad-Präfix oder eine eigene Domain verwenden kann.

 

base: 'https://example.com/'
languages:
- title: English
enabled: true
languageId: 0
base: /
locale: en_GB.UTF-8
hreflang: en-GB

 

Jede Website benötigt eine Standardsprache mit languageId: 0. Weitere Sprachen können Pfade wie /de/ oder separate Domains verwenden.

Seiten-Slugs erstellen und bearbeiten

Generate-and-Edit-Page-Slugs

TYPO3 erstellt Seiten-URLs aus dem Feld slug in den Seiteneigenschaften. Redakteure können den Slug anpassen, wenn der Seitentitel nicht den gewünschten Pfad erzeugt.

Seitenbaum: Home → News → Example Article

Slugs: / /news /example-article

URL: /news/example-article

Slugs sollten lesbar, kleingeschrieben und innerhalb der Website eindeutig sein.

Vererbte Pfade verstehen

Unterseiten-URLs enthalten normalerweise die Pfade ihrer übergeordneten Seiten. Das Ändern oder Verschieben einer übergeordneten Seite kann daher jede darunterliegende URL beeinflussen.

Bevor Sie einen bestehenden Slug ändern, prüfen Sie die betroffenen Unterseiten und stellen Sie sicher, dass Weiterleitungen die alten URLs weiterhin erhalten.

Doppelte Routen vermeiden

Zwei Seiten sollten nicht denselben Pfad auflösen. Verwenden Sie eindeutige Slugs, wenn Seiten ähnliche Titel besitzen, besonders innerhalb verschiedener Bereiche, die identische URLs erzeugen könnten.

Finale URLs testen

Nachdem Sie die Site Configuration und Seiten-Slugs gespeichert haben:

  1. TYPO3-Caches leeren.
  2. Generierte Frontend-URL öffnen.
  3. Prüfen, ob die richtige Seite geladen wird.
  4. Sprachvarianten und Weiterleitungen überprüfen.
  5. HTTP-Status mit Browser-Tools oder curl prüfen.

Kommentierte config.yaml

Dieses Beispiel ist für TYPO3 13.4 und 14.3 geeignet:

 

# config/sites/example/config.yaml
base: 'https://example.com/' # Main website domain
rootPageId: 1 # UID of the page-tree root
websiteTitle: 'Example Website'
languages:
- title: English
enabled: true
languageId: 0
base: /
locale: en_GB.UTF-8
hreflang: en-GB
navigationTitle: English
flag: gb
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=99'
routes:
- route: robots.txt
type: staticText
content: |
User-agent: *
Allow: /
routeEnhancers: {}
  • base definiert den Einstiegspunkt der Website.
  • rootPageId verbindet die Site mit der richtigen Root-Seite des Seitenbaums.
  • languages steuert verfügbare Sprachen und URL-Präfixe.
  • errorHandling definiert Antworten wie eine individuelle 404-Seite.
  • routes erstellt feste Pfade wie robots.txt.
  • routeEnhancers werden nur benötigt, wenn Extension-Argumente in lesbare URL-Segmente umgewandelt werden müssen.

Wann wird ein Route Enhancer benötigt?

Wann ein Routenoptimierer benötigt wird

Route Enhancer werden verwendet, wenn Extension-Argumente oder Ausgabetypen Bestandteil einer lesbaren URL werden sollen. Standardmäßige TYPO3-Seiten verwenden bereits seitenbasiertes Routing und benötigen keinen zusätzlichen Enhancer.

SzenarioEnhancer erforderlich?Methode
Standard TYPO3-SeiteNeinSeiten-Routing
Regulärer GET-ParameterJaSimple Enhancer
Namespaced pi-basiertes PluginJaPlugin Enhancer
Extbase PluginJaExtbase Enhancer
RSS, JSON, XML oder SuffixJaPageType Decorator
robots.txtNeinStatische Route

Struktur eines Route Enhancers

Ein Route Enhancer erweitert eine bestehende Seitenroute, ordnet Anfrageparameter Platzhaltern zu und verbindet den resultierenden Pfad mit der passenden Plugin-Aktion.

EigenschaftZweck
typeWählt den Typ des Enhancers aus
limitToPagesBeschränkt den Enhancer auf bestimmte Seiten-UIDs
extensionIdentifiziert die Extbase Extension
pluginIdentifiziert das registrierte Plugin
routesEnthält verfügbare Routendefinitionen
routePathDefiniert das lesbare Pfadmuster
_controllerVerbindet die Route mit einer Controller-Aktion
_argumentsOrdnet Platzhalter Plugin-Argumenten zu
defaultsDefiniert optionale Standardwerte
requirementsBeschränkt akzeptierte Werte
aspectsOrdnet Argumente lesbaren oder statischen Werten zu

Das folgende aktuelle EXT:news-Beispiel erstellt eine sprechende Detail-URL:

 

# config/sites/example/config.yaml

routeEnhancers:
News:
type: Extbase
limitToPages:
- 13
extension: News
plugin: Pi1
routes:
- routePath: '/article/{news-title}'
_controller: 'News::detail'
_arguments:
news-title: news
aspects:
news-title:
type: NewsTitle

 

Vorher:
/news?tx_news_pi1[news]=42

Nachher:
/news/article/example-article

limitToPages stellt sicher, dass diese Konfiguration nur für die Seite mit dem News-Detail-Plugin gilt. Der Route-Pfad definiert die sichtbare URL-Struktur, _arguments verbindet den Platzhalter mit dem News-Datensatz und der NewsTitle Aspect löst sein optimiertes URL-Segment auf. Die aktuelle EXT:news-Dokumentation empfiehlt die Verwendung von limitToPages oder einem klaren Präfix wie /article/, um Routing-Konflikte zu reduzieren.

Wenn mehrere Extbase-Routen mit denselben Parametern übereinstimmen könnten, verwendet TYPO3 die erste passende Konfiguration. Platzieren Sie spezifische Routen vor allgemeineren Routen, leeren Sie anschließend alle Caches und testen Sie sowohl generierte Links als auch manuell eingegebene URLs.

TYPO3 Route Enhancer Typen

TYPO3 stellt verschiedene Enhancer für einfache Parameter, Namespaced-Plugins, Extbase-Aktionen und Seiten-Ausgabeformate bereit. Die Auswahl des richtigen Typs sorgt für vorhersehbare Routen und verhindert nicht aufgelöste Parameter.

TypAm besten geeignet für
Simple EnhancerReguläre GET-Parameter
Plugin EnhancerNamespaced pi-basierte Plugins
Extbase EnhancerExtbase-Controller, Aktionen und Datensätze
PageType DecoratorRSS, JSON, XML und URL-Suffixe
Benutzerdefinierter EnhancerProjektspezifische Routing-Logik

Simple Enhancer

Verwenden Sie den Simple Enhancer für nicht-namespaced Parameter wie Filter oder Kategorien.

 

routeEnhancers:
Category:
type: Simple
limitToPages: [13]
routePath: '/category/{category}'
aspects:
category:
type: StaticValueMapper
map:
news: 1
events: 2

 

Vorher: ?category=1
Nachher: /category/news

Verwenden Sie stattdessen einen Plugin oder Extbase Enhancer, wenn Parameter zu einem Plugin-Namespace gehören.

Plugin Enhancer

Verwenden Sie den Plugin Enhancer für pi-basierte Plugins mit Namespaced-Argumenten.

 

routeEnhancers:
Login:
type: Plugin
limitToPages: [25]
namespace: tx_felogin_pi1
routePath: '/login/{action}'
requirements:
action: ‘login|forgot|reset’

 

Der Namespace muss mit den tatsächlichen Request-Parametern übereinstimmen. Andernfalls kann TYPO3 die ursprüngliche Query-String-Struktur beibehalten.

Extbase Plugin Enhancer

Verwenden Sie den Extbase Enhancer, wenn Routen mit Controller-Aktionen und Datensätzen verbunden werden müssen.

 

routeEnhancers:
News:
type: Extbase
limitToPages: [13]
extension: News
plugin: Pi1
routes:
- routePath: '/article/{news-title}'
_controller: 'News::detail'
_arguments:
news-title: news
defaultController: 'News::list'
aspects:
news-title:
type: PersistedAliasMapper
tableName: tx_news_domain_model_news
routeFieldName: path_segment

 

Vorher: ?tx_news_pi1[news]=42
Nachher: /article/example-news-title

TYPO3 verarbeitet Extbase-Routen in der angegebenen Reihenfolge. Platzieren Sie daher spezifische Routen vor allgemeineren Mustern.

PageType Decorator

Verwenden Sie den PageType Decorator für lesbare Ausgabeformate und URL-Suffixe.

 

routeEnhancers:
PageTypeSuffix:
type: PageType
default: ''
map:
'.json': 100
'.xml': 200
'feed.rss': 9818

 

Dadurch wird ?type=100 in .json umgewandelt. Verwenden Sie Suffixe einheitlich, besonders bei etablierten Websites, bei denen URL-Änderungen Weiterleitungen erfordern können.

Benutzerdefinierte Enhancer

Erstellen Sie einen benutzerdefinierten Enhancer nur dann, wenn die vollständige Route ein Verhalten benötigt, das TYPO3 Core nicht bereitstellt. Wenn nur ein einzelner Platzhalter speziell zugeordnet werden muss, ist ein benutzerdefinierter Aspect meistens einfacher und sicherer.

TYPO3 Routing Aspects und cHash

Aspects ordnen einzelne Routenwerte zu. Sie können IDs durch Slugs ersetzen, feste Segmente übersetzen oder Werte auf einen bekannten Bereich beschränken.

AspectZweckTypische Verwendung
StaticValueMapperOrdnet feste Werte zuKategorien oder Monate
LocaleModifierÜbersetzt statische Segmentearchivearchiv
StaticRangeMapperBegrenzt numerische WertePaginierung
PersistedAliasMapperLiest einen gespeicherten SlugNews-Detail-Routen
PersistedPatternMapperKombiniert DatensatzfelderTitel plus UID
Custom AspectFügt eigene Mapping-Logik hinzuProjektspezifische Werte

Ein Enhancer definiert das Routenmuster, während ein Aspect einen einzelnen Platzhalter abbildet.

 

routePath: '/news/{news-title}'

 

Hier kann PersistedAliasMapper {news-title} von einer Datensatz-UID in den gespeicherten Slug umwandeln.

Häufige Aspect-Beispiele

 

# Fixed values
aspects:
month:
type: StaticValueMapper
map:
january: 1
february: 2

# Localized segment
aspects:
archive:
type: LocaleModifier
default: archive
localeMap:
- locale: 'de_.*'
value: archiv

# Pagination
aspects:
page:
type: StaticRangeMapper
start: '1'
end: ‘100’

# Database slug
aspects:
news-title:
type: PersistedAliasMapper
tableName: tx_news_domain_model_news
routeFieldName: path_segment

 

Verwenden Sie PersistedPatternMapper, wenn ein Routenwert mehrere Datensatzfelder kombinieren muss. Erstellen Sie einen benutzerdefinierten Aspect nur dann, wenn keiner der integrierten Mapper die benötigte Umwandlung durchführen kann.

cHash-Verhalten

cHash bleibt erhalten, wenn TYPO3 weiterhin einen oder mehrere Parameter als dynamisch betrachtet. Ein Route Enhancer allein garantiert nicht, dass der Parameter entfernt wird.

Aspects und unterstützte statische Werte helfen TYPO3 dabei, vorhersehbare Parameter zu erkennen. Eine Regex-Anforderung beschränkt lediglich, welche Werte zur Route passen können, und sollte nicht als universelle Methode zur cHash-Entfernung betrachtet werden.

Behalten Sie cHash, wenn dynamische Parameter tatsächlich unterschiedliche cachebare Inhalte erzeugen.

Route Enhancer in TYPO3 v14 Site Sets

TYPO3 14.1 ermöglicht es, wiederverwendbare Route Enhancer über Site Sets bereitzustellen.

Verwenden Sie Site-Level-Routing für eine einzelne Website:

 

config/sites/my-site/config.yaml

 

Verwenden Sie ein Site Set, wenn Routen zwischen Projekten geteilt oder mit einer Extension ausgeliefert werden sollen:

 

EXT:my_extension/Configuration/Sets/MySet/
├── config.yaml
└── route-enhancers.yaml

routeEnhancers:
ProductCategory:
type: Simple
routePath: ‘/category/{category}’

 

Site-Set-Routen werden entsprechend der Abhängigkeitsreihenfolge zusammengeführt. Spätere Sets können frühere Werte überschreiben, während Konfigurationen, die direkt auf Site-Ebene definiert sind, die höchste Priorität besitzen.

TYPO3 v13 unterstützt die separate Datei route-enhancers.yaml nicht. Verwenden Sie dort weiterhin config.yaml oder importierte separate YAML-Dateien.

Praktische TYPO3 Routing Beispiele

Diese Beispiele zeigen, wie Routing häufig verwendete Parameter in lesbare Pfade umwandelt.

Einfacher Parameter

 

routeEnhancers:
Category:
type: Simple
routePath: ‘/category/{category}’

 

Vorher: ?category=12
Nachher: /category/12

Extbase Detail-Route

 

routeEnhancers:
Products:
type: Extbase
limitToPages: [20]
extension: Products
plugin: List
routes:
- routePath: '/{product}'
_controller: 'Product::show'
_arguments:
product: product
aspects:
product:
type: PersistedAliasMapper
tableName: tx_products_domain_model_product
routeFieldName: slug

 

Vorher: ?tx_products_list[product]=42
Nachher: /example-product

Paginierung

 

routes:
- routePath: '/page-{page}'
_controller: 'News::list'
_arguments:
page: currentPage
aspects:
page:
type: StaticRangeMapper
start: '1'
end: ‘100’

 

Vorher: ?currentPage=2
Nachher: /page-2

Nach Änderungen an einem Route Enhancer sollten Sie TYPO3-Caches leeren und sowohl generierte Links als auch manuell eingegebene URLs testen.

Slugs und mehrsprachiges Routing

Slugs-and-Multilingual-Routing

Rebuild-URL-slugs

Slugs erstellen lesbare Seiten- und Datensatzpfade, während die Sprachkonfiguration übersetzte URLs steuert.

Seiten-Slugs stammen aus dem Seitenbaum. Datensatz-Slugs gehören zu Extensions wie News, Produkten oder Veranstaltungen.

 

languages:
- title: English
languageId: 0
base: /

- title: German
languageId: 1
base: /de/

 

Verwenden Sie LocaleModifier für übersetzte statische Segmente:

SpracheRoute
Englisch/archive/2026
Deutsch/archiv/2026

404-Fehler beim Sprachwechsel entstehen häufig durch fehlende Übersetzungen, versteckte Seiten, ungültige Slugs oder strenge Fallback-Einstellungen.

Statische Routen, Sitemaps und Weiterleitungen

Statische Routen verarbeiten feste Pfade wie robots.txt, Favicons und Sitemap-URLs.

 

routes:
- route: robots.txt
type: staticText
content: |
User-agent: *
Allow: /

 

Verwenden Sie einen PageType Decorator für Formate wie RSS oder JSON:

 

routeEnhancers:
PageType:
type: PageType
map:
feed.xml: 9818
data.json: 100

 

TYPO3 v13 verwendet häufig manuelle Sitemap-Routen. TYPO3 14.1 kann Sitemap-Routen über das SEO Site Set bereitstellen.

Wenn sich Slugs ändern, kann EXT:redirects automatisch Weiterleitungen erstellen. Verwenden Sie temporäre Weiterleitungen für vorübergehende Änderungen und permanente Weiterleitungen nur dann, wenn die URL-Änderung endgültig ist. Vermeiden Sie Weiterleitungsketten, indem alte URLs direkt auf das finale Ziel verweisen.

TYPO3 Routing SEO Best Practices

Stabile und konsistente Routen helfen Suchmaschinen dabei, die richtigen URLs zu crawlen und vermeidbare Duplikate zu verhindern.

Stabile URLs und eindeutige Slugs

Vermeiden Sie Änderungen an bestehenden Pfaden ohne einen Migrationsplan. Verwenden Sie lesbare, eindeutige Slugs und verhindern Sie Routenmuster, die dieselbe Anfrage unterschiedlich auflösen könnten.

Routing-Bereich und Paginierung

Verwenden Sie limitToPages, damit Enhancer nur dort ausgeführt werden, wo sie benötigt werden. Halten Sie Paginierungs-, Kategorie-, Tag- und Filter-Routen vorhersehbar und vermeiden Sie unbegrenzte Parameterkombinationen.

Canonicals, Sprachen und Sitemaps

Wenn typo3/cms-seo aktiv ist, kann TYPO3 Canonical- und hreflang-Links erzeugen. Prüfen Sie, dass diese in jeder Sprache direkt auf die finalen gerouteten URLs verweisen. Sitemap-Einträge sollten ebenfalls die kanonische URL verwenden und nicht eine Weiterleitung oder parameterbasierte Variante.

Deployment-Checkliste

  • Prüfen Sie Canonical- und hreflang-Ziele.
  • Überprüfen Sie Paginierungs- und Filter-URLs.
  • Stellen Sie sicher, dass Sitemap-URLs den Status 200 zurückgeben.
  • Crawlen Sie auf Weiterleitungsketten und 404-Fehler.
  • Überwachen Sie die Google Search Console nach dem Launch.

Häufige TYPO3 Routing Probleme und Lösungen

Die meisten Routing-Fehler entstehen durch gecachte Konfigurationen, falschen Routing-Bereich, nicht passende Argumente oder nicht aufgelöste Slugs.

SymptomWahrscheinliche UrsacheLösung
Enhancer wird ignoriertSeite ausgeschlossenlimitToPages prüfen
Alte Route bleibt bestehenYAML im CacheTYPO3-Caches leeren
cHash bleibt erhaltenDynamischer ParameterGeeigneten Aspect hinzufügen
Detailseite liefert 404Alias nicht aufgelöstTabelle, Slug und Sichtbarkeit prüfen
Falsche Aktion wird geladenReihenfolge der RoutesSpezifische Routes zuerst platzieren
Plugin-Parameter bleibenFalscher NamespaceRequest-Namespace abgleichen
Paginierung funktioniert nichtFalsches Argument-Mapping_arguments prüfen
Sprachroute funktioniert nichtFehlende Übersetzung oder SlugLokalisierte Datensätze prüfen
Doppelte RouteÜberlappende PfadeEindeutiges Präfix hinzufügen
Site-Set-Route fehltSite-ÜberschreibungMerge-Reihenfolge prüfen

Debuggen Sie eingehende Requests in PageRouter, ausgehende Extbase-URLs in ExtbasePluginEnhancer und testen Sie Antworten mit:

 

curl -I https:// example(.)com/ news/ example

 

Ein 404 bedeutet, dass keine gültige Seite oder erweiterte Route aufgelöst wurde. Ein Weiterleitungsstatus bedeutet, dass TYPO3 eine Weiterleitung vor dem Erreichen der finalen Seite verarbeitet hat.

Legacy Migration und optionale Extensions

Moderne TYPO3-Versionen verwenden Core Routing, daher sind RealURL und CoolUri für aktuelle Projekte nicht erforderlich. Auch die EXT:news-Dokumentation bestätigt, dass Core Enhancer und Aspects diese älteren URL-Rewriting-Extensions ersetzen.

Migration von RealURL

Bewahren Sie die alten RealURL-Tabellen auf, bis der Slug-Migrationsassistent abgeschlossen ist. Erstellen und überprüfen Sie Seiten-Slugs, ordnen Sie wichtige Legacy-Pfade zu, erstellen Sie Weiterleitungen und crawlen Sie die migrierte Website, bevor Sie alte Routing-Daten entfernen.

Extension-Kompatibilität geprüft Juni 2026

ExtensionAktueller Status
justincaseUnterstützt TYPO3 11–13
content_slugUnterstützt TYPO3 14 und aktuelle v13/v12 Releases
my_configurable_routesAufgeführt für TYPO3 9
slug, ig_slug, routesVor der Beibehaltung überprüfen

Finale TYPO3 Routing Checkliste

Verwenden Sie diese Checkliste vor der Bereitstellung einer neuen oder aktualisierten Routing-Konfiguration.

  • Die Site Configuration wurde erstellt.
  • Die Basis-URL und rootPageId sind korrekt.
  • Seiten- und Datensatz-Slugs sind gültig und eindeutig.
  • Der richtige Route Enhancer Typ wurde ausgewählt.
  • Enhancer sind, wo erforderlich, mit limitToPages eingeschränkt.
  • Jeder Routen-Platzhalter besitzt das korrekte Argument-Mapping.
  • Geeignete Aspects sind für Slugs, Bereiche und feste Werte konfiguriert.
  • Das cHash-Verhalten wurde getestet.
  • Alle konfigurierten Sprachen und übersetzten Routen funktionieren korrekt.
  • Weiterleitungen zeigen direkt auf ihre finalen Ziele.
  • Canonical- und hreflang-URLs verwenden die finalen gerouteten Pfade.
  • Sitemap-URLs liefern den erwarteten Inhalt und Statuscode.
  • TYPO3-Caches wurden nach YAML-Änderungen geleert.
  • Generierte Links und manuell eingegebene URLs wurden beide getestet.
  • Routing-YAML wurde in TYPO3 13.4 und 14.3 überprüft.

Fazit

TYPO3 Routing wird deutlich einfacher, wenn Seiten-Routen, Enhancer, Aspects, Slugs und statische Routen als einzelne Bestandteile desselben Systems betrachtet werden. Beginnen Sie mit einer korrekten Site Configuration, fügen Sie nur die Routen hinzu, die Ihre Extensions benötigen, halten Sie Muster vorhersehbar und testen Sie jede Sprache sowie jede Weiterleitung vor der Bereitstellung.

Benötigen Sie Unterstützung bei komplexen Extension-Routen, mehrsprachigen URLs oder einer Legacy RealURL-Migration? Entdecken Sie die TYPO3-Lösungen von T3Planet oder kontaktieren Sie das Team für praktische Unterstützung bei der Umsetzung.

Viel Erfolg mit TYPO3 Routing!

TYPO3 Routing wandelt technische Seiten-IDs und Extension-Parameter in lesbare URLs um. Es verwendet Site Configuration, Seiten-Slugs, Route Enhancer und Aspects, um URLs wie /?id=13&tx_news_pi1[news]=42 in Pfade wie /news/example-article umzuwandeln.

Nein. Standardseiten werden automatisch über die TYPO3 Site Configuration und ihre Seiten-Slugs geroutet. Route Enhancer werden benötigt, wenn Extension-Argumente, Controller-Aktionen, Paginierungswerte, Kategorien oder Datensatz-IDs in lesbare URL-Segmente umgewandelt werden müssen.

In TYPO3 13.4 werden Route Enhancer normalerweise in der config.yaml-Datei der Website definiert oder aus separaten YAML-Dateien importiert. Ab TYPO3 14.1 können Extensions und Site Packages wiederverwendbare Enhancer auch über eine dedizierte Site Set-Datei route-enhancers.yaml bereitstellen.

TYPO3 14.1 hat Route Enhancer innerhalb von Site Sets eingeführt. Extensions können nun wiederverwendbare Routing-Presets über route-enhancers.yaml ausliefern. Diese Presets werden entsprechend der Abhängigkeitsreihenfolge der Site Sets geladen, während Routing-Konfigurationen, die direkt in der Site Configuration der Website definiert sind, Vorrang haben.

cHash erscheint, wenn TYPO3 einen oder mehrere Request-Parameter weiterhin als dynamisch betrachtet. Das Hinzufügen eines Route Enhancers entfernt ihn nicht automatisch. Verwenden Sie geeignete Aspects oder unterstützte statische Werte, wenn Parameter vorhersehbar zugeordnet werden können. Behalten Sie jedoch cHash bei, wenn dynamische Argumente tatsächlich unterschiedliche cachebare Inhalte erzeugen.

Verwenden Sie einen Extbase Route Enhancer, der Extension, Plugin, Controller-Aktion, Routenpfad und Argument-Mapping definiert. Fügen Sie einen PersistedAliasMapper hinzu, wenn die interne Datensatz-UID durch einen lesbaren Slug ersetzt werden soll, der in der Datenbanktabelle der Extension gespeichert ist.

Erstellen Sie einen Extbase Enhancer für die News Extension und definieren Sie Routen für Detailseiten, Paginierung, Kategorien, Tags oder Archive. Beschränken Sie ihn mit limitToPages oder verwenden Sie klare Präfixe wie /article/, um Konflikte mit anderen Routen zu reduzieren.

Ja, ab TYPO3 14.1. Fügen Sie eine route-enhancers.yaml-Datei innerhalb des Site Set-Verzeichnisses hinzu und binden Sie das Set als Abhängigkeit der Website ein. TYPO3 13 unterstützt Site Sets, aber Route Enhancer müssen weiterhin in der Site Configuration oder importierten YAML-Dateien definiert werden.

Eine mehrsprachige Route kann einen 404-Fehler zurückgeben, wenn die übersetzte Seite oder der Datensatz fehlt, versteckt, deaktiviert ist oder keinen gültigen lokalisierten Slug besitzt. Prüfen Sie außerdem die Sprachbasis, die Fallback-Konfiguration, den Route Aspect und ob der angeforderte Datensatz in der ausgewählten Sprache verfügbar ist.

Nein. Moderne TYPO3-Versionen bieten Core Routing für Seiten und Extension-Parameter. RealURL und CoolUri sind nur noch bei der Migration älterer Installationen relevant. Bestehende URLs sollten sorgfältig zugeordnet werden, wobei Weiterleitungen eingerichtet werden sollten, bevor die Legacy-Routing-Extension und deren Konfiguration entfernt werden.

Ihre zentrale Lösung für individuelle TYPO3-Entwicklung

Entdecken Sie individuelle TYPO3-Entwicklungslösungen im T3Planet Shop – abgestimmt auf Ihr Projekt, Ihre Geschäftsziele und Ihre technischen Anforderungen.

  • Über ein Jahrzehnt TYPO3-Erfahrung
  • 350+ erfolgreiche TYPO3-Projekte
  • 87 % wiederkehrende TYPO3-Kunden
TYPO3 Service
wolfgang weber

Post a Comment

×

  • user
    Cliff 2026-09-05 At 6:49 am
    %u
    Link exchange is nothing else however it is just placing the other person's website link on your page at suitable place and other person will also do same in favor of you.https://sodick.su/bitrix/click.php?goto=http://abm-invest.ru/bitrix/redirect.php%3Fgoto=https://d2-studio.com/redirect%3Furl=https://ste-b2b.agency/
  • user
    Gabrielle 2026-09-05 At 5:15 am
    %u
    I loved as much as you will receive carried out right here. The sketch is tasteful, your authored subject matter stylish. nonetheless, you command get got an impatience over that you wish be delivering the following. unwell unquestionably come further formerly again since exactly the same nearly a lot often inside case you shield this hike.https://crownmouldingbiz.my-free.website/s/cdn/?ste-b2b.agency
  • user
    Don 2026-09-04 At 12:55 pm
    %u
    Wonderful post however , I was wanting to know if you could write a litte more on this topic? I'd be very grateful if you could elaborate a little bit more. Kudos!https://medic.insure/bitrix/redirect.php?goto=http://africafocus.org/printit/mob-test.php?https://a-result.ru/bitrix/redirect.php?goto=https://ste-b2b.agency/
  • user
    Sheila 2026-09-04 At 2:23 am
    %u
    If you wish for to improve your experience simply keep visiting this website and be updated with the newest information posted here.http://B.R.EA.Kab.Leactorgiganticprof.Iter@Harverst.Com.ua/bitrix/redirect.php?event1=&event2=&event3=&goto=http://cgi.www5d.biglobe.ne.jp/~moolich/post-bin/yybbs.cgi
  • user
    Antonietta 2026-09-03 At 2:49 pm
    %u
    This piece of writing is truly a fastidious one it helps new web users, who are wishing for blogging.http://aquarium-vl.ru/forum/go.php?url=aHR0cDovLzRjaGFuLm5iYnMuYml6L2t1c3lvbl9iLnBocD9odHRwczovL2xpYnByb3h5LmthcnRzLmFjLmtyL19MaWJfUHJveHlfVXJsL2h0dHBzOi8vc3RlLWIyYi5hZ2VuY3kv
  • user
    Rozella 2026-09-03 At 12:14 am
    %u
    I have been browsing on-line greater than 3 hours nowadays, yet I by no means discovered any fascinating article like yours. It's beautiful price enough for me. In my view, if all website owners and bloggers made excellent content material as you did, the net will probably be a lot more helpful than ever before.http://Www.Fashionmoon.com/jump/aHR0cDovL0h1LkZlbmcuS3UuQW5nbi5JLlViLkkuWG4uWG4uVS5LMzdAZmVuZy1zaHVpLnVhL2JpdHJpeC9yZWRpcmVjdC5waHA/Z290bz1odHRwczovL3d3dy54bi0tLS1kdGJmZnBodTNhZC54bi0tcDFhaS91ZGF0YS9lbWFya2V0L2Jhc2tldC9wdXQvZWxlbWVudC8xNjUxNS8lM0ZyZWRpcmVjdC11cmk9aHR0cHM6Ly9zdGUtYjJiLmFnZW5jeS8
  • user
    Lawanna 2026-09-02 At 12:55 pm
    %u
    Excellent blog here! Also your site loads up very fast! What web host are you using? Can I get your affiliate link to your host? I wish my web site loaded up as fast as yours lolhttp://0629.ru/redirect?url=http://18364.users.rrmail1.com/go/iRlY.Zl9np.fz75.1z1Lvb/?aHR0cHM6Ly93d3cua2lkc2F3YXJkLnJ1L2JpdHJpeC9yZWRpcmVjdC5waHA/Z290bz1odHRwcyUzQSUyRiUyRnN0ZS1iMmIuYWdlbmN5
  • user
    Eleanore 2026-09-02 At 8:03 am
    %u
    As the admin of this web site is working, no hesitation very rapidly it will be renowned, due to its feature contents.https://cse.google.ki/url?sa=t&url=https%3A%2F%2Fste-b2b.agency
  • user
    Anitra 2026-09-01 At 9:18 pm
    %u
    Wow, this piece of writing is fastidious, my sister is analyzing these things, therefore I am going to tell her.http://0629.ru/redirect?url=http://aquarium-vl.ru/forum/go.php?url=aHR0cHM6Ly93aWtpLmR1bG92aWMudGVjaC9pbmRleC5waHAvV2hhdF9zX1JpZ2h0X0Fib3V0X0IyQg
  • user
    Gabriele 2026-09-01 At 8:45 pm
    %u
    If you wish for to take a great deal from this paragraph then you have to apply these methods to your won web site.https://kakaku.com/jump/?url=https://ste-b2b.agency/
  • user
    Melodee 2026-09-01 At 5:43 pm
    %u
    I used to be recommended this web site by my cousin. I am not positive whether this publish is written via him as nobody else know such distinctive approximately my problem. You are wonderful! Thank you!https://woundcaregurus.com/the-a-z-of-b2b-marketing/
  • user
    Heriberto 2026-08-30 At 2:04 pm
    %u
    Howdy! I'm at work browsing your blog from my new apple iphone! Just wanted to say I love reading your blog and look forward to all your posts! Keep up the superb work!https://47.cholteth.com/index/d1?diff=0&utm_source=ogdd&utm_campaign=26607&utm_content=&utm_clickid=g00w000go8sgcg0k&aurl=http%3A%2F%2Fste-b2b.agency&pushMode=popup
  • user
    Kerstin 2026-08-30 At 7:44 am
    %u
    I'm really enjoying the theme/design of your weblog. Do you ever run into any internet browser compatibility issues? A number of my blog readers have complained about my blog not working correctly in Explorer but looks great in Safari. Do you have any solutions to help fix this issue?https://ready.chair6.net/?url=linedoor-yug.ru/bitrix/redirect.php%3Fevent1%3Dclick_to_call%26event2%3D%26event3%3D%26goto%3Dhttps%3A//kirpich.center/bitrix/redirect.php%3Fgoto%3Dhttps%3A//ste-b2b.agency/
  • user
    Sylvia 2026-08-30 At 6:28 am
    %u
    There is certainly a lot to learn about this topic. I really like all the points you have made.https://tz25.ru/bitrix/redirect.php?goto=https://ste-b2b.agency
  • user
    Loyd 2026-08-29 At 9:09 pm
    %u
    Excellent post. Keep writing such kind of information on your blog. Im really impressed by your site.
    Hi there, You've performed a fantastic job. I will certainly digg it and in my view suggest to my friends. I'm confident they'll be benefited from this site.https://xn--12-dlc3da2a.xn--p1ai/bitrix/redirect.php?goto=https://ste-b2b.agency/
  • user
    Cheryl 2026-08-29 At 8:27 pm
    %u
    Thank you for the auspicious writeup. It in fact was a amusement account it. Look advanced to more added agreeable from you! By the way, how could we communicate?https://takuya-1st.hatenablog.jp/iframe/hatena_bookmark_comment?canonical_uri=https%3A%2F%2Fste-b2b.agency
  • user
    Jessie 2026-08-29 At 6:53 pm
    %u
    My spouse and I stumbled over here by a different website and thought I might check things out. I like what I see so i am just following you. Look forward to looking over your web page yet again.https://pennynelson.com/x/cdn/?ste-b2b.agency
  • user
    Meagan 2026-08-29 At 4:03 pm
    %u
    Hey there! Do you know if they make any plugins to assist with SEO? I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very good results. If you know of any please share. Thanks!https://go.115.com/?https%3A%2F%2Fste-b2b.agency/
  • user
    Constance 2026-08-29 At 8:29 am
    %u
    Howdy just wanted to give you a quick heads up. The words in your post seem to be running off the screen in Firefox. I'm not sure if this is a format issue or something to do with browser compatibility but I thought I'd post to let you know. The style and design look great though! Hope you get the problem resolved soon. Cheershttp://archive.predistoria.org/index.php?name=Info&url=ste-b2b.agency
  • user
    Susana 2026-08-29 At 1:48 am
    %u
    When some one searches for his necessary thing, thus he/she needs to be available that in detail, thus that thing is maintained over here.https://anybag.ua/bitrix/redirect.php?goto=https://ste-b2b.agency/