Drupal 8, 9 oder 10 auf Drupal 11 aktualisieren
Ein Drupal 11 Upgrade ist der nächste große Schritt für viele Websites, die noch auf Drupal 8, 9 oder 10 laufen. Der Sicherheitssupport für ältere Releases endet nach festem Zeitplan, und jede neue Version bringt bessere Performance, aktualisierte Abhängigkeiten und wartbareren Code. In diesem Leitfaden gehe ich den vollständigen Upgrade-Pfad durch: von Drupal 8 und 9 über Drupal 10.3+ bis zu Drupal 11, inklusive PHP-Planung, Contrib-Modulen, Custom-Code-Prüfungen und Composer-Befehlen. Hintergrund zu Drupal 11: unser Drupal 11 Release-Überblick. Wenn Sie den Umfang noch einschätzen, lesen Sie wie Sie ein Drupal-Versionsupgrade vorbereiten.
In diesem Artikel:
- Warum auf Drupal 11 aktualisieren?
- Können Sie direkt auf Drupal 11 aktualisieren?
- Was hat sich zwischen Drupal 10 und Drupal 11 geändert?
- Wie bereiten Sie ein Drupal-Upgrade vor?
- Was sollten Sie vor einem Drupal 11 Upgrade prüfen?
- Wie aktualisieren Sie von Drupal 8?
- Wie aktualisieren Sie von Drupal 9 auf Drupal 10?
- Wie aktualisieren Sie von Drupal 10 auf Drupal 11?
- Welche Probleme können bei einem Drupal-Upgrade auftreten?
- Welche Composer-Befehle helfen beim Drupal-Upgrade?
- Brauchen Sie Hilfe bei der Planung eines sicheren Wegs zu Drupal 11?
Warum auf Drupal 11 aktualisieren?
Drupal 11 wurde 2024 veröffentlicht und setzt die moderne Drupal-Linie auf Symfony 6 und PHP 8.3+ fort. Auf nicht unterstützten Versionen zu bleiben bedeutet keine Sicherheitsfixes von Drupal.org. Drupal 9 endete im November 2023; Drupal 10 folgt demselben Zyklus. Ein Upgrade geht nicht nur um neue Features - es hält Ihre Website auf einem unterstützten Stack und an aktuellen Web-Standards ausgerichtet.
Drupal 11 baut auf Drupal 10 auf mit weiteren Dependency-Updates, entferntem Legacy-Code und laufender Performance-Arbeit. Wenn Sie langfristige Optionen von sehr alten Versionen vergleichen, zeigt unser Vergleich Drupal 7 vs Drupal 11, wie weit sich die Plattform entwickelt hat. Websites auf Drupal 7 sollten zuerst Drupal 7 End of Life lesen.
Können Sie direkt auf Drupal 11 aktualisieren?
In den meisten Projekten ist der sicherste Weg zu Drupal 11 kein einzelner Sprung von einer alten Website auf die neueste Version. Eine Drupal 8 oder Drupal 9 Website sollte zuerst auf eine unterstützte Drupal 10 Version gebracht werden. Die Drupal.org-Dokumentation verweist für Drupal 11 auf Drupal 10.3 oder neuer als Zwischenschritt, weil ältere Update-Schritte in Drupal 11 nicht mehr vorhanden sind.
Das ist wichtig für die Planung. Es reicht nicht, nur die Core-Version in Composer zu ändern. Das Team muss Hosting-Anforderungen prüfen, Contrib-Module aktualisieren, veraltete APIs aus Custom Code entfernen und die Website nach jedem größeren Schritt testen.
Was hat sich zwischen Drupal 10 und Drupal 11 geändert?
Drupal 11 verfeinert die Plattform, statt sie neu zu erfinden. Erwarten Sie Dependency-Updates, Bereinigung veralteter APIs und einige aus dem Core entfernte Module. Der Übergang von Drupal 10 ist meist sanfter als ältere Major-Sprünge, aber Planung bleibt wichtig.
Plattform-Anforderungen
- PHP 8.3 oder neuer ist für Drupal 11 erforderlich (Drupal 10 verlangte PHP 8.1+).
- Symfony 6.4+ und aktualisierte JavaScript-Bibliotheken liefern mit dem Core.
- Datenbankversionen bleiben ähnlich wie bei Drupal 10: MariaDB 10.3.7+, MySQL 5.7.8+, PostgreSQL 12+, SQLite 3.26+.
Entfernte Core-Module und Themes
Mehrere in Drupal 10 als deprecated markierte Erweiterungen werden in Drupal 11 entfernt, darunter Actions UI, Activity Tracker, Book, Forum, Statistics und Tour. Single Directory Components (SDC) und Help Topics sind in anderer Form im Core integriert und gelten in der alten Variante als obsolet. Vor dem Upgrade entweder diese Module in Drupal 10 absetzen oder Contributed-Ersatz auf Drupal 10.3+ installieren.
Früher entfernte Themes (Classy, Bartik, Stable, Seven) bleiben als Contributed-Projekte verfügbar, wenn Ihre Website noch davon abhängt.
Wie bereiten Sie ein Drupal-Upgrade vor?
Beginnen Sie mit einem vollständigen Backup von Dateien und Datenbank. Prüfen Sie, ob das Hosting die PHP- und Datenbankversionen der Ziel-Drupal-Version unterstützt. Richten Sie eine lokale oder Staging-Kopie ein, in der Sie Upgrade Status ausführen, Composer-Updates anwenden und testen können, ohne Production-Traffic zu beeinträchtigen.
Dokumentieren Sie Anpassungen an Scaffold-Dateien (z. B. .htaccess oder settings.php). Drupal 11 ersetzt beim Upgrade alle Core-Scaffold-Dateien - beabsichtigte Änderungen müssen danach erneut angewendet werden.
Was sollten Sie vor einem Drupal 11 Upgrade prüfen?
Nutzen Sie diese Checkliste, bevor Sie das Drupal 11 Upgrade-Fenster planen:
- PHP-Version und Hosting-Stack bestätigen,
- Drupal Core auf die nötige Zwischenversion bringen (Drupal 10.3+),
- Upgrade Status vor dem Major Upgrade ausführen,
- Contrib-Module auf Drupal 11-kompatible Versionen aktualisieren,
- Custom Module und Themes mit Upgrade Status und Rector prüfen,
- Composer-Constraints, Patches und Drush-Version prüfen,
- redaktionelle Workflows, Formulare, Integrationen und Cache testen.
Wie aktualisieren Sie von Drupal 8?
Drupal 8 endete im November 2021. Es gibt keinen unterstützten Pfad von Drupal 8 direkt zu Drupal 11. Planen Sie ein gestuftes Upgrade: Drupal 8 → Drupal 9 → Drupal 10.3+ → Drupal 11.
Für den ersten Schritt siehe Drupal 8 vs Drupal 9 und den allgemeinen Prozessüberblick zur Website-Migration. Behandeln Sie jede Major-Version als eigene Projektphase mit separatem Testing und Deployment.
Wie aktualisieren Sie von Drupal 9 auf Drupal 10?
Läuft Ihre Website auf Drupal 9, ist das Upgrade auf Drupal 10 der erforderliche Zwischenschritt vor Drupal 11. Der Prozess hat mehrere Phasen. Unser Drupal 10 Leitfaden zu Features und Upgrade erklärt, was sich in dieser Version geändert hat.
1. PHP auf Version 8.1 oder höher aktualisieren
Drupal 10 verlangt PHP 8.1+. Bevor Sie PHP auf dem Server ändern, prüfen Sie, ob Contrib-Module und Custom Code die Zielversion unterstützen. PHP_CodeSniffer und PHP Compatibility helfen, Syntax- und Extension-Probleme früh zu finden.
2. Drupal 9 auf die neueste 9.x-Version bringen
Wechseln Sie mindestens auf Drupal 9.4.4; die neueste 9.5.x-Version wird vor dem Sprung zu Drupal 10 empfohlen:
composer update "drupal/core-*" --with-all-dependencies
drush cr -y
drush updb -y
drush cex -y3. Deprecated Core-Themes deinstallieren
Classy, Bartik, Stable und Seven wurden aus Drupal 10 Core entfernt. Deinstallieren Sie sie unter /admin/appearance, wenn sie noch aktiv sind. Erweitern Custom Themes diese Basis, installieren Sie Contributed-Ersatz:
composer require drupal/seven
composer require drupal/classy
composer require drupal/bartik
composer require drupal/stable4. Migration zu CKEditor 5
Drupal 10 setzt standardmäßig CKEditor 5 ein. Der neue Editor wurde neu geschrieben - nicht jedes CKEditor-4-Plugin hat ein direktes Äquivalent. Prüfen Sie Plugin-Kompatibilität in der CKEditor-5-Dokumentation, bevor Sie Formate unter /admin/config/content/formats umstellen. Danach das alte CKEditor-Modul deinstallieren.
5. Module mit Upgrade Status aktualisieren
Upgrade Status installieren und aktivieren, dann unter /admin/reports/upgrade-status scannen:
composer require drupal/upgrade_status
drush en upgrade_status -yMeldungen in Custom Code beheben. Contrib-Module auf Drupal-10-kompatible Versionen aktualisieren. Gibt es noch keine kompatible Version, Issue Queue prüfen, Patches anwenden oder das Drupal Lenient Composer Plugin nutzen:
composer require mglaman/composer-drupal-lenient
composer config --merge --json extra.drupal-lenient.allowed-list '["module_name"]'Beheben Sie Kompatibilitätsprobleme, bis Upgrade Status ein sauberes Ergebnis für Drupal 10 meldet.
6. Drupal Core auf Version 10 aktualisieren
composer.json prüfen und veraltete Patches entfernen. Dann Core-Constraints aktualisieren:
composer require 'drupal/core-recommended:^10' 'drupal/core-composer-scaffold:^10' 'drupal/core-project-message:^10' --update-with-dependencies --no-update
composer require 'drush/drush:^12' --no-update
composer update
drush cr -y
drush updb -y
drush cex -yBei drupal/core-dev --dev zur core-dev-Zeile hinzufügen. Bei Dependency-Konflikten zuerst composer update --dry-run ausführen.
7. Lokal testen, dann deployen
Formulare, Navigation, redaktionelle Workflows, Integrationen und Cache in Local oder Staging testen. Vor Production auf Test-Server deployen. Hosting-Anforderungen und Backups unmittelbar vor dem Production-Cutover erneut prüfen.
Wie aktualisieren Sie von Drupal 10 auf Drupal 11?
Läuft die Website auf Drupal 10.3.0 oder neuer, können Sie das Drupal 11 Upgrade vorbereiten. Drupal.org entfernt Update-Hooks aus Releases vor 10.3 - dieser Zwischenschritt ist Pflicht.
1. PHP 8.3+ und Hosting bestätigen
Drupal 11 verlangt PHP 8.3.0 oder neuer. PHP zuerst auf Staging aktualisieren und die Test-Suite erneut ausführen, bevor Production an der Reihe ist.
2. Deprecated Module und Scaffold-Änderungen klären
Core-Module deinstallieren oder ersetzen, die Drupal 11 entfernt (Book, Forum, Statistics und andere oben genannte). Custom-Regeln in Scaffold-Dateien notieren, um sie nach dem Upgrade wiederherzustellen.
3. Contributed und Custom Code aktualisieren
Upgrade Status erneut gegen das Drupal-11-Ziel ausführen. Jedes Contrib-Modul auf eine kompatible Version bringen:
composer require drupal/webform:^6.2 --no-updateFür Custom Code Drupal Rector zusammen mit Upgrade Status nutzen, um deprecated APIs zu ersetzen. Braucht ein Modul eine Brückenversion, können Constraints erweitert werden, z. B. "drupal/linkit": "^6.1 || ^7.0".
4. Core und Drush mit Composer aktualisieren
Im Drupal-Root Schreibrechte auf Settings-Dateien setzen, dann Constraints aktualisieren:
chmod u+w web/sites/default
chmod u+w web/sites/default/*settings.php
chmod u+w web/sites/default/*services.yml
composer require 'drupal/core-recommended:^11' \
'drupal/core-composer-scaffold:^11' \
'drupal/core-project-message:^11' --no-update
composer require 'drupal/core-dev:^11' --dev --no-update
composer require 'drush/drush:^13' --no-update
composer update --dry-run
composer update
drush updatedb:status
drush updatedb
drush cex -y
chmod 755 web/sites/default
chmod 644 web/sites/default/*settings.php
chmod 644 web/sites/default/*services.yml5. Tests nach dem Upgrade
Konfiguration exportieren, automatisierte Tests ausführen falls vorhanden, kritische Pfade durchklicken und Logs mit drush watchdog:tail verfolgen. Cron ausführen und Suche, Cache sowie Formularversand prüfen.
Welche Probleme können bei einem Drupal-Upgrade auftreten?
Trotz Vorbereitung treten bei Upgrades vorhersehbare Probleme auf. Wer sie kennt, spart Debugging-Zeit.
Deprecated und entfernte Funktionen
Code, der in Drupal 9 funktionierte, kann in Drupal 10 oder 11 entfernte APIs aufrufen. Upgrade Status und Rector helfen bei der Suche und Behebung; Contrib-Module brauchen ggf. Patches aus der Issue Queue.
accessCheck() bei Entity Queries erforderlich
Drupal 10+ verlangt ::accessCheck() bei Content-Entity-Queries vor der Ausführung. Fehlende Aufrufe verursachen Laufzeitfehler in Custom und Contributed Code.
jQuery once entfernt
Das jQuery-once-Plugin wurde aus dem Core entfernt. core/jquery.once durch core/once in libraries.yml ersetzen und in JavaScript once() statt $.once() verwenden.
Inkompatible Contrib-Module
Gibt es noch kein Drupal-11-Release, Issue Queue prüfen, Community-Patch anwenden oder vorübergehend den Lenient-Composer-Endpoint nutzen. Siehe auch: warum sich ein Upgrade von alten Drupal-Versionen lohnt, auch wenn Modul-Lücken den Zeitplan verlängern.
Composer-Dependency-Konflikte
Patches, explizite Core-Pins und veraltete Constraints blockieren oft composer update. composer why-not drupal/core ^11 zeigt Blocker - vor dem Dry Run beheben.
Welche Composer-Befehle helfen beim Drupal-Upgrade?
Diese Befehle tauchen beim Drupal 11 Upgrade-Pfad wiederholt auf:
- composer why-not drupal/core ^11 - listet Pakete, die ein Core-Update blockieren.
- composer require 'drush/drush:^13' --no-update - bereitet Drush vor, ohne sofort zu installieren.
- composer update --dry-run - simuliert das Update und zeigt Konflikte.
- composer update "drupal/core-*" drush/drush --with-all-dependencies - begrenzt den Update-Umfang auf Core und Drush wenn nötig.
Brauchen Sie Hilfe bei der Planung eines sicheren Wegs zu Drupal 11?
Ein Upgrade von Drupal 8, 9 oder 10 auf Drupal 11 ist ein mehrstufiges Projekt: Zwischen-Core-Versionen, PHP-Updates, Modul-Kompatibilität und gestuftes Testing. Teams, die die Planung überspringen, unterschätzen oft den Aufwand für Custom Code und Contrib-Module zwischen Major-Versionen.
Wenn Sie Unterstützung bei Scope oder Umsetzung brauchen, führen wir Drupal 10/11 Readiness Audits, Composer-Updates und Production Deployments durch. Besuchen Sie unsere Drupal 10/11 Readiness and Upgrade Services oder Drupal-Agentur für laufenden Support nach dem Go-live.