Craft CMS 4: In 9 Schritten zur erfolgreichen Migration

01. Juni 2022

Craft CMS 4: In 9 Schritten zur erfolgreichen Migration

In den letzten Monaten haben wir mehrere größere Websites auf Craft CMS 4 migriert. Auch wenn es sich dabei immer um Migrationen von Craft CMS 3 Seiten auf das neuere System handelte, gelten die Grundzüge der Vorgehensweise genauso für Migrationen von jedem anderen CMS zu Craft CMS 4. Deshalb möchten wir Ihnen in den folgenden Zeilen einen tieferen Einblick in die Migration auf Craft CMS 4 bieten.

Schritt 1: Planen Sie und widmen Sie sich kritischen Punkten zuerst

Bereits Aristoteles wusste: „Gut begonnen ist halb getan". Das gilt natürlich auch für Web-Entwicklungsprojekte. Aber bei aller “Start-Euphorie” es gibt einen zentralen Vorbehalt: Es lässt sich nicht alles bis ins letzte Detail planen. Denn Dinge ändern sich. Aus der Erfahrung von über 350 erfolgreich umgesetzten Projekten können wir bestätigen: Die Details werden sich während des Projekts verschieben – egal wie genau im Vorfeld geplant wurde. Daher gilt die bittere Wahrheit, dass Sie wertvolle Zeit verschwenden, wenn Sie sich vor Projektstart über jede Nuance Gedanken machen. Gleichzeitig sollten Sie sich auch nicht einfach in ein Projekt stürzen, ohne sich vorher die Mühe zu machen, die potentiellen Risiken und Chancen zu analysieren.

Bei einem Migrationsprojekt bedeutet das vor allem, sich auf die Suche nach Datenanomalien zu begeben. Dabei suchen Sie nach versteckten Merkwürdigkeiten in Daten, die ansonsten homogen aussehen. Die gute Nachricht: Auf diese Datenprobleme werden Sie irgendwann zwischen Projektbeginn und Start stoßen. Es ist also deutlich besser, wenn dies so weit vor dem Start wie möglich geschieht.

Deshalb hilft bei der Planung einer Migration ein konkreter Ansatz, mit welchem Sie solche Anomalien entdecken wollen. Das bedeutet, dass Sie konkret Wege finden und entwickeln müssen, um die versteckten Dinge zu entdecken. Finden Sie Wege, um alte Probleme zu entdecken, die aus der Einrichtung von Inhaltsbereichen und Unterabschnitten oder nicht mehr aktiven Funktionen vor Jahren resultieren.

Hier lohnt es sich bereits, ein Entwicklungsteam eigens für diese Tätigkeit zu beauftragen. Gerade die erfahrensten und klügsten Köpfe im Team finden diese Fehler schneller als unerfahrene Anwender. Klar: Experten kosten Geld. Aber das Geld ist sehr gut angelegt, da es Ihnen im Entwicklungsprozess später sehr viel Aufwand und Zeit erspart.

Schritt 2: Sorgen Sie für eine Entwicklungsumgebung

Manche Websites sind groß. Oder extrem komplex. Oder manchmal beides. Deshalb ist es oft mit einer Menge Arbeit verbunden, sie von einem Ort zum anderen zu verschieben. Geschweige denn von einer Version auf die nächste – oder in ein komplett anderes CMS. Für einen solchen Schritt muss man Mut besitzen und bereit dazu sein, Dinge kaputt zu machen. Genau deshalb brauchen Sie eine Entwicklungsumgebung, in welcher Sie solche Dinge durchführen können.

Denn auch wenn Sie eine Menge der versteckten Probleme in der empfohlenen Planungsphase entdeckt haben, so ist es jetzt ist es an der Zeit, die Dinge so einzurichten, dass weitere Fehler auffallen können. Und/oder Sie Dinge auf konstruktive Art und Weise kaputt machen können. Und das alles auf sichere, geschützte Weise – und nicht im Live-Betrieb. Gerade bei einer sensiblen Migration wollen Sie in der Lage sein, Dinge zügig beseitigen und sie schnell reparieren zu können. Was wiederum bedeutet, dass Ihre Entwicklungsseite Pferdestärken braucht.

Jahrelang haben Web-Entwickler versucht, ihren Kunden Geld zu sparen, indem sie so wenig wie möglich für Web-Assets ausgegeben haben, die nicht für den Kunden bestimmt sind. Das bedeutete, dass Skripte zur Datenmigration langsam liefen und manchmal über Nacht ihre Arbeit verrichten mussten. Das ist das Gegenteil von dem, was Sie eigentlich wollen.

Um ein Migrationsprojekt im Budget-Rahmen zu halten, müssen Sie vor allem den Zeitplan einhalten. Das geht am besten, wenn Sie dafür sorgen, dass die von den Web-Teams genutzte(n) Test-Systemen keine Probleme bereiten und Fehler schnellstmöglich auffallen. Denn Sie sollten schnellstmöglich Zuverlässigkeit in Ihrem Entwicklungszyklus anstreben. Das bedeutet, dass Sie Reibung reduzieren wollen – und, dass Sie Entwicklungssysteme mit Geschwindigkeit und Leistung brauchen.

Schritt 3: Aktualisieren Sie Ihre Software-Pakete

Ist die neue Entwicklungsumgebung eingerichtet, richten Sie Ihre Aufmerksamkeit am besten auf die Aktualisierung der Software-Abhängigkeiten. Es ist wahrscheinlich, dass in der alten Version Pakete genutzt wurden, die mit Craft CMS 4 nicht kompatibel sind und den neuen Anforderungen nicht entsprechen.

Die Aktualisierung der Software-Pakete kann unter Umständen aufwendig sein. Sie brauchen nicht die Nadel im Heuhaufen suchen: Craft CMS 3 besitzt ein Informations-Tool, das aufzeigt, ob das jeweilige Plugin mit Craft CMS 4 kompatibel ist. Ist dies nicht der Fall, lohnt sich ein Blick in das Plugin Verzeichnis. Oftmals finden sich alternative Plugins, die die gleiche Funktionalität abbilden können.

Schritt 4: Prüfen Sie Ihre Content-Modelle

Egal wie gut gepflegt Ihre Webseite sein mag: Sie schleppen mit Sicherheit den Ballast von vielen Jahren mit – besonders in der Organisation der Inhalte. Das ist ein natürlicher Prozess, denn was vor Jahren für die Organisation von Daten in einem Bereich der Website sinnvoll war, macht heute vielleicht keinen Sinn mehr. Oft liegt es einfach daran, weil Ihr Team findiger geworden oder Ihr Publishing-Prozess deutlich weiter ausgereift ist. Sie sollten sich in diesem Status klar darüber werden, welche Inhalte wesentlich sind – und was im Weg steht. Überprüfen Sie Ihren Einsatz von Content und nutzen Sie die Gelegenheit der Migration, um diesen vielleicht zu ändern.

Der Vorteil bei der Migration: Da Sie Inhalte von einem System in ein anderes migrieren, haben Sie die Gelegenheit, die Art und Weise, wie Sie Ihre Informationen organisieren, zu überarbeiten. Sie haben die Möglichkeit, das umzusetzen, was Sie im Laufe der Jahre über die Stärken und Schwächen Ihrer Inhalte gelernt haben. Das wäre in voller Fahrt deutlich schwieriger umzusetzen!

Schritt 5: Richten Sie ausgehende JSON-Feeds ein

Nachdem Sie eine Entwicklungsumgebung eingerichtet und eventuell neu konzipiert haben, entkoppeln Sie nun die beiden Systeme. Das bedeutet, dass das Ursprungssystem, welches bereits live ist, nicht direkt in das neue Zielsystem migriert wird. Der Hauptgrund für die Entkopplung ist, dass Sie wahrscheinlich nach wie vor viel veröffentlichen. Denn auch wenn Sie an einer neuen Homepage arbeiten, so können Sie währenddessen den “Wasserhahn” nicht einfach zudrehen. Wenn Sie den Strom der Inhalte stoppen, wird auch der Zustrom Ihrer Leserschaft unterbrochen. Da Sie weiterhin publizieren, aber auch ein komplexes System einrichten und neu justieren müssen, müssen Sie beides entkoppeln. Nur so erhalten Sie mehr Zeit für die Arbeit – in beiden Teilen, alt wie neu.

Ihr erster Schritt bei der Entkopplung besteht darin, ausgehende Feeds von Ihrem Ursprungssystem einzurichten. Das beste Format für solche Feeds ist JSON. JSON bedeutet JavaScript Object Notation. Dies ist ein Datenformat, welches in JavaScript eingebaut ist – einer Skriptsprache, die in jedem Browser verwendet wird und im gesamten Web allgegenwärtig ist. Die meisten modernen APIs verwenden JSON als Format für den Austausch von Daten. Das sollten Sie ebenfalls.

Richten Sie also Ihre JSON-Feeds ein. In einigen Fällen können Sie dafür eigen eingerichtete Features Ihres CMS nutzen. Möglicherweise gibt es auch Plugins, die Sie verwenden können, um schnell JSON-Feeds zu erstellen. Aber höchstwahrscheinlich wollen Sie diese JSON-Feeds individuell von Hand programmiert wissen. Warum? Weil nur dies Ihnen die Möglichkeit gibt, Ihre Daten zu kuratieren und zu gestalten, bevor sie vom in das Zielsystem eingespeist werden.

Schritt 6: Organisieren Sie Ihr Craft CMS Content-System

Als Agentur sind wir überzeugt: Craft CMS 4 ist großartig. Es ist sehr flexibel in der Art, wie es mit Ihren Inhalten umgeht. Das Einrichten des spezifischen “Datenmodells” ist die beste Gelegenheit, die Dinge genau so zu gestalten, wie Sie sie haben wollen. Dabei müssen Sie die Zukunft nicht vollständig ein für alle Mal vorhersehen. Viel eher können Sie die Dinge jederzeit später ändern. Aber genau jetzt ist Ihre Chance, viele der organisatorischen Probleme und Altlasten Ihrer alten Website loszuwerden.

Der Schlüssel für eine langfristig saubere Datenstruktur ist, Ihre Bedürfnisse vorauszusehen und sich damit zukünftige Flexibilität zu schaffen. Mit der Verwendung von Craft CMS müssen Sie Entscheidungen darüber treffen, wie sich Ihre Inhalte in Typen einteilen lassen. Wir können Sie bei diesen Entscheidungen durch unsere Erfahrung jedoch bestens unterstützen.

Schritt 7: FeedMe einrichten und konfigurieren

In einem vorherigen Schritt haben Sie einen Satz von JSON-Feeds erstellt. Dort haben Sie Feeds von Daten aus Ihrem Altsystem vorbereitet, welches den Daten-Ursprung darstellt. Jetzt konfigurieren Sie das Import-Tool FeedMe.

FeedMe ist ein First-Party-Plugin von den Herstellern von Craft CMS. Seine Aufgabe ist es, Inhalte aus externen Feeds zu verarbeiten. Dabei ist sein bevorzugtes Feed-Format JSON, es sind aber auch andere Dateitypen möglich. Mit FeedMe können Sie mehrere eingehende Feeds verwalten. Jeder eingehende Feed wird einen Ihrer Ursprungs-Feeds abbilden.

FeedMe kann aber bspw. auch Einträge aktualisieren, die zuvor importiert wurden. Diese Funktion ist nicht zu unterschätzen und nimmt Ihnen viel Aufwand ab! Denn FeedMe wird den Import Ihrer Feeds immer und immer wieder ausführen. Jedes Mal, wenn Sie es ausführen, überprüfen Sie am besten die Daten, welche Sie empfangen und beheben die Probleme, die Sie finden. Dies ist der zeitaufwändige, iterative Teil. ist dieser vollbracht, blicken Sie auf eine überwiegend saubere Inhaltsmigration. Weitere Optimierungen können bei Bedarf manuell vorgenommen werden.

Wie bereits erwähnt, werden Sie Ihren Content bei einem großen “Umzug” immer wieder migrieren müssen. Dabei werden Sie die Migration erfahrungsgemäß jedes Mal verfeinern und verbessern. Und da FeedMe in Craft CMS 4 intelligent genug ist, um Datensätze zu aktualisieren, die Sie zuvor importiert haben, sollten Sie keinen massiven Problemen durch Duplikate begegnen.

Zugegeben: Die Migration großer Datenmengen kann beängstigend wirken. Doch es hilft sehr zu wissen, dass Sie die Migration immer wieder in einer sicheren Umgebung durchführen und jedes Mal verfeinern werden, bis Ihre Inhalte schließlich schön aufgeräumt und bereit für den “richtigen” Go-Live sind. Manchmal sind solche psychologische Faktoren ein großer Teil der Zuverlässigkeit, die wir bei mindtwo immer so hochhalten.

Schritt 8: Doppelte Posts vor dem Start

Auch wenn Sie versuchen werden, es zu vermeiden: Wahrscheinlich werden Sie doppelt veröffentlichen müssen, wenn Sie Ihren Countdown einleiten und beginnen, die Schalter umzulegen. Das bedeutet im Regelfall, dass Ihre Content-Produzenten sowohl im Ursprungs- als auch im Zielsystem gleichzeitig veröffentlichen müssen. Dies ist in der Regel für ein paar Tage während der Startsequenz unvermeidbar. Alle vorangegangenen Schritte helfen dabei, einen langen und mühsamen doppelten Veröffentlichungszyklus zu vermeiden. Aber seien Sie darauf vorbereitet, dass es nicht möglich ist, dies bis zum Ende durchzuhalten.

Schritt 9: Launchen Sie die neue Umgebung

Sobald Sie und Ihr Entwickler-Team bereit sind, können Sie die letzten Schritte der Launch-Sequenz abschließen. Herzlichen Glückwunsch! Es hat Wochen oder sogar Monate gedauert, aber Sie sind endlich mit Ihrer neuen Craft CMS 4-Website live. (Wichtig: Vergessen Sie nicht, Ihre Validierungs-Feeds abzuschalten, sie werden nicht mehr benötigt).

Brauchen Sie Hilfe beim Relaunch oder der Migration großer Webseiten? Dann helfen wir Ihnen gerne.

Jetzt kontaktieren!

Können wir weiterhelfen?

Sie haben ein spannendes Projekt und möchten mit uns zusammenarbeiten? Kontaktieren Sie uns jetzt!

Kostenloses Erstgespräch

Bildnachweis/e: Ketut Subiyanto at pexels.com & rodnae productions at pexels.com