Viele etablierte Online-Händler und B2B-Distributoren betreiben ihren Shop noch immer auf Drupal 7 Commerce. Der Katalog bringt verlässlichen Umsatz, Suchmaschinen haben über ein Jahrzehnt hinweg mehr als tausend Produkt- und Kategorieseiten indexiert, und das Team im Tagesgeschäft kennt jede Maske im Backend. Gleichzeitig hat Drupal 7 das offizielle End-of-Life überschritten, mobile Produktseiten laden vier Sekunden lang, und jede kleine Anpassung an Versandregeln oder Zahlungsarten riskiert den Ausfall alter PHP-Module.
Wenn Shop-Betreiber bei klassischen Agenturen ein Angebot für die Migration anfragen, erhalten sie meist einen abschreckenden Vorschlag: sechs bis neun Monate kompletter Neubau als Monolith auf Drupal 10 Commerce oder Adobe Commerce für über 60.000 €, inklusive Neuprogrammierung aller Templates und Zusatzmodule.
Eine entkoppelte (Decoupled) Migration teilt das Problem in zwei überschaubare Hälften. Statt bei jedem Seitenaufruf eine langsame PHP-Datenbank abzufragen, rendert ein Astro-Storefront die über 1.600 Produkt- und Kategorie-URLs vorab als schnelles statisches HTML. Parallel übernimmt eine schlanke Headless-Commerce-API die Live-Bestandsprüfung, Variantenpreise, den Warenkorb und die Zahlungsabwicklung. Der Shop behält jede bestehende URL und alle Google-Rankings, mobile Seiten laden in unter einer Sekunde, und der Umzug gelingt in Wochen statt Quartalen.
Wichtigste Erkenntnisse
- Warum Drupal 7 Commerce Migrationen stocken: Anders als reine Unternehmensseiten verknüpft Drupal 7 Commerce
commerce_product-Entitäten mitnode-Anzeigeseiten, serverseitigen AJAX-Variantenwählern, Steuerregeln und historischen Bestelltabellen. - Bestandsaufnahme der 1.600 URLs vor Projektstart: Vor jeder Kostenschätzung analysieren wir Sitemap und Datenbank, um öffentliche SEO-Seiten (~1.400 Produkte, ~160 Kategorien, ~40 Ratgeberseiten) sauber von Transaktionspfaden (Warenkorb, Checkout, Kundenkonto) zu trennen.
- Entkoppelte Storefront-Architektur: Vorab gerenderte Katalogseiten in Astro sparen über 30 MySQL-Abfragen pro Seitenaufruf, während Warenkorb-, Preis- und Zahlungslogik isoliert über eine typsichere API laufen.
- Realistischer Zeit- und Kostenrahmen: Der Umzug eines mittelgroßen Drupal 7 Commerce Shops mit 1.600 URLs auf ein Astro-Storefront samt modernem Commerce-Backend dauert in der Regel 5 bis 8 Wochen und kostet 40 % bis 55 % weniger als ein monolithischer Neubau auf Drupal 10.
Warum die Migration von Drupal 7 Commerce komplexer ist als ein normales CMS-Upgrade
Ein Umzug von Drupal 7 Commerce ist technisch anspruchsvoll, weil Produkte und Anzeigeseiten in getrennten Datenbanktabellen über Referenzfelder verknüpft sind, sodass ein einfacher Datenbank-Export die Variantenauswahl, kanonische URLs und Bestellhistorien zerstört.
In unserer früheren Fallstudie zur Modernisierung einer Drupal-7-Unternehmensseite von PageSpeed 15 auf 98 ging es vor allem um den Erhalt der URL-Struktur und das Entschlacken verschachtelter HTML-Templates. Ein Online-Shop auf Drupal 7 Commerce bringt vier zusätzliche Transaktionsebenen mit, die Standard-Migrationsskripte nicht automatisch übernehmen können:
- Trennung zwischen Produktanzeige (Node) und SKU-Variante (Commerce Product): In Drupal 7 ist die URL, die ein Kunde aufruft, meist ein normaler Drupal-
node(Product Display), der auf drei bis zehncommerce_product-Datensätze (Größen, Gebinde, Ausführungen oder Staffelpreise) verweist. Wählt der Käufer im Dropdown eine andere Variante, sendet Drupal 7 einen langsamen AJAX-POST-Request (/system/ajax) an den Server, um Preis, Artikelnummer und Produktbild neu zu berechnen. - Historisch gewachsene Preis- und Steuerregeln: Mengenrabatte, B2B-Händlerkonditionen, Versandkostenfreigrenzen und länderspezifische Mehrwertsteuersätze stecken häufig in alten
Rules-Konfigurationen oder individuellen PHP-Hooks (hook_commerce_cart_line_item_refresh). - Aufgeblähte Sitemaps durch Filter-URLs: Über acht bis zehn Jahre erzeugen Facettenfilter, ausgelaufene Saisonartikel und doppelte Kategorieseiten aus einem Katalog mit 300 Kernsortiment-Artikeln über 1.600 indexierte URLs in der Google Search Console.
- Zahlungsanbieter und PCI-DSS v4.0: Veraltete PHP-Module für Stripe, PayPal, Klarna oder Kreditkartenzahlungen nutzen alte Bibliotheken, die heutige Anforderungen an PCI-DSS v4.0 und starke Kundenauthentifizierung (SCA) nicht mehr erfüllen.
Altes Drupal 7 Commerce
Gekoppeltes PHPJeder Seitenaufruf und jeder Variantenwechsel startet serverseitige PHP-Hooks und MySQL-Joins über Node- und Commerce-Tabellen.
- 400 ms bis 900 ms Wartezeit beim Wechsel einer Produktvariante
- Sicherheitsrisiko durch End-of-Life PHP und Altmodule
- Mobiler PageSpeed stagniert bei 22 bis 38 / 100
Astro Storefront + Commerce API
Entkoppelter StackProdukt- und Kategorie-URLs werden mit eingebettetem Varianten-JSON vorgerendert; Warenkorb und Checkout laufen über API-Endpunkte.
- Sofortiger Varianten- und Bildwechsel im Browser ohne Server-Roundtrip
- 100 % Erhalt aller bestehenden `/kategorie/produkt/`-URLs
- Mobiler PageSpeed 95+ und grüne Core Web Vitals
Schritt 1: Technisches Audit eines 1.600-URL-Shops vor dem ersten Code
Eine verlässliche Migration beginnt mit der automatisierten Auswertung der Sitemap, der Datenbanktabellen und der Netzwerkaufrufe, um jede URL und jede Funktion sauber in statische Katalogdaten oder dynamische Transaktionslogik einzuteilen.
Wer einen gewachsenen Shop mit rund 1.600 öffentlichen URLs nur anhand der Startseite schätzt, erlebt später teure Überraschungen. Wir führen vorab eine technische Inventur über vier Ebenen durch:
| Prüfebene | Was wir bei einem 1.600-URL-Shop analysieren | Typischer Befund im Live-Betrieb | Architekturentscheidung |
|---|---|---|---|
| 1. Sitemap & URL-Bestand | sitemap.xml, Tabelle url_alias sowie die Top-1.000-Einstiegsseiten aus der Google Search Console | ~1.400 Produkt- und Varianten-URLs, ~160 Kategorieseiten, ~40 Inhaltsseiten sowie hunderte verwaiste Filter-Parameter | 1:1-Übernahme aller rankenden Produkt- und Kategorie-Pfade; veraltete Filter-URLs werden per 301-Regel konsolidiert. |
| 2. Katalog- & Variantenschema | Tabellen commerce_product, field_data_commerce_price, Taxonomien, PDF-Datenblätter und Produktfotos | 2 bis 8 SKU-Varianten pro Produktseite, Zusatzfelder für Maße/Gewicht, unkomprimierte JPEG-Originalbilder | Strukturierter Export nach JSON/SQL; Einbettung aller Varianten-Attribute direkt in das Astro-Seitenpayload. |
| 3. Warenkorb- & Preisregeln | Tabelle rules_config, Versandgewichtsmatrizen, Gutscheincodes und B2B-Steuerbefreiungen | Meist 3 bis 5 aktiv genutzte Preis- und Versandregeln neben 25 veralteten Aktionsregeln aus früheren Jahren | Umsetzung ausschließlich der aktiven Preis- und Versandlogik als getestete TypeScript- oder Python-Funktionen. |
| 4. Checkout & ERP-Anbindung | Zahlungs-Webhooks, Bestandsabgleich mit Warenwirtschaft/ERP, Bestell-E-Mails und Kunden-Login | Direkte Datenbankschreibzugriffe oder fehleranfällige XML-Cronjobs zur Übergabe von Bestellungen an das Lager | Ablösung direkter Datenbankzugriffe durch eine saubere Webhook-Warteschlange zwischen Checkout-API und ERP. |
Schritt 2: So funktioniert das entkoppelte Astro-Storefront im Betrieb
Die entkoppelte Architektur liefert Produkt- und Kategorieseiten als vorberechnetes Astro-HTML für sofortige Ladezeiten aus und aktiviert schlanke interaktive Komponenten gezielt für Variantenauswahl, Live-Lagerbestand und Checkout.
Abschaffung der /system/ajax-Wartezeit auf Produktseiten
Auf einer klassischen Produktseite unter Drupal 7 Commerce löst jeder Klick auf eine andere Größe, Ausführung oder Packungseinheit einen Server-Aufruf an /system/ajax aus. Mobilfunknutzer warten fast eine Sekunde, bis sich Preis und Produktbild aktualisieren.
In unserer Astro-Architektur werden sämtliche Varianten eines Produkts beim Build-Vorgang in ein kompaktes, rund 2 KB kleines JSON-Objekt direkt im HTML-Dokument eingebettet. Klickt der Käufer auf eine andere Option, aktualisiert eine leichtgewichtige Browser-Komponente Preis, Artikelnummer, Galeriebild und Offer-Strukturdaten in unter 15 Millisekunden ohne Serveranfrage. Eine asynchrone Hintergrundabfrage prüft parallel den aktuellen Lagerbestand, ohne den Seitenaufbau zu verzögern.
Auswahl des passenden Commerce-Backends
Je nachdem, wie Ihr Team Artikel und Bestellungen pflegt, kombinieren wir das Astro-Storefront mit einem von drei Backends:
- Headless Medusa.js oder Saleor (Self-Hosted auf europäischem VPS): Ideal, wenn Sie keine umsatzabhängigen Plattformgebühren zahlen möchten, volle Hoheit über Ihre PostgreSQL-Datenbank benötigen und individuelle B2B-Preislisten oder ERP-Anbindungen nutzen.
- Shopify Storefront API (Headless): Sinnvoll für Handelsmarken, die den fertigen Checkout und das Backoffice von Shopify nutzen möchten, aber ihre historisch gewachsene Drupal-URL-Struktur ohne erzwungene
/products/- und/collections/-Pfade behalten wollen. - Schlankes PostgreSQL/SQLite-Backend + Stripe Checkout: Optimal für überschaubare Sortimente (bis 2.000 SKUs), bei denen Artikeldaten direkt aus der bestehenden Warenwirtschaft synchronisiert werden.
Monolithischer Drupal-10-Neubau vs. Astro Storefront + Headless API: Kosten & Dauer
Ein monolithisches Upgrade von Drupal 7 auf Drupal 10 Commerce erfordert die gleichzeitige Migration komplexer Datenbankstrukturen und aufwendiger Twig/PHP-Templates, während die Trennung mit Astro den Frontend-Aufwand halbiert und laufende CMS-Sicherheitsupdates überflüssig macht.
| Vergleichskriterium | Monolithisches Upgrade (Drupal 7 auf Drupal 10 Commerce) | Wechsel auf Standard-Shopify-Plus / Magento | Entkoppeltes Astro Storefront + Headless Commerce API |
|---|---|---|---|
| Typische Projektdauer | 5 bis 9 Monate | 3 bis 6 Monate | 5 bis 8 Wochen |
| Geschätztes Projektbudget | 35.000 € bis 75.000+ € | 25.000 € bis 60.000 € | 14.000 € bis 28.000 € (je nach ERP- und Checkout-Umfang) |
| Erhalt bestehender SEO-URLs | Hoch (bei sauberer Migration aller pathauto-Aliase) | Gering bei Standard-Shopify (erzwungene /products/-Pfade erfordern 1.600+ Weiterleitungen) | 100 % identische URL-Pfade (keine erzwungenen Pfadänderungen) |
| Mobiler PageSpeed (LCP / INP) | 55 bis 75 (weiterhin durch PHP/Twig und Datenbank begrenzt) | 45 bis 70 (Liquid-Templates und Drittanbieter-Apps) | 95 bis 100 (vorgerendertes HTML + optimierte AVIF-Bilder) |
| Laufende Serverkosten | 150 € bis 500 €/Monat für Managed PHP/MySQL & Sicherheits-Updates | 300 € bis 2.300 €/Monat Plattformgebühr + Transaktionsaufschläge | 20 € bis 60 €/Monat auf europäischem VPS / Edge-CDN |
Häufig gestellte Fragen (FAQ)
Was passiert mit bestehenden Kundenkonten, Passwörtern und alten Bestellungen aus Drupal 7?
Wir übernehmen bestehende Kundenkonten, Lieferadressen und die Bestellhistorie vollständig in die neue Datenbank, sodass Stammkunden ihre bisherigen Bestellungen weiterhin einsehen können. Da Drupal 7 ältere gesalzene SHA-512-Passwort-Hashes ($S$...) verwendet, richten wir entweder eine transparente Login-Brücke ein, die den Hash beim nächsten Login automatisch auf Argon2/bcrypt aktualisiert, oder bieten einen passwortlosen Login per Einmal-Code an.
Verlieren wir beim Abschied von Drupal 7 unsere Google-Rankings?
Nein, sofern alle URL-Pfade, Canonical-Tags, Überschriftenstrukturen und strukturierten Produktdaten (Product, Offer und BreadcrumbList in JSON-LD) eins zu eins erhalten bleiben. Suchmaschinen bewerten die inhaltliche Relevanz, die Kontinuität der URLs und die Ladezeit (Core Web Vitals) unabhängig davon, ob der HTML-Code von PHP oder Astro erzeugt wurde. Vor dem Umschalten der Domain prüfen wir alle 1.600+ Staging-URLs automatisiert auf 100 % Übereinstimmung bei Statuscodes und Metadaten.
Wie pflegt unser Team nach der Migration Preise, Lagerbestände und Produkttexte?
Ihr Team arbeitet weiterhin in einer aufgeräumten Web-Verwaltungsoberfläche (oder direkt in Ihrem bestehenden ERP-System). Sobald ein Mitarbeiter einen Preis ändert, ein neues Produktbild hochlädt oder einen Artikel anlegt, aktualisiert ein Webhook innerhalb weniger Sekunden gezielt diese Produktseite in Astro, während Lagerbestände und Warenkorbpreise sofort live über die API bereitstehen.
Fordern Sie ein Migrations-Audit mit Festpreis-Rahmen für Ihren Shop an
Wenn Ihr Online-Shop oder B2B-Katalog noch auf Drupal 7 Commerce, Magento 1 oder einem trägen WooCommerce-System läuft, unterschreiben Sie keinen neunmonatigen Blindflug. Schicken Sie uns Ihre Domain. Wir analysieren Ihre Sitemap, prüfen die Komplexität Ihrer Produktvarianten und Ihres Checkouts und erstellen einen klaren Architektur-Fahrplan mit festem Zeitrahmen und Budget.
Informieren Sie sich über unsere Leistungen zur Web-Modernisierung oder fordern Sie direkt ein technisches Website-Audit an.