TYPO3 kann nun selbst suchmaschinenfreundliche URLs erzeugen. Dafür waren früher Erweiterungen wie Realurl notwendig. In den Seiteneigenschaften kann für jede Sprache eine URL Segment angegeben werden, über das die Seite dann erreichbar ist.
Die Systemerweiterung seo schreibt einen Canonical Link in den Quelltext. Über die Seiteeigenschaften kann der Link auf eine andere Seite gesetzt werden
Das Adminpanel wurde umgebaut und zeigt wichtige Konstanten und Umgebungsvariablen. Außerdem können die SQL Statements aufgelistet werden, die pro Seite in der Datenbank ausgeführt werden.
TYPO3 9 nutzt für Bedingungen innerhalb von Typoscript die Symfony Expression Language. Die alte Syntax funktioniert zwar weiterhin, gilt aber als deprecated und wird ab TYPO3 10 nicht mehr unterstützt.
Das Installtool wurde abgeschafft und die Funktionalität in den Backend-Modulbereich "System" integriert. Der Zugriff auf diesen Bereich wird über die neue Rolle des Systemmaintainers geregelt.
Seiten werden intern nach dem gleichen Prinzip übersetzt wie alle anderen Datensätze auch. Dadurch entfällt die Tabelle pages_language_overlay.
Der Extension Scanner prüft, welche Schritte vorgenommen werden müssen, um eine Extension zum Beispiel von TYPO3 8 auf TYPO3 9 zu migrieren. So werden zum Beispiel API Aufrufe reklamiert, die veraltete (deprecated) Funktionen beinhalten.
Wizards wie bei der Erstellung von neuen Inhaltselement werden nun in Modalfenstern angezeigt, um den Nutzer nicht aus dem aktuellen Context zu reissen.
Wenn Redakteure zwischen verschiedenen Backendlayouts wechseln, können Inhaltselemente ihre Zuordnung zu einem aktiven Seitenbereich verlieren. Diese Elemente werden nun im Backend angezeigt, damit sie neu zugeordnet werden können.
Das Anzeigen Module ermöglicht nun zwischen den Ansichten verschiedener mobilen Endgeräte
zu wechseln. Der Redakteur kann so das Aussehen der Webseite auf Handys, Tablets oder Computerbildschirmen nachvollziehen.
Redirects können nun im Backend leicht angelegt werden. Dabei ist u. a. die Verwendung von Regular Expressions und
das Setzen von HTTP Statuscodes mögich.
Wenn der Debug Modus aktiviert ist, sieht man in den Backend-Eingabefeldern, auf welche Datenbankfelder sich beziehen.
Als Entwickler freut man sich besonders über dieses Feature, weil es das zeitaufwendige Nachschauen im Quelltext der Seite
überflüssig macht.