Seit TYPO3 v9 hat jede Website in einer TYPO3-Installation eine eigene Site-Konfiguration mit einem eigenen Backend-Modul. Diese Schritt-für-Schritt-Anleitung (für Einsteiger bis Fortgeschrittene) behandelt die TYPO3 Site-Konfiguration von TYPO3 v9 und v10 bis zu den aktuellen LTS-Versionen TYPO3 v13.4 und v14.
TYPO3 Site Management bietet eine moderne Möglichkeit zur Verwaltung von Single- oder Multi-Site-Installationen. Die seit TYPO3 v9 verfügbare Site-Konfiguration definiert den Einstiegspunkt jeder Website, Sprachen, routing, Fehlerbehandlung und weitere wichtige Einstellungen. Für Projekte, die zusätzlich AI einsetzen, stellt die AI Foundation für TYPO3 eine zentrale Backend-Ebene zur Konfiguration von Anbietern, Kontexten, Berechtigungen, Budgets und AI-Workflows bereit.
IMHO, TYPO3-Site-Konfiguration ist eine der späten, aber großen Entscheidungen der TYPO3-Community.
TYPO3 hat bereits seit über 20 Jahren Multi-Site- und Multi-Sprachen-Funktionen, aber mit vielen komplizierten und unstrukturierten Tonnen von TypoScript, RealURL-Konfiguration, Domains Records usw.
Mit dem Backend-Modul für TYPO3-Sites haben wir nun aber eine strukturierte und einfach zu bedienende Verwaltung der TYPO3-Sites.
Sind Sie Anfänger oder Mittelstufe in der Konfiguration von TYPO3-Sites? Dann sollten Sie sich mit dem TYPO3-Site-Management vertraut machen.
Kurze Antwort: Die TYPO3 Site-Konfiguration ist eine YAML-Datei, config/sites/<identifier>/config.yaml, die Root-Seite, Basis-URL, Sprachen, Fehlerseiten, statische Routen und Route Enhancer einer Website festlegt. Sie bearbeiten sie im Backend unter Site Management > Sites (TYPO3 v13) oder Sites > Setup (TYPO3 v14) oder direkt in der Datei unter Versionsverwaltung.
Das Wichtigste in Kürze
- Jede Website braucht eine Root-Seite (
rootPageId), einebaseund mindestens eine Sprache mitlanguageId: 0. - Seit TYPO3 v12.1 liegen Site Settings in der
settings.yaml. Einsettings-Block in derconfig.yamlwird ignoriert, sobald diese Datei existiert. - Site Sets (ab TYPO3 v13.1) bündeln Settings, TypoScript und Page TSconfig. Eine Website aktiviert sie unter
dependencies; seit TYPO3 v14.1 können Sets auch Route Enhancer liefern. - Die Sprachschlüssel
typo3Language,iso-639-1unddirectionsind seit TYPO3 v12.3 veraltet. TYPO3 leitet sie auslocaleab.
Getestet mit / gültig für: TYPO3 v13.4 LTS und v14 (14.3 LTS), geprüft anhand von TYPO3 Explained: Site handling.
Aktualisiert: November 2026
Klassische vs. moderne TYPO3-Site-Verwaltung
Der klassische Weg konfigurierte Domains, Sprachen und Fehlerseiten über TypoScript, Domain-Datensätze und die Extension RealURL. Der moderne Weg, verfügbar seit TYPO3 v9, bündelt all das in einer Site-Konfiguration pro Website.
Für die Anfänger ist es wichtig zu verstehen, was ein großer Unterschied ist, wie man TYPO3-Sites in früheren und aktuellen TYPO3-Versionen verwaltet.
TYPO3 Site-Konfiguration für folgende TYPO3 v9
In einer älteren Version von TYPO3 haben Sie zur Verwaltung der TYPO3-Website eine Konfiguration wie
// Domain-wise condition to setup each site’s URL
config.baseURL = https://yoursite.com/
// Add languages from the Backend
Web > List > Languages & Domains
// Third-party RealURL TYPO3 extension configuration for each Language & Domains
EXT:realurl
// Add Custom Configuration for Error-handling into RealURL
404 handling
// And so many other tasks
Manually or using third-party TYPO3 extensions for Robots, Google XML Sitemap, etc. Was hat sich in TYPO3 v13 und v14 geändert?
TYPO3 v13 hat Site Sets und einen Editor für Site Settings eingeführt, TYPO3 v14 hat die Backend-Module umbenannt und die Site Settings in das Site Setup integriert. Die Kernschlüssel der config.yaml (base, rootPageId, languages, errorHandling, routes, routeEnhancers) sind für beide Versionen gleich dokumentiert.
- Backend-Modul in v13: Site Management > Sites für das Site Setup, Site Management > Settings für Site Settings (seit v13.3).
- Backend-Modul in v14: Sites > Setup. Das frühere Modul Settings ist Teil von Setup, und Web > List heißt jetzt Content > Records (TYPO3 Changelog #107628). Weitere Änderungen finden Sie in unseren TYPO3 v14 Release Notes.
- Site Sets (ab v13.1): Sets liegen in
Configuration/Sets/<Name>/einer Extension oder eines Site Package. Mehr dazu in Was sind Site Sets in TYPO3 v13?
Klassisch oder modern: welche Methode für welche Aufgabe?
| Methode | Funktioniert in Versionen | Geeignet für | Einschränkung |
Site-Konfiguration (config.yaml) | ab v9, inkl. v13.4 und v14 | Basis-URL, Sprachen, Fehlerseiten, statische Routen, Route Enhancer | Liegt im Dateisystem, nicht in der Datenbank; in die Versionsverwaltung aufnehmen |
Site Settings (settings.yaml) | ab v12.1; typisierte Definitionen ab v13.1 | Werte pro Website für PHP, TypoScript, Page TSconfig und Fluid | Speichern im Settings-Editor schreibt die Datei neu und entfernt Imports |
Site Sets (dependencies) | ab v13.1; Route Enhancer ab v14.1 | Wiederverwendbares TypoScript, Page TSconfig und Settings für mehrere Websites | Bei zusätzlichem sys_template-Datensatz die Clear-Flags deaktivieren, sonst wird das TypoScript der Sets gelöscht |
| sys_template-Datensatz mit TypoScript-Konstanten | alle Versionen; optional seit v13.1 | Bestandsprojekte und Überschreibungen in einem Seitenbaum | Wird nach Site- und Set-TypoScript angewendet und kann es überschreiben |
| Domain-Datensätze, RealURL, TypoScript-Bedingungen | Projekte vor TYPO3 v9 | Alte Projekte verstehen und migrieren | Mit Site Handling sind sys_domain-Datensätze nicht mehr nötig |
Ob Ihr Projekt mit einem unserer TYPO3 Templates oder mit einem eigenen Site Package startet: In der Site-Konfiguration laufen Basis-URL, Sprachen und Site Sets zusammen. Quellen: Site sets (v13.4), Site settings (v12.4).
Minimales config.yaml-Beispiel
Diese Datei definiert eine Website mit Englisch als Standardsprache und Deutsch unter /de/. Speichern Sie sie als config/sites/main/config.yaml (Composer-Modus) und passen Sie rootPageId und base an. Die Schlüssel typo3Language, iso-639-1 und direction sind nicht nötig, TYPO3 leitet sie aus locale ab.
rootPageId: 12
base: 'https://example.org/'
websiteTitle: Example
languages:
- title: English
enabled: true
languageId: 0
base: /
locale: en_US.UTF-8
navigationTitle: English
flag: gb
- title: Deutsch
enabled: true
languageId: 1
base: /de/
locale: de_DE.UTF-8
navigationTitle: Deutsch
flag: de
fallbackType: strict
Quelle: Site handling basics (Struktur anhand der Docs für main und 12.4 geprüft).
TYPO3 Website-Konfiguration: Für Administratoren
Als TYPO3-Administrator sollten Sie über Grundkenntnisse der Site-Verwaltung von TYPO3 verfügen. Wann immer Sie TYPO3 migrieren, müssen Sie z.B. die Domäne wechseln.
Schritt 1. Melden Sie sich im TYPO3 Backend an.
Schritt 2. Gehen Sie in TYPO3 v13 zu Site Management > Sites oder in TYPO3 v14 zu Sites > Setup (siehe obiger Screenshot)
Schritt 3. Bearbeiten Sie eine bestimmte "TYPO3 Site" für jeden Stammseitenbaum.
Schritt 4. Sie können die Domain-URL in das Feld "Einstiegspunkt" ändern.
Das war's schon! Das URL-Routing der gesamten Website wird fantastisch funktionieren ;)
Eines möchte ich noch sagen: "Herzlichen Dank an Dmitry Dulepov" für seine engagierte Arbeit und Unterstützung der RealURL-TYPO3-Erweiterung für ein Jahr. EXT:realurl war eine der großartigen TYPO3-Erweiterungen und half allen bisherigen TYPO3-Sites beim URL-Routing.
Wie werden TYPO3-Site-Konfigurationen gespeichert?
TYPO3 speichert jede Website als YAML-Datei, in Composer-Installationen unter config/sites/<identifier>/config.yaml und im Classic Mode unter typo3conf/sites/<identifier>/config.yaml, nicht in Datenbanktabellen. Nehmen Sie diesen Ordner in die Versionsverwaltung auf.
Das Gute ist, dass TYPO3 eine der sich schnell durchsetzenden modernen Technologien ist, Gott sei Dank ignoriert man TypoScript, PHP usw. Für jede TYPO3-Site-Konfiguration wird die am weitesten verbreitete YAML-Dateistruktur verwendet.
Auf den Speicherort der YAML-Datei kommt es gut an!
// For TYPO3 Composer-Based
<project-root>/config/sites/<identifier>/
// For TYPO3 Non-Composer Project
<project-root>/typo3conf/sites/<identifier>/ Beispiel-Tutorial der TYPO3-Site Config.yaml
Hier ist das grundlegende Tutorial von TYPO3 config.yaml, das sehr selbsterklärend und leicht verständlich ist ;) Dieses minimale Beispiel verwendet nur Schlüssel, die für TYPO3 v13.4 und v14 dokumentiert sind.
# Composer: config/sites/main/config.yaml
# Classic mode: typo3conf/sites/main/config.yaml
# Keys documented for TYPO3 v13.4 LTS and v14
rootPageId: 1
base: 'https://example.org/'
websiteTitle: 'My TYPO3 Website'
dependencies:
- typo3/fluid-styled-content
languages:
- languageId: 0
title: English
enabled: true
locale: en_US.UTF-8
base: /
navigationTitle: English
hreflang: en-US
flag: gb
- languageId: 1
title: Deutsch
enabled: true
locale: de_DE.UTF-8
base: /de/
navigationTitle: Deutsch
hreflang: de-DE
fallbackType: fallback
fallbacks: '0'
flag: de
errorHandling:
- errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=6'
routes:
- route: robots.txt
type: staticText
content: |
User-agent: *
Disallow: /typo3/
Sitemap: https://example.org/sitemap.xml
# Readable sitemap URL, requires the system extension EXT:seo
routeEnhancers:
PageTypeSuffix:
type: PageType
map:
/: 0
sitemap.xml: 1533906435 Wie erstellt man eine neue TYPO3-Site-Konfiguration?
Es ist sehr einfach: Entweder Sie können direkt eine config.yaml erstellen ODER Sie können es schnell per Klick-n-go aus dem TYPO3-Backend heraus tun.
Um Multi-Domain-Websites zu verwalten, müssen Sie nur mehrere Sites für jede Domain hinzufügen.
Außerdem gibt es in der TYPO3-Site-Konfiguration ein interessantes Feld namens "Basisvarianten", das für verschiedene TYPO3-Kontextumgebungen wichtig ist.
Moderne TYPO3-Entwickler richten immer verschiedene TYPO3-Umgebungen ein, z.B. Lokaler Server, Staging-Server, Produktionsserver. So hat natürlich jeder TYPO3-Kontext unterschiedliche URLs. Diese können Sie einfach über baseVariants konfigurieren.
// config.yaml
rootPageId: 1
base: 'https://yourdomain.com/'
baseVariants:
-
base: 'https://yourdomain.local/'
condition: 'applicationContext == "Development"'
-
base: 'https://staging.yourdomain.com/'
condition: 'applicationContext == "Staging"'
-
base: 'https://testing.yourdomain.com/'
condition: 'applicationContext == "Testing"' Einblick in die Konfiguration der TYPO3-Website
Versuchen wir einen tieferen Einblick für jede Konfiguration und Eigenschaften von config.yaml
Werfen Sie einen Blick in die Konfigurationsdatei Ihrer TYPO3-Site, dort finden Sie auch eine andere Sprache.
Natürlich müssen Sie nicht für jede Änderung manuell in das TYPO3-Backend-Site-Verwaltungsmodul gehen, sondern können auch einfach unter config.yaml Änderungen vornehmen.
# config.yaml (excerpt)
# typo3Language, iso-639-1 and direction are deprecated since TYPO3 v12.3
# and derived from locale, so they are not needed any more
base: 'https://t3104.ddev.site/'
rootPageId: 16
languages:
- languageId: 0
title: English
enabled: true
locale: en_US.UTF-8
base: /
navigationTitle: English
hreflang: en-US
flag: gb
- languageId: 1
title: German
enabled: true
locale: de_DE.UTF-8
base: /de/
navigationTitle: German
hreflang: de-DE
fallbackType: strict
flag: de Kostenloser Mehrsprachigkeits-Leitfaden für TYPO3
Planen, übersetzen und synchronisieren Sie die Sprachen Ihrer TYPO3-Website, mit einem 18-seitigen PDF-Leitfaden und einer Excel-Sprachtabelle.
Schritt 3. Wählen Sie "HTTP-Fehlerstatuscode" wie "403". Und wählen Sie "Inhalt der Seite anzeigen" aus dem Dropdown-Menü "Fehlerbehandlung". Eine gute Sache ist, dass Sie es auch über Ihre Fluid-Templates konfigurieren können, ebenso wie über benutzerdefinierte PHP-Klassen-Handler.
Schritt 4. Wählen Sie Ihre 403-Seiten-Fehlerseite unter "Inhalt von Seite anzeigen" (und, Speichern Sie Ihre Konfiguration)
// config.yaml
base: 'https://t3104.ddev.site/'
errorHandling:
-
errorCode: '404'
errorHandler: Page
errorContentSource: 't3://page?uid=18'
-
errorCode: '403'
errorHandler: Page
errorContentSource: 't3://page?uid=6' # config.yaml
base: 'https://t3104.ddev.site/'
routes:
- route: robots.txt
type: staticText
content: |
User-agent: *
Disallow: /typo3/
Sitemap: https://t3104.ddev.site/sitemap.xml
# XML sitemap of EXT:seo (page type 1533906435)
- route: sitemap.xml
type: uri
source: 't3://page?uid=1&type=1533906435'
- route: favicon.ico
type: uri
source: 't3://file?uid=77' Wie fügt man der Site-Konfiguration eine benutzerdefinierte URL-Routing-Erweiterung hinzu?
Route Enhancer im Abschnitt routeEnhancers der config.yaml machen aus Extension-Parametern lesbare URLs. Seit TYPO3 v14.1 kann auch ein Site Set sie in route-enhancers.yaml mitliefern; die Site-Konfiguration hat dabei weiterhin Vorrang (TYPO3 Explained: Site sets).
TYPO3 Route Enhancer – https://news.typo3.com/article/how-to-route-enhancer-for-news
Hilfreiche Tipps und Tricks zur Konfiguration der TYPO3-Site
Um die Verwaltung der TYPO3-Site zu verbessern, möchte ich ein paar Tipps und Tricks weitergeben ;)
CLI-Befehle für TYPO3-Sites
Von Ihren bevorzugten Terminal-Kommandozeilen-Tools aus können Sie zunächst die Details jeder konfigurierten TYPO3-Site auflisten und einsehen
# Composer-based installation
vendor/bin/typo3 site:list
# Classic mode installation (without Composer)
typo3/sysext/core/bin/typo3 site:list # Syntax: site:show <identifier>
# Composer-based installation
vendor/bin/typo3 site:show youridentifier
# Classic mode installation (without Composer)
typo3/sysext/core/bin/typo3 site:show youridentifier Wenn TypoScript auf TYPO3-Site-Konfiguration trifft
Sie können jede Konfiguration Ihrer TYPO3-Site ganz einfach mit unserem fantastischen TypoScript erreichen ;) Hier sind einige Beispiele;
// TypoScript Setup Examples
// Get Site URL
page.10 = TEXT
page.10.data = site:base
page.10.wrap = My Site’s URL: |
// Get Custom Configuration
page.20 = TEXT
page.20.data = site:customConfigKey.nested.value
page.20.wrap = My Custom Configuration: |
// Get Title
page.30 = TEXT
page.30.data = siteLanguage:navigationTitle
page.30.wrap = Title of Current Page: |
// Get Direction Properties of Site
page.40 = TEXT
page.40.dataWrap = The language direction is {siteLanguage:direction} Fluid-Vorlage + TYPO3-Site-Konfiguration
Wir können auch leicht TYPO3-Sites jede Konfiguration in Ihren Fluid Templates mittels "SiteProcessor"-Datenverarbeitung erhalten.
// TypoScript Setup
tt_content.mycontent.20 = FLUIDTEMPLATE
tt_content.mycontent.20 {
file = EXT:myextension/Resources/Private/Templates/ContentObjects/MyContent.html
dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\SiteProcessor
dataProcessing.10 {
as = site
}
}
// Call Properties at your Fluid-Template
<p>{site.rootPageId}</p>
<p>{site.configuration.someCustomConfiguration}</p> TypoScript-Bedingungen für die TYPO3-Site-Konfiguration
Für die Konfiguration von TYPO3-Sites bietet TYPO3 eine spezielle Funktion, die als TypoScript-Bedingung geprüft werden kann. Sehen wir uns das an einem praktischen Beispiel an;
// TypoScript Setup
[site("identifier") == "someIdentifier"]
page.30.value = foo
[global]
[siteLanguage("locale") == "de_CH.UTF-8"]
page.40.value = bar
[global] Die TYPO3-Site-Konfiguration in Extbase PHP übernehmen?
Möchten Sie die Konfigurationseigenschaften der TYPO3-Site in Ihrer Extbase/Fluid TYPO3 Extension aufrufen? Hier sind einige Beispiele, um TYPO3-Konfigurationseigenschaften an Extbase PHP zu übergeben.
<?php
// Valid for TYPO3 v13.4 LTS and v14
use Psr\Http\Message\ServerRequestInterface;
use TYPO3\CMS\Core\Site\SiteFinder;
final class MySiteService
{
public function __construct(
private readonly SiteFinder $siteFinder,
) {}
public function example(ServerRequestInterface $request): void
{
// Current site and site language of the request
$site = $request->getAttribute('site');
$siteLanguage = $request->getAttribute('language');
// Find sites independent of the current request
$siteByIdentifier = $this->siteFinder->getSiteByIdentifier('main');
$siteByPageId = $this->siteFinder->getSiteByPageId(42);
$allSites = $this->siteFinder->getAllSites();
// Read values from the Site object
$rootPageId = $site->getRootPageId();
$configuration = $site->getConfiguration();
$setting = $site->getSettings()->get('myExtension.backgroundColor');
$errorHandler = $site->getErrorHandler(404);
$german = $site->getLanguageById(1);
}
} Die Umgebung in der TYPO3-Site-Konfiguration
Umgebungsvariablen in der Site-Konfiguration ermöglicht das Setzen von Platzhaltern für Konfigurationsoptionen, die durch Umgebungsvariablen ersetzt werden, die für die aktuelle Umgebung spezifisch sind.
// config.yaml
base: 'https://%env(BASE_DOMAIN)%/'
// Import file of ENV-based configuration
resource: 'MyFile_%env("foo")%.yaml' Wie importiert man Ressourcen der TYPO3 Website-Konfiguration in eine benutzerdefinierte Erweiterung?
Ja, Sie können die YAML-Konfiguration Ihrer benutzerdefinierten Erweiterung einfach mit "import" in die TYPO3-Site-Konfiguration importieren.
// config.yaml
base: 'https://t3104.ddev.site/'
rootPageId: 16
imports:
- { resource: 'EXT:youextensionkey/Configuration/Sites/yourextension.yaml' } Wie kann ich die Site-Konfiguration mit der Custom TYPO3 Extension um Optionen erweitern?
Natürlich können Sie die Website-Konfiguration problemlos mit Ihrer eigenen TYPO3-Erweiterung erweitern. Wenn ich z.B. ein benutzerdefiniertes Feld hinzufügen, benutzerdefinierte Optionen für das Backend des TYPO3-Site-Verwaltungsmoduls konfigurieren kann usw.
Hinweis: TYPO3 Explained bezeichnet die Erweiterung des Site-Konfigurationsformulars als experimentell. Unterstützt werden nur einfache Felder wie input (Extending site configuration).
// config.yaml
rootPageId: 1
base: https://yoursite.com
myProject:
recordStorage: 12
// Access it via the API:
$site->getConfiguration()['myProject']['recordStorage'] // Create: Configuration/SiteConfiguration/Overrides/sites.php
<?php
// Configure a new simple required input field to the site
$GLOBALS['SiteConfiguration']['site']['columns']['myCustomField'] = [
'label' => 'My Custom New Field',
'config' => [
'type' => 'input',
'eval' => 'required',
],
];
// And add it to showitem
$GLOBALS['SiteConfiguration']['site']['types']['0']['showitem'] = str_replace(
'base,',
'base, myCustomField, ',
$GLOBALS['SiteConfiguration']['site']['types']['0']['showitem']
); Nützliche TYPO3-Erweiterungen von Drittanbietern für die TYPO3-Site-Konfiguration
Diese Extensions wurden für frühere TYPO3-Versionen geschrieben. Prüfen Sie daher im TER oder bei Packagist, ob sie TYPO3 v13 und v14 unterstützen, bevor Sie eine installieren. Lassen Sie mich einige der nützlichen TYPO3-Erweiterungen für die TYPO3-Site-Konfiguration auflisten.
Paket zur Handhabung der TYPO3-Konfiguration
Einer und nur Helmut - Ein großer Mitwirkender der TYPO3-Gemeinschaft entwickelte eine coole TYPO3-Lösung zur Konfiguration der nächsten Stufe der TYPO3-Kontextumgebung.
Merkmale
- Einstellungen abhängig von der Umgebung
- Konfigurationsdateien in anderen Formaten
- Im Konfigurationsordner gespeicherte Konfigurationsdateien
- Erweiterte Website-Konfiguration
- Verschlüsseln von Werten in Konfigurationsdateien
Schritt 1. TYPO3-Config-Handling-Paket installieren
// CLI Composer Install
composer req helhum/typo3-config-handling {
"extra": {
"helhum/typo3-config-handling": {
"settings": "config/settings.yaml",
"dev-settings": "config/dev.settings.yaml",
"override-settings": "config/override.settings.yaml",
"install-steps": "config/setup/install.steps.yaml"
}
}
} Dynamischer TYPO3-Site-Generator/Baum
Florian Rival entwickelte den EXT:site_generator. Site-Generator-Assistent zur Generierung von Mini-Websites oder Duplikat-Baummodellen. Er erstellt automatisch verknüpfte BE/FE-Gruppen, erstellt Verzeichnisse mit verknüpften Dateien mount, fügt einen Domänennamen hinzu, aktualisiert die Typoscript-Konfiguration (Ordner/Seiten-ID und TCEMAIN.clearCacheCmd), aktualisiert Slugs.
TYPO3-Website: Spracherkennungs-Redirect-Resolver
Daniel Abplanalp entwickelte EXT:ig_language_detection - Moderner Weg zur Spracherkennung. Spracherkennung im PSR-15-Middleware-Stapel auf uri=/. Basierend auf dem Accept-Language-Header wird die entsprechende Site-Konfiguration ausgewählt. Weitere Konfigurationen in der YAML-Site-Konfiguration wie Aliase und mehr sind verfügbar.
- Die Spracherkennung wird nur aufgerufen, wenn "https://www.yoursite.com" eingegeben wurde, aber alle Sites haben "https://www.yoursite.com/lang-key/".
- Weitere Konfigurationen werden in der YAML-Konfigurationsdatei der Site vorgenommen (z.B. typo3conf/sites/website/config.yaml)
- Die Spracherkennung erfolgt mit einem Accept-Header (HTTP_ACCEPT_LANGUAGE) vom Browser.
Umleitung der TYPO3-Site-Konfigurationssprache
Harald Atteneder entwickelte die EXT:site_language_redirection. PSR-15-Middleware zur Umleitung des Benutzers zur korrekten Site-Sprache über HTTP-Header (Accept-Language) und IP-Adresse.
- Diese Erweiterung ermöglicht die Spracherkennung auf der Grundlage der Browsersprache (HTTP-Header) des Besuchers oder seiner IP-Adresse.
- Wenn der Besucher zu einer anderen Sprache navigiert (z.B. durch Sprachumschaltung), wird ein Cookie gesetzt, um die neue Sprache als bevorzugte Sprache zu speichern.
- Suchmaschinen-Bots werden nicht umgeleitet.
Häufige Fehler und Fehlerbehebung
Die meisten Probleme entstehen durch eine Base, die nicht zur aufgerufenen URL passt, eine deaktivierte oder nicht übersetzte Sprache oder eine Base Variant, die im falschen Kontext greift. Prüfen Sie zuerst diese Punkte.
404 nach Änderung der Base
- Verwenden Sie die vollständige URL mit Schema, zum Beispiel
example.org, statt/oder einer reinen Domain. - Verwenden Sie dieselbe
rootPageIdnicht in zwei Site-Konfigurationen. TYPO3 nimmt dann die zuletzt definierte Website. - Nach einer manuellen Änderung der
config.yamlführen Sievendor/bin/typo3 cache:flushaus und vergleichen das Ergebnis mitvendor/bin/typo3 site:show <identifier>.
Sprache erscheint nicht im Frontend
- Prüfen Sie
enabled: true. Eine deaktivierte Sprache bleibt für Redakteure im Backend verfügbar, ist im Frontend aber ausgeblendet. - Mit
fallbackType: strictwerden Datensätze ohne Übersetzung nicht ausgegeben. Nutzen SiefallbackType: fallbackmitfallbacks: '0', wenn die Standardsprache die Lücken füllen soll (Language configuration).
Falsche Base Variant greift
- Bedingungen wie
applicationContext == "Development"hängen vom Application Context des Servers ab, der meist über die UmgebungsvariableTYPO3_CONTEXTgesetzt wird. - Seit TYPO3 v13.0 schlagen anfrageabhängige Funktionen wie
ip()in Base-Variant-Bedingungen mit der Exception #1686745105 fehl. Nutzen Sie stattdessenapplicationContextodergetenv()(Base variants).
Weitere Fragen zur TYPO3 Site-Konfiguration
Brauche ich in TYPO3 v13 oder v14 noch einen sys_template-Datensatz?
Nein, er ist seit TYPO3 v13.1 optional. Eine Website kann setup.typoscript und constants.typoscript neben ihrer config.yaml laden, dazu das TypoScript der Site Sets in ihren Dependencies. Ein sys_template-Datensatz wird danach angewendet. Wenn Sie einen behalten, deaktivieren Sie dessen Clear-Flags, sonst wird das TypoScript der Sets gelöscht (TYPO3 Changelog #103439).
Was ist der Unterschied zwischen Site Settings und TypoScript-Konstanten?
Site Settings werden pro Website in der settings.yaml definiert und lassen sich in PHP mit $site->getSettings(), in TypoScript und Page TSconfig als Konstanten und in Fluid über den SiteProcessor auslesen. Konstanten in einem sys_template-Datensatz gibt es nur in TypoScript. Seit TYPO3 v13.1 können Settings in der settings.definitions.yaml Typen und Standardwerte erhalten.
Wie konfiguriere ich robots.txt und sitemap.xml pro Website?
Legen Sie statische Routen im Abschnitt routes der config.yaml an. Nutzen Sie type: staticText für die robots.txt und type: uri mit t3://page?uid=1&type=1533906435 für die XML-Sitemap der Systemextension EXT:seo. Alternativ ordnen Sie sitemap.xml diesem Seitentyp mit einem PageType Route Enhancer zu.
Fazit!
Danke, dass Sie den langen TYPO3-Artikel gelesen haben :)
Ich hoffe, Sie lernen und erforschen, um Ihre Kenntnisse in der coolen TYPO3-Site-Konfiguration zu verbessern. Lassen Sie uns schnell wie unten beschrieben abschließen.
- Verwenden Sie für Ihre kommende TYPO3-Website, unabhängig davon, ob sie auf einer TYPO3 Template oder einer individuellen TYPO3 Entwicklung basiert, niemals den klassischen Ansatz (z. B. TypoScript-Konfiguration), sondern arbeiten Sie ausschließlich mit dem modernen Ansatz der TYPO3-Websiteverwaltung.
- Üben Sie weiterhin das Backend-Modul für die TYPO3-Site-Verwaltung mit Funktionen für mehrere Domänen, mehrere Sprachen usw.
- Lernen Sie, basierend auf Ihrem Projekt, die Routing-Funktion mit config.yaml
- Als TYPO3-Integrator/Entwickler, gut verstandene Architektur von config.yaml
- Sie sollten die TYPO3-Kontextumgebung als gute Praxis bei der Entwicklung von TYPO3-Projekten betrachten.
- Informieren Sie sich über Tipps und Tricks sowie über verfügbare nützliche TYPO3-Erweiterungen von Drittanbietern, die Ihnen helfen, die Konfiguration Ihrer TYPO3-Site zu verbessern.
Versuchen Sie, benutzerdefinierte Konfigurationen auf mittlerem bis fortgeschrittenem Niveau in config.yaml zu implementieren.
Hatten Sie Probleme bei der Konfiguration der TYPO3-Site-Verwaltung? Ich beantworte gerne alle Fragen im Kommentarfeld.
Und wenn Sie sehen möchten, wie sich TYPO3 und AI gemeinsam weiterentwickeln, besuchen Sie das TYPO3 AI Universe für Ideen, Tools und Inspiration.
Bringen Sie Ihr Site-Management auf die nächste Ebene mit TYPO3 AI, das Konfigurationen automatisiert und Ihren Workflow optimiert!
Ich wünsche Ihnen eine glückliche TYPO3-Site-Verwaltung :)
Wolfgang Weber
Brand & Communication LeadWolfgang Weber gestaltet TYPO3 mit Leidenschaft und Fachwissen. Als TYPO3-Enthusiast beim T3Planet Shop hat er an TYPO3-Projekten mitgewirkt, die Websites schneller und sicherer machen. Abseits von TYPO3 findet man ihn wahrscheinlich beim Erkunden lokaler Cafés oder beim Fußball.
More From Author