Migration zu Next.js / Astro in Bern

TYPO3 ablösen oder als Headless-Backend behalten: LTS- und ELTS-Termine, Inhaltsexport, URL- und Weiterleitungskarte für zweisprachige Berner Websites. Ich setze die Migration allein und schriftlich um.

Migration zu Next.js / Astro

Website- & Anwendungsmigration in Bern

Ich migriere Websites von WordPress, Joomla, Drupal, Angular, Vue und anderen Technologien zu Astro und Next.js. Jede Migration plane ich so, dass SEO, Inhalte und Funktionen erhalten bleiben, und schalte in einem vereinbarten Zeitfenster um. Ich arbeite allein und habe langjährige Erfahrung mit älteren und modernen Stacks.

  • Mein wordpress.org-Konto besteht seit 2006.
  • Ich habe zum WordPress-Core in den Versionen 7.0 und 7.1 beigetragen.
  • Ich betreue 30 Plugins auf wordpress.org.
  • Ich organisiere WordCamps und trete dort als Speaker auf.
  • Ich war bei jedem WordCamp Europe von 2017 bis 2026 dabei.

Mein WordPress.org-Profil

Sie betreiben eine TYPO3-Website für Kundschaft in Bern und fragen sich, ob Astro oder Next.js die bessere Grundlage wäre. Ich übernehme solche Migrationen allein und schriftlich: Inventur, Inhaltsexport, URL- und Weiterleitungskarte, Umbau des Frontends, Umstellung und Kontrolle danach. Diese Seite behandelt nur TYPO3: welche Versionen noch Support haben, ob das System als Backend bleiben kann, wie der Inhalt herauskommt und wie die alten Adressen sicher auf die neuen zeigen.

#Welche TYPO3-Versionen werden noch gepflegt?

Die Termine stammen aus der Release-Datenbank von typo3.org (Stand 11. November 2026). Community-Support heisst: Fehler- und Sicherheitskorrekturen für alle. ELTS (Extended Long Term Support) ist der Zusatzsupport für ältere Versionen, dessen Quellen laut typo3.org nur mit aktivem Abonnement verfügbar sind.

VersionErschienenCommunity-Support bisELTS bis
TYPO3 14 LTS21.04.202630.06.202930.06.2032
TYPO3 13 LTS15.10.202431.12.202731.12.2030
TYPO3 1225.04.202330.04.2026 (beendet)30.04.2030
TYPO3 1122.12.202031.10.2024 (beendet)31.10.2028
TYPO3 1021.04.202030.04.2023 (beendet)30.04.2027

Was das für Ihre Entscheidung heisst: Mit TYPO3 10 oder 11 läuft Ihre Website heute nur noch mit ELTS-Abonnement, und bei TYPO3 10 endet auch der am 30. April 2027. Bei TYPO3 12 ist die Community-Phase vor wenigen Monaten abgelaufen. TYPO3 13 hat bis Ende 2027 Zeit. Ein Update auf TYPO3 14 ist der kurze Weg, wenn Ihre Erweiterungen mitziehen. Ein Wechsel zu Astro oder Next.js lohnt sich dann, wenn Sie ohnehin das Frontend neu bauen müssten oder die Pflege des PHP-Systems für Ihre Redaktion keinen Gegenwert mehr hat.

Altstadt von Bern, gesehen vom Rosengarten

Foto: Daniel Kraft, CC BY-SA 3.0, Wikimedia Commons.

#TYPO3 als Headless-Backend behalten oder ersetzen?

Es gibt drei Wege, und alle drei sind legitim.

TYPO3 bleibt, nur das Frontend wechselt. Die Erweiterung EXT:headless rendert Seiten, Inhaltselemente, Menüs und Metadaten als JSON, Feldnamen und Struktur lassen sich per TypoScript anpassen. Astro oder Next.js holt dieses JSON ab. Laut der Dokumentation greifen Formulare (EXT:form), Frontend-Login (EXT:felogin), EXT:redirects und EXT:seo mit, und die Vorschau im Workspace funktioniert. Als Add-ons nennt sie unter anderem news, solr, powermail, gridelements und container. Die Versionsmatrix ist eng: headless 5.x gehört zu TYPO3 14, headless 4.x zu TYPO3 12.4 und 13, und 3.x für TYPO3 11.5 ist am Lebensende. Wer auf TYPO3 11 sitzt, kann also nicht einfach headless nachrüsten, sondern muss zuerst updaten.

TYPO3 wird ersetzt, der Inhalt zieht um. Der Inhalt landet als Markdown, MDX, JSON oder YAML im Repository, und Astro liest ihn über Content Collections mit dem eingebauten glob()- oder file()-Loader. Alternativ kommt ein anderes Headless-System davor. Das lohnt sich, wenn Ihre Redaktion überschaubar ist, die Seitentypen sich zählen lassen und niemand mehr den PHP-Stack betreuen soll.

Erst das eine, dann das andere. Google rät bei Umzügen, nur eine Sache auf einmal zu ändern, also nicht gleichzeitig CMS, Domain und Layout zu wechseln. Wenn Ihr Relaunch auch ein neues Erscheinungsbild bringt, plane ich die Umstellung des Systems und die des Layouts als getrennte Schritte. Das Layout liefern Sie: Grafikdesign, Mockups und Wireframes kommen vom Auftraggeber, ich setze sie um.

Welcher Weg passt, beantworte ich mit drei Fragen. Wer pflegt den Inhalt, und wie oft? Welche Erweiterungen tragen die Website wirklich, etwa eine News-Verwaltung, Formulare oder ein Login? Und gibt es eigene Extbase-Erweiterungen, die ohnehin neu geschrieben werden müssten? Mehr zur Systemauswahl auf meiner Seite zur Headless-CMS-Entwicklung.

#Wie kommt der Inhalt aus TYPO3 heraus?

TYPO3 bringt dafür die System-Extension impexp mit. Sie exportiert Datensätze mehrerer Tabellen, darunter tt_content, samt der Dateien aus fileadmin/ als XML oder im TYPO3-eigenen Format T3D. Auf der Kommandozeile läuft sie ohne PHP-Zeitlimit, deshalb eignet sie sich für grosse Seitenbäume:

vendor/bin/typo3 impexp:export --type=xml --pid=1 --levels=999 \
  --table=_ALL --include-related=_ALL export-bern

--pid setzt die Wurzelseite, --levels=999 nimmt alle Ebenen darunter mit. Die Dokumentation weist darauf hin, dass ein vollständiger Wiedereinlesen nur innerhalb derselben Hauptversion garantiert ist. Für mich ist das unproblematisch, denn ich lese die Datei nicht in ein zweites TYPO3 ein, sondern parse sie und erzeuge daraus Dateien für das neue Frontend. Ein Export kann sensible Daten mitnehmen und Berechtigungen umgehen, die Dokumentation warnt ausdrücklich davor. Ich schliesse deshalb Benutzertabellen aus und lasse nur die Inhaltstabellen laufen.

Der Export ist der mechanische Teil. Die Arbeit liegt danach im Abbilden:

  • Jedes Content-Element (Text, Text mit Bild, Akkordeon, Container) wird zu einer Komponente oder einem Markdown-Abschnitt. Elemente, die eine Drittanbieter-Erweiterung rendert, wandle ich einzeln um.
  • Bildverweise (sys_file_reference) behalten Alt-Texte und Bildrechte. Ich prüfe stichprobenartig, dass der Alt-Text nicht im Dateiobjekt verloren geht.
  • Seiten, die in einer Sprache nur über den Fallback sichtbar sind, gibt es dort nicht als eigener Datensatz. Ich erfasse pro Sprache, welche Seiten wirklich existieren.

Vor dem Livegang vergleiche ich Überschriften und Textumfang jeder migrierten Seite mit dem Original, damit kein Abschnitt unterwegs verloren geht.

#Wie entsteht die Weiterleitungskarte aus einer TYPO3-Website?

Die URLs einer TYPO3-Website haben mehrere Quellen, und jede liegt woanders:

Quelle der alten URLWo ich sie finde
Seiten-SlugFeld slug der Tabelle pages, vorangestellt das Sprachpräfix der Site-Konfiguration (etwa /fr)
Plugin-Adressen (Newsdetail, Suche)Route Enhancer in der Datei config/sites/<name>/config.yaml
Manuelle und automatische WeiterleitungenTabelle sys_redirect, Felder source_host und source_path, bei regulären Ausdrücken is_regexp
Seiten vom Typ Shortcut und externer LinkTabelle pages, doktype 4 und 3
Regeln im Webserver.htaccess oder Server-Konfiguration
Dateien, PDFs, Bilder mit eigener Adressefileadmin/ und Server-Logs

Die Spalte mit den Weiterleitungen ist die, die man am leichtesten vergisst. EXT:redirects legt bei jeder Slug-Änderung automatisch einen Eintrag an. Eine ältere Website trägt deshalb oft Einträge, die niemand mehr kennt, auf die aber Links von aussen zeigen. Zusätzlich erfasst die Erweiterung nach eigener Auskunft weder Seiten vom Typ Shortcut oder externer Link noch Regeln im Webserver. Beides muss ich getrennt einsammeln.

Auf der Zielseite gibt es zwei Stolpersteine. Astro schreibt Weiterleitungen aus der Konfiguration (redirects) beim statischen Build als HTML-Seiten mit Meta-Refresh, ausser ein Adapter schreibt stattdessen die Konfigurationsdatei des Hosts. Eine Meta-Refresh-Seite ist keine serverseitige 301. Bei statischem Hosting lege ich die Regeln deshalb in der Host-Konfiguration an. In Next.js ergibt permanent: true den Status 308 und nicht 301, Google nennt 301 und 308 als permanente Weiterleitungen.

Dazu kommen die Hinweise von Google zu Umzügen mit URL-Änderungen: serverseitige permanente Weiterleitungen direkt aufs Ziel, keine Ketten (im Idealfall höchstens drei, besser weniger als fünf), Weiterleitungen möglichst lange behalten, in der Regel mindestens ein Jahr, und für entfernte Inhalte einen 404 oder 410 liefern. Diese Karte prüfe ich gegen die gebaute Website: Jede Zeile muss entweder Status 200 oder genau eine Weiterleitung auf das geplante Ziel liefern.

#Was ist bei Deutsch und Französisch in Bern zu beachten?

Die Kantonsverfassung bestimmt in Art. 6 Abs. 1, dass Deutsch und Französisch die bernischen Landes- und Amtssprachen sind. In der Verwaltungsregion Berner Jura ist Französisch Amtssprache, was für Websites relevant ist, die den ganzen Kanton bedienen. Für TYPO3 hat das drei Folgen.

Erstens hängt jede Sprache an einer languageId in der Site-Konfiguration, und die darf nach dem Anlegen von Inhalten nicht mehr geändert werden. Ich übernehme diese Zuordnung unverändert in die URL-Karte. Zweitens kann TYPO3 pro Sprache einen Fallback haben: Fehlt ein Inhalt auf Französisch, zeigt die Website ihn auf Deutsch. Wer das nutzt, hat unter /fr/ Seiten, die inhaltlich deutsch sind. Ich weise diese im Bericht aus, damit Sie entscheiden, ob sie übersetzt werden oder künftig fehlen. Drittens verlangt Google, dass jede Sprachfassung sich selbst und alle anderen im hreflang aufführt. Mit dem neuen Frontend entstehen diese Angaben aus den echten Übersetzungsbeziehungen, nicht aus einer Konfiguration, die vielleicht nicht stimmt.

#Was verlangt das revDSG bei einer Migration?

Zuständig ist der Eidgenössische Datenschutz- und Öffentlichkeitsbeauftragte (EDÖB). Für den Export einer TYPO3-Datenbank sind zwei Regeln des revidierten Datenschutzgesetzes praktisch relevant.

Art. 6 Abs. 4 verlangt, dass Personendaten vernichtet oder anonymisiert werden, sobald sie für den Zweck der Bearbeitung nicht mehr erforderlich sind. Eine Migration ist der richtige Moment dafür: Anmeldungen, Formulareingänge, alte Frontend-Benutzer und Logdateien gehören nicht automatisch in das neue System. Ich frage Sie pro Tabelle, was es braucht, und übertrage nur das.

Art. 8 verlangt Datensicherheit durch geeignete technische und organisatorische Massnahmen. Eine Exportdatei mit Inhalt und Benutzerdaten ist ein Datenträger wie jeder andere. Sie wird nur über Ihr Repository oder Ihren Speicher geteilt, nicht per Mail, und nach Abschluss gelöscht. Die rechtliche Bewertung bleibt bei Ihrer Rechtsberatung, die technische Liste der betroffenen Tabellen liefere ich dazu.

#Wie läuft eine TYPO3-Migration mit mir ab?

  1. Schriftliche Anfrage. Sie schicken mir die Adresse der Website, die TYPO3-Version, die Sprachen und Ihr Wunschdatum.
  2. Inventur. Ich lese Version, Erweiterungen, Seitenbaum und sys_redirect aus und stelle offene Fragen schriftlich.
  3. Schriftlicher Umfang. Anzahl Seiten, Content-Elemente, Sprachen, Erweiterungen und Annahmen, dazu der gewählte Weg: Headless-Backend oder Ersatz.
  4. Staging. Das neue Frontend läuft auf einer nicht indexierten Testadresse, dort prüfen Sie Inhalte und Formulare.
  5. Umstellung. Für grössere Websites bereichsweise, für kleine an einem Stichtag.
  6. Kontrolle. Sitemap in der Search Console, Beobachtung von Indexierung, Crawling-Fehlern und Server-Logs. Ein 404 auf einer Adresse mit Rankings ist kein Normalfall, ich behebe ihn sofort.

Was Sie vorbereiten: Zugang zum TYPO3-Backend und, wenn möglich, zur Datenbank, eine Liste der Erweiterungen, die Sie täglich nutzen, und die Zugänge zu Hosting, DNS und Search Console. Eine Beschreibung der Methode finden Sie auf der Seite zur Migration zu Astro und Next.js.

#Häufige Fragen aus Bern

#Muss ich meine TYPO3-Website jetzt migrieren, weil der Support ausläuft?

Das hängt von der Version ab. TYPO3 12 hat seit dem 30. April 2026 keinen Community-Support mehr, TYPO3 13 wird laut get.typo3.org bis zum 31. Dezember 2027 gepflegt. Wer auf einer älteren Version bleibt, kann Extended Long Term Support (ELTS) nutzen: für TYPO3 12 bis zum 30. April 2030, für TYPO3 11 bis zum 31. Oktober 2028. Die Termine geben Zeit, sie ersetzen keine Entscheidung.

#Kann TYPO3 als Backend bleiben, wenn das Frontend Astro oder Next.js wird?

Ja, mit der Erweiterung EXT:headless. Sie gibt Seiten und Inhalte als JSON aus, die Redaktion arbeitet weiter im gewohnten Backend. Sie behält damit aber auch die TYPO3-Pflege: Updates, Erweiterungen, PHP-Hosting. Ob das lohnt, hängt davon ab, wie viel der Redaktionsarbeit an TYPO3-Funktionen hängt.

#Lässt sich der TYPO3-Inhalt automatisch exportieren?

Zum grossen Teil. Die System-Extension impexp exportiert Seitenbaum und Datensätze wie tt_content samt Dateien als XML, auch über die Kommandozeile. Daraus erzeuge ich Dateien oder Einträge für das neue System. Content-Elemente, die nur eine bestimmte Erweiterung versteht, wandle ich einzeln um und prüfe jede betroffene Seite.

#Verliere ich beim Wechsel Rankings?

Schwankungen sind normal. Google schreibt, dass es bei mittelgrossen Websites einige Wochen oder länger dauert, bis die neuen URLs die alten ersetzen. Permanente Weiterleitungen kosten laut Google keinen PageRank. Was ich zusage, ist die Kontrolle: jede alte URL mit Ziel, danach Search Console und Server-Logs.

#Was passiert mit den Weiterleitungen aus dem TYPO3-Backend?

Sie stehen in der Datenbanktabelle sys_redirect und kommen in die neue Weiterleitungskarte. Dazu kommen Regeln aus der Webserver-Konfiguration und Seiten vom Typ Shortcut oder externer Link, die EXT:redirects nicht erfasst. Ketten löse ich auf, sodass jede alte Adresse in einem Schritt am Ziel landet.

#Müssen beide Sprachen einer Berner Website gleichzeitig umziehen?

Eine Website darf abschnittsweise umziehen, aber Deutsch und Französisch einer Seite gehören zusammen, weil hreflang gegenseitige Verweise verlangt. Ich ziehe deshalb eine Seite immer mit beiden Fassungen um und staffle über Bereiche der Website, nicht über Sprachen.

#Wie schicken Sie mir Ihre Anfrage?

Über das Kontaktformular genügen vier Angaben: die Adresse Ihrer Website, die TYPO3-Version, die Sprachen und Ihr Termin. Ich antworte schriftlich an Werktagen, zuerst mit offenen Fragen und danach mit einer Einschätzung, ob Update, Headless-Backend oder Ersatz zu Ihrer Website passt. Die erste schriftliche Schätzung ist gratis und verpflichtet Sie zu nichts.

Siehe auch in Schweiz

Brauchen Sie die Leistung: Migration zu Next.js / Astro in Bern?

Beschreiben Sie Ihr Projekt per E-Mail. Antwort innerhalb von 48 Stunden.

Projekt beschreiben

Weitere WordPress-Dienste und Wissensbasis entdecken