
Wie führt man eine Website-Migration durch? Prozessübersicht basierend auf dem Drupal-Beispiel
Die Migration einer Website bedeutet für viele Menschen einen Wechsel zu einer neuen Website. Es lohnt sich jedoch, zu verstehen, was diese Aktivität tatsächlich beinhaltet. Es geht nicht nur darum, ein CMS zu wechseln oder zu aktualisieren, sondern auch um einen Prozess, der die Leistung, Sicherheit und Anpassung der Webseite an moderne Standards erheblich beeinflussen kann. In diesem Artikel konzentrieren wir uns auf den allgemeinen Ansatz der Migration, nutzen aber Drupal als Beispiel, um einen umfassenden Überblick über das Thema zu geben.
Was ist eine Website-Migration?
Die Website-Migration ist der Prozess des Verschiebens einer Website auf eine neuere Version eines CMS oder eine andere Plattform. In der Praxis bedeutet dies zum Beispiel, Drupal 7, dessen Unterstützung bald endet, auf das neueste Drupal 10 zu aktualisieren. Es umfasst auch den Wechsel von einem System (wie WordPress oder Joomla) oder einem weniger bekannten und nicht mehr unterstützten CMS zu einem völlig anderen System.
Während der Migration berücksichtigen wir Daten, Funktionalitäten und Integrationen mit externen Systemen. Wir schreiben das Frontend der Website neu, nutzen die neuesten technischen Möglichkeiten und achten darauf, die Seitengeschwindigkeit beizubehalten (z. B. durch Betrachtung des Scores in Page Speed Insights). Aus der Perspektive des Eigentümers oder Redakteurs der Webseite gewinnen wir wirklich viel, worüber wir später schreiben.
Warum sollten Sie Ihre Website migrieren?
Der Migrationsprozess bringt zahlreiche Vorteile. Er verbessert die Leistung der Website, erhöht ihre Sicherheit und stimmt sie mit aktuellen Programmierstandards ab. Wir werden die Vorteile dieses Prozesses anhand eines konkreten Beispiels betrachten – die Drupal-Migration.
Verbesserung der Sicherheit und Funktionalität der Website
Der Wechsel zu einer neueren Version dieses Systems kann die Funktionalität und Sicherheit der Webseite erheblich verbessern. Wir müssen bedenken, dass regelmäßige Sicherheitsupdates entscheidend sind, da sie Schwachstellen beheben und das Risiko von Angriffen und Datenverlust oder -lecks minimieren. Indem wir die Migration der Website wählen, sorgen wir somit für Schutz vor neuen Bedrohungen.
Änderung des Website-Designs zu einem moderneren
Die Migration ist eine ausgezeichnete Gelegenheit, ein Website-Redesign durchzuführen, also deren Erscheinungsbild aufzufrischen. Wir können in diesem Stadium moderne Designmuster erstellen und anwenden und sogar das gesamte visuelle Konzept unserer Webseite ändern.
Ein Design-Update zieht nicht nur die Aufmerksamkeit der Nutzer auf sich, sondern kann auch die Funktionalität und Lesbarkeit der Website verbessern, was für die allgemeine Zufriedenheit der Besucher entscheidend ist. Ein aufgefrischtes Layout ist das sichtbarste Element für den Endnutzer und lässt die Website nicht mehr veraltet aussehen.
Modifizierung und mögliche Archivierung von Daten
Während der Migration ist es möglich, die Daten gründlich zu überprüfen und zu modifizieren. Veraltete oder redundante Informationen können archiviert werden, um die Datenbank in Ordnung zu halten. Während einer solchen Überarbeitung können wir feststellen, dass einige Felder ungenutzt sind, sie mit anderen zusammengeführt werden können oder das Problem auf eine andere Weise gelöst werden kann. Dies könnte beispielsweise das Entfernen eines separaten Feldes für eine Artikelzusammenfassung oder die Verwendung eines Wörterbuchs für Tags beinhalten.
Gleichzeitig können Anpassungen an den Daten vorgenommen werden, um sie an die neuere Version des CMS und Drupal-Module anzupassen. Zum Beispiel haben wir seit Drupal 8 mit dem Media-Modul zu tun, das den Umgang mit Bildern, Dokumenten oder Videos auf der Website verändert hat.
Änderung der Datenhaltung
Die Migration ermöglicht nicht nur die effiziente Modifikation oder Archivierung, sondern auch die durchdachte Anpassung der Datenhaltung. Durch den Systemwechsel zu einer höheren Version von Drupal mit allen neuen Modulen können Sie Informationen optimal mit Inhaltstypen, Gruppen oder Taxonomien speichern.

Beispiele für Entitäten (Gruppen), Taxonomien und Inhaltstypen in Drupal
Durchdachtes Management von Entitäten und Daten ermöglicht eine optimierte Leistung der Website und die Fähigkeit, zukünftige Änderungen leichter vorzunehmen, was die Kosten im Laufe der Lebensdauer der Website reduziert.
Neuschreiben bestehender Integrationen und Funktionalitäten
Bei der Migration einer Website lohnt es sich, bestehende Integrationen und Funktionen neu zu bewerten. Manchmal stellt sich in diesem Stadium heraus, dass bestimmte Elemente praktisch ungenutzt sind und deren Verschiebung nicht gerechtfertigt ist. Dies kann zum Beispiel ein Kontaktformular sein, das nicht mehr auf der Webseite vorhanden ist, oder eine deaktivierte Integration mit einem externen Dienst, dessen Abonnement schon lange abgelaufen ist. Sie können rein administrative Themen betreffen, wie Seiten, deren Inhalt in der Vergangenheit verschoben oder gelöscht wurde.
An diesem Punkt können wir auch nach neuen, effizienteren Lösungen suchen, um die Funktionalität der Website zu erhöhen. Wir können Elemente, die für den Betrieb der Webseite entscheidend sind, überlegter schreiben und somit Sicherheit, Leistung und zukünftige Erweiterbarkeit mit neuen Funktionen erhöhen.
Wie wird eine Website-Migration durchgeführt?
Der Prozess der Migration einer Website ist relativ universell, unabhängig vom System. Das Wichtigste ist, ihn durchzudenken, bevor man ein neues Erscheinungsbild erstellt oder die ersten Zeilen Code schreibt. Sie sollten eine Migration planen, da sie bei späteren Änderungen Zeit sparen kann. Wir müssen bedenken, dass mit höheren Versionen des Systems, wie Drupal 10, viele Module gegenüber den vorherigen verändert wurden und einige sogar nicht mehr unterstützt werden.
Wir migrieren also den Inhalt der Webseite, den wir gründlich auf Fehler testen müssen. Wir achten vor allem darauf, dass keine fehlerhaft migrierten oder leeren Felder vorhanden sind, in denen keine Daten migriert wurden. Wir stellen die Website mit den neu geschriebenen Funktionalitäten anstelle der alten Website bereit, und es ist getan. Aber ist es wirklich so einfach? Ja und nein. Schauen wir uns den Prozess genauer an.
Schritt 1: Planung der Website-Migration
Im ersten Schritt der Migrationsplanung, insbesondere für Drupal 7, ist es wichtig, genau festzulegen, was wohin verschoben wird. Manchmal passiert es zum Beispiel, dass die Website-Besitzer alte Nachrichtenartikel über 10 Jahre nicht mehr benötigen. Migration ist daher eine Gelegenheit, die Datenstruktur zu optimieren und redundante Informationen zu eliminieren, was die Verwaltung der Inhalte später erleichtert.
Wenn die Website eine externe Integration wie Mautic verwendet, muss dies im Migrationsprozess berücksichtigt werden. Dieses Element kann auf der neuen Website gemäß den aktuellen Standards implementiert werden, was sich positiv auf die Sicherheit und die Einfachheit der nachfolgenden Verwaltung auswirkt.
Die Planung einer ordnungsgemäßen Aufgabenliste, das Aufteilen der Aufgaben, deren Priorisierung und die Angabe der Beziehungen zwischen ihnen unterstützen die Entwicklung der Website. Dies erleichtert nicht nur das effektive Aufgabenmanagement, sondern bietet auch Klarheit über die Richtung des Projekts und ermöglicht es, flexibel auf mögliche Änderungen während der Website-Migration zu reagieren.
Schritt 2: Vorbereitung zur Website-Migration
Der nächste Schritt besteht darin, sich auf die Website-Migration vorzubereiten, einschließlich der Erstellung einer lokalen Umgebung und der Entwicklung einer geeigneten Datenstruktur. Durch das Erstellen von Gruppen, Inhaltstypen oder Taxonomien mit den entsprechenden Feldern bereiten wir eine Zielumgebung vor, um die Daten von der alten Website geordnet auf die neue zu übertragen.
An diesem Punkt ist auch das Backup von entscheidender Bedeutung. Wir machen ein Backup der vorherigen Version der Website, insbesondere der Datenbank, da von dort aus die Inhalte übertragen werden.
Schritt 3: Migrieren von Website-Inhalten
Unabhängig vom System sollte der Inhalt der Website möglichst vor der Implementierung neuer Funktionen verschoben werden. Dies ermöglicht es uns, frühzeitig die sogenannten Randfälle zu erkennen, d. h. spezifische Situationen, die die Website stören können. Durch die Befolgung dieser Abfolge können wir sie sofort in einem relativ frühen Stadium der Website-Entwicklung ansprechen. So minimieren wir die Anzahl der Fehler vor der Implementierung.
Für Drupal ist es entscheidend, Migrationsmodule zu verwenden und Daten mithilfe von Migrations-Plugins zu modifizieren. Dies ermöglicht es Ihnen, Ihre Datenstruktur an die neue Version von Drupal anzupassen. Die Migration von anderen Systemen kann komplexer sein und erfordert ein Verständnis dafür, wie das vorherige CMS oder vielmehr dessen Datenbank funktioniert hat.
Schritt 4: Testen der Website-Migration
Tests sind der Schlüssel, um zu überprüfen, ob alle Daten korrekt migriert wurden. Wir zeigen, dass die Daten in der neuen Datenbank mit den vorherigen übereinstimmen, was helfen kann, zukünftige Probleme zu vermeiden. Schließlich wollen wir nicht, dass beispielsweise einige Artikel keine Tags oder Autoren zugewiesen haben.
Ein sehr wichtiges Thema sind die Dateien, die nach der Migration von der vorherigen Website auch auf der neuen verfügbar sein sollten. Es geht nicht nur darum, von einem Ort zum anderen zu kopieren, sondern auch um die Beeinflussung ihrer Pfade. Daher müssen wir besondere Aufmerksamkeit bei ihrer Prüfung aufwenden. Beispielsweise sollten PDF-Dateien, die eine Vorschau haben, mit dieser verfügbar sein, und Bilder müssen ein migriertes Feld mit alternativem Text haben. Es gibt viele dieser kleinen Elemente, auf die wir achten müssen, um spätere Anpassungen zu minimieren.
Schritt 5: Styling der Webseite
Wenn wir das Design unserer Website während der Migration ändern möchten, erfolgt das anfängliche Styling der Website ebenfalls vor dem nächsten Schritt.
Dies ist der Prozess, bei dem wir den Inhalt auf der Webseite anordnen, ihr das richtige Aussehen verleihen, die notwendigen Animationen hinzufügen und so weiter. Mit dieser Aktivität versuchen wir, die Website möglichst nahe an das zuvor erstellte Design zu bringen, wobei wir auf ihre Responsiveness achten.

Beispiel einer Website mit und ohne Styling, Quelle: Droopler Demo
Die Reihenfolge kann hier je nach Komplexität der Website variieren, aber normalerweise wird dieser Prozess bereits durchgeführt, wenn wir die Daten auf der Website bereit haben. Dies spart uns Zeit, da keine temporären oder Testinhalte hinzugefügt werden müssen. Auf diese Weise können wir sehen, wie die neue Website bereits mit migrierten Daten in einem völlig neuen "Outfit" aussieht.
Schritt 6: Migration der Funktionalitäten
Der nächste Schritt wird sein, die komplexere Geschäftslogik zu verschieben, die auf der vorherigen Website existiert.
Im Fall von Drupal stoßen wir an diesem Punkt auf Herausforderungen aufgrund der Unterschiede zwischen PHP-Versionen, aber es ist auch eine großartige Gelegenheit, den Code zu aktualisieren. In Drupal 10 mit PHP 8 schreiben wir objektorientierten Code, der viel lesbarer und offen für neue Funktionalitäten ist. Daher können wir den alten Code in den meisten Fällen nicht einfach auf die neue Website kopieren, da er nicht funktionieren wird. Wir können jedoch den alten Code modellieren, ihn an den modernen Ansatz anpassen und gegebenenfalls modifizieren, um die zusätzliche Geschäftslogik zu erfüllen, die in der Planungsphase genehmigt wurde.
Die Funktionalitätsmigration ist auch ein idealer Zeitpunkt, um Code-Refactoring durchzuführen. Wir können ihn dann optimieren und aktualisieren, um ihn lesbarer zu machen. Oft entfernen wir in diesem Prozess redundante Teile des Codes und verwenden Werkzeuge, die von Anfang an auf dessen Qualität achten.
Viele auf der alten Version der Website verwendete Module sind möglicherweise nicht mehr verfügbar. Manchmal stellt sich jedoch heraus, dass wir sie nicht selbst schreiben müssen, sondern nur nach einem ähnlichen suchen müssen, der ähnliche Aufgaben erfüllt. Dies kann viel Zeit sparen und neue Funktionen auf der Website bereitstellen.
Schritt 7: Bereitstellung der Website
Die letzte Phase ist die sogenannte Bereitstellung, also die Implementierung der Website auf der neuen Plattform. Wir testen, ob die Funktionalitäten den Erwartungen und unseren Annahmen entsprechen. Hierbei haben wir auch einen Bezugspunkt in Form der vorherigen Website, und die Testszenarien können ähnlich aussehen.
Wir können uns um die Trennung der Konfigurationen kümmern, sodass nach der Bereitstellung alle API-Zugangsschlüssel korrekt sind und alle Integrationen aktiv sind. Darüber hinaus aktivieren wir die Miniaturisierung von Dateien, was die Leistung der Website verbessert, indem die Dateigröße reduziert wird. Das wird die Ladezeit der Website beschleunigen und die SEO-Leistung verbessern.
Migration einer Drupal-Website
Die Migration einer Website ist ein komplexer Prozess des Verschiebens von Daten, Funktionalitäten und Integrationen, der die Leistung, Sicherheit und Anpassung an moderne Standards beeinflusst. Diese beinhalten die Nutzung der neuesten Versionen von Programmiersprachen und Frameworks oder das Schreiben von objektorientiertem, sicherem Code. Solche Code-Aktualisierungen minimieren das Risiko von Fehlern oder möglichen Angriffen.
Wir haben diesen komplexen Themenbereich Schritt für Schritt durchlaufen, um Ihnen ein besseres Verständnis dafür zu geben, wie Sie sich auf die Migration vorbereiten und was Sie während des Prozesses erwarten können. Jede Phase davon – von der Planung bis zur Implementierung – ist notwendig und unglaublich wichtig für die Erstellung einer ordnungsgemäß funktionierenden Website. Der Prozess sieht unabhängig vom CMS recht ähnlich aus.
Wenn Sie Unterstützung beim Übertragen der Webseite benötigen, können wir helfen. Bei der Durchführung solcher Implementierungen haben wir Erfahrung gesammelt, worauf zu achten ist und wie man dieses Thema angeht. Wir teilen gerne unser Wissen, planen und führen die Migration Ihrer Drupal-Website durch.