Von Shopify oder Magento zu Solidus migrieren: Die Gesamtkosten über fünf Jahre
Die Mail kommt meistens in der zweiten Januarwoche, nachdem jemand die Jahreszahlen gemacht hat. Sie sagt sinngemäß: wir haben letztes Jahr mehr an Shopify und die Apps gezahlt als an unseren besten Mitarbeiter, und wir können den Checkout immer noch nicht ändern. Oder, von der Magento Seite: die Agentur will sechzigtausend für das Upgrade auf die nächste Version und wir sind uns nicht sicher was wir dafür bekommen außer dass wir am Leben bleiben. Beide Mails enden gleich. Wäre ein eigener Shop tatsächlich günstiger, und was würde ein Umzug bedeuten? Vor ein paar Wochen habe ich einen allgemeinen Vergleich der Plattformen geschrieben. Das hier ist die Speiche die daran hängt: das Geld, ordentlich über fünf Jahre durchgerechnet, und dann die Migration selbst, Schritt für Schritt, inklusive der Teile die in den Migrationsanleitungen der Plattformanbieter fehlen weil sie den Anbieter schlecht aussehen lassen.
Die Januar Mail
Die Mail kommt meistens in der zweiten Januarwoche, nachdem jemand die Jahreszahlen gemacht hat. Sie sagt sinngemäß: wir haben letztes Jahr mehr an Shopify und die Apps gezahlt als an unseren besten Mitarbeiter, und wir können den Checkout immer noch nicht ändern. Oder, von der Magento Seite: die Agentur will sechzigtausend für das Upgrade auf die nächste Version und wir sind uns nicht sicher was wir dafür bekommen außer dass wir am Leben bleiben.
Beide Mails enden gleich. Wäre ein eigener Shop tatsächlich günstiger, und was würde ein Umzug bedeuten?
Vor ein paar Wochen habe ich einen allgemeinen Vergleich der Plattformen geschrieben. Das hier ist die Speiche die daran hängt: das Geld, ordentlich über fünf Jahre durchgerechnet, und dann die Migration selbst, Schritt für Schritt, inklusive der Teile die in den Migrationsanleitungen der Plattformanbieter fehlen weil sie den Anbieter schlecht aussehen lassen.
Ich nehme für den ganzen Artikel einen erfundenen aber typischen Shop, damit die Zahlen vergleichbar bleiben. Nennen wir ihn den Gartenshop. Er verkauft Werkzeug, Saatgut und Möbel, macht rund zwei Millionen Euro im Jahr, hat etwa dreitausend Artikel mit Varianten, liefert nach Deutschland, Österreich und in die Niederlande und hat ein kleines Team von sechs Leuten. Er ist seit vier Jahren auf seiner aktuellen Plattform. Jede Zahl unten ist gerundet und stammt aus echten Projekten die diesem hier sehr ähnlich sahen, und dein Shop wird abweichen. Nimm die Form, nicht die Nachkommastellen.
Warum "was kostet es im Monat" die falsche Frage ist
Plattformanbieter rechnen in Monaten, weil eine kleine Monatszahl leicht zu unterschreiben ist. Shopify Advanced kostet ein paar hundert im Monat. Magento Open Source ist kostenlos. Beide Aussagen stimmen und beide sind fast bedeutungslos, weil die Plattformgebühr der kleinste Posten auf der Rechnung ist.
Die Rechnung hat fünf Teile, und nur der erste steht auf der Preisseite.
Die Plattform selbst: Plangebühr, oder Lizenz bei Adobe Commerce, oder nichts bei Magento Open Source und Solidus.
Das was du anschraubst: Apps, Plugins, Erweiterungen, Themes, und die Lizenzen die manche davon mitbringen.
Die Leute: Agentur Retainer, Freelancer, die Stunden die deine eigenen Mitarbeiter damit verbringen gegen die Plattform zu kämpfen statt zu verkaufen.
Die Prozente: Transaktionsgebühren, Zahlungsaufschläge, die Umsatzbeteiligung die manche Pläne still mitnehmen.
Die erzwungenen Ausgaben: Versions Upgrades, End of Life Migrationen, die App die übernommen wird und ihren Preis verdreifacht, der Neubau den du nicht geplant hattest.
Zähl das über fünf Jahre zusammen, was eine realistische Lebensdauer für eine Shopplattform vor der nächsten großen Entscheidung ist, und der Vergleich sieht ganz anders aus als die Preisseite. Genau das machen wir jetzt.
Der Gartenshop auf Shopify: fünf Jahre
Ich fange mit Shopify an, weil dort die Zahlen die Leute am meisten überraschen.
Plan. Der Gartenshop braucht Advanced wegen des Reportings und der niedrigeren Gebühr für externe Zahlungsanbieter. Umgerechnet rund vierhundert Euro im Monat. Vierundzwanzigtausend über fünf Jahre. Wenn er auf Plus wechselt, wozu er in dem Moment verleitet wird in dem er eine ordentliche B2B Preisliste oder einen eigenen Checkout will, kommen rund zweitausenddreihundert im Monat obendrauf. Das allein sind hundertvierzigtausend über fünf Jahre, und darauf komme ich zurück.
Apps. Ich habe letztes Frühjahr einen Shop geprüft der fast genau so aussah. Einundzwanzig Apps. Bewertungen, ein Bundle Builder, deutsche Rechtstexte, Cookie Consent mit Consent Mode, Rechnungen die der Steuerberater akzeptiert, Wieder verfügbar Benachrichtigungen, eine Such und Filter App weil die eingebaute dreitausend Artikel mit Attributen nicht bewältigt, eine Übersetzungs App, ein Treueprogramm, ein Upsell Widget, ein Retourenportal, ein Formular Builder, eine Größentabelle, ein Versandkostenrechner für die drei Länder, und eine Handvoll kleiner die niemand mehr installiert zu haben glaubte. Summe: achthundertneunzig Euro im Monat. Dreiundfünfzigtausend über fünf Jahre, und das nimmt an dass keine davon die Preise erhöht, was jede einzelne tut.
Theme und Agentur. Ein ordentliches Theme, angepasst, mit den saisonalen Änderungen die ein Gartenshop braucht, kostet den Gartenshop im ersten Jahr etwa fünfzehntausend und danach acht bis zehntausend im Jahr an Agenturzeit. Rund fünfzigtausend über fünf Jahre.
Prozente. Das ist der Posten den niemand kommen sieht. Der Gartenshop will Kauf auf Rechnung über einen deutschen Anbieter, weil ein Viertel seiner Kunden danach fragt, und er hat mit einem lokalen Acquirer einen guten Kartensatz verhandelt. Ein externer Zahlungsanbieter auf Advanced bedeutet dass Shopify zusätzlich 0,6 Prozent auf jede Bestellung verlangt. Bei zwei Millionen im Jahr sind das zwölftausend Euro im Jahr, sechzigtausend über fünf Jahre, für das Privileg Shopifys eigene Zahlungsabwicklung nicht zu nutzen. Viele Shops geben auf und nehmen Shopify Payments, und dann kommt das Rechnungsprodukt das sie wollten über Klarna zu Klarnas Satz.
Erzwungene Ausgaben. Shopify hat keine Versions Upgrades im Magento Sinn, was ein echter Vorteil ist. Was es stattdessen hat ist App Fluktuation. Über fünf Jahre ersetzt der Gartenshop im Schnitt eine App pro Jahr, weil sie eingestellt, übernommen oder nach einer Plattformänderung kaputt gegangen ist. Jeder Ersatz ist ein kleines Projekt. Zehntausend über fünf Jahre ist großzügig.
Summe, Standard Shopify: rund zweihundertvierzigtausend Euro über fünf Jahre. Mit Plus dreihundertachtzigtausend. Und am Ende besitzt der Gartenshop einen CSV Export.
Der Gartenshop auf Magento Open Source: fünf Jahre
Magento ist kostenlos, und ein Magento Shop ist das Teuerste auf dieser Liste wenn es darum geht ihn am Leben zu halten.
Plattform. Nichts, wenn du auf Open Source bleibst. Auf Adobe Commerce fängt die Lizenz für einen Shop dieser Größe bei rund fünfundzwanzigtausend im Jahr an und steigt mit dem Umsatz. Ich nehme Open Source an, denn das betreiben die meisten KMU in der DACH Region auf Magento tatsächlich.
Hosting. Ein Magento 2 Store mit dreitausend Artikeln und ein paar hundert Bestellungen am Tag braucht einen echten Server, oder zwei, mit OpenSearch, Redis und einem Page Cache davor. Managed Magento Hosting für diese Größe liegt bei vier bis sechshundert im Monat. Dreißigtausend über fünf Jahre.
Erweiterungen und Theme. Der Gartenshop hat ein Hyvä Theme, weil das Standard Theme unbenutzbar langsam war, und etwa fünfzehn bezahlte Erweiterungen: ein deutsches Rechtspaket, einen One Page Checkout, Layered Navigation, einen ERP Connector, ein Rechnungsmodul, ein paar Zahlungsmodule, einen Blog, eine SEO Suite. Lizenzen und Verlängerungen kommen auf rund dreihundert im Monat. Achtzehntausend über fünf Jahre, plus die Theme Lizenz.
Agentur. Das ist der große Posten. Magento Agenturen verlangen Magento Sätze. Der Gartenshop hat einen Retainer über zwanzig Stunden im Monat zu hundertdreißig die Stunde, also etwa einunddreißigtausend im Jahr, was Sicherheitspatches, die vierteljährlichen Upgrades, Konflikte zwischen Erweiterungen nach jedem Upgrade und ein kleines Maß an echter Verbesserung abdeckt. Hundertfünfundfünfzigtausend über fünf Jahre.
Erzwungene Ausgaben. Magento 2 bekommt ungefähr alle paar Jahre ein großes Release, und jedes davon bricht eine Handvoll Erweiterungen und das Theme. Budgetiere in den fünf Jahren ein ordentliches Upgrade Projekt von zwanzig bis dreißigtausend, zusätzlich zum Retainer. Und da ist der Schatten eines größeren: wenn Adobes Richtung so bleibt, findet sich der Gartenshop womöglich mit einer Open Source Variante wieder die ein Community Fork mit kleinerem Ökosystem ist, und das ist ein Neubau Gespräch.
Summe, Magento Open Source: rund zweihundertvierzigtausend Euro über fünf Jahre. Seltsamerweise fast identisch mit Shopify, aber mit viel mehr davon bei Menschen statt bei einem Anbieter, und mit deutlich höherer Streuung, denn ein schlechtes Upgrade Jahr kann den Agenturposten verdoppeln.
Der Gartenshop auf Solidus: fünf Jahre
Jetzt die Variante bei der das Geld anders aussieht, und ich versuche dabei so ehrlich zu sein wie bei den anderen.
Aufbau. Das ist die Zahl bei der die Leute stocken. Ein Solidus Shop für den Gartenshop, ordentlich gebaut mit echtem Design, Tests, dem Zahlungsmix für drei Länder, Rechnungsstellung, Rechtstexten, ERP Anbindung, Migration der Daten und den Weiterleitungen, kostet sechzig bis achtzigtausend Euro. Sagen wir siebzig. Es ist einmalig, es wird einmal bezahlt, und der Shop der dabei herauskommt gehört dir.
Hosting. Ein Solidus Shop dieser Größe läuft bequem auf einem einzelnen virtuellen Server mit PostgreSQL, ausgerollt mit Kamal, für sechzig bis hundert Euro im Monat inklusive Backups und Monitoring. Sechstausend über fünf Jahre. Das ist kein Tippfehler. So sieht es aus wenn es keinen Elasticsearch Cluster und keine Page Cache Schicht gibt die ein langsames Frontend am Leben halten muss.
Erweiterungen. Die offiziellen Solidus Erweiterungen sind Open Source und kostenlos. Die der Gartenshop braucht, Stripe oder Braintree, Internationalisierung, ein paar Aktionsregeln, kosten nichts. Alles andere wird als Teil der Aufbauzahl oben in den Shop gebaut.
Wartung. Das ist der ehrliche laufende Posten. Rails und Solidus Upgrades, Aktualisierung der Abhängigkeiten, Security Scanning, gelegentlich eine kleine Verbesserung. Für einen gut getesteten Shop sind das acht bis zwölftausend im Jahr, und es sinkt tendenziell nach dem zweiten Jahr weil der Shop aufhört sich zu verändern. Fünfzigtausend über fünf Jahre.
Prozente. Keine. Nimm welchen Zahlungsanbieter du willst, verhandle welchen Satz du kannst, keine Plattform nimmt einen Anteil.
Erzwungene Ausgaben. Es gab nie ein Solidus Release das einen Neubau erzwungen hat. Große Rails Upgrades kommen alle paar Jahre und sind auf einer getesteten Codebasis Tage, keine Projekte. Ich budgetiere hier nichts und musste es noch nie ausgeben.
Summe, Solidus: rund hundertsechsundzwanzigtausend Euro über fünf Jahre. Und die Form zählt mehr als die Summe. Siebzig davon liegen in den ersten sechs Monaten. Danach gibt der Gartenshop etwa zehntausend im Jahr aus, und er gibt es für seine eigene Software aus.
Die drei nebeneinander
Fünfjahressummen für den Gartenshop, gerundet:
Shopify Standard: zweihundertvierzigtausend. Shopify Plus: dreihundertachtzigtausend. Magento Open Source: zweihundertvierzigtausend. Solidus: hundertsechsundzwanzigtausend.
Das erste Jahr allein sieht umgekehrt aus. Shopify: fünfzigtausend. Magento, wenn du es schon hast: fünfzigtausend. Solidus: achtzigtausend. Deshalb bleiben die Leute wo sie sind. Der Schmerz des ersten Jahres auf Solidus ist echt und die Ersparnis zeigt sich erst ab dem zweiten Jahr.
Der Break Even für den Gartenshop liegt irgendwo im zweiten Jahr gegenüber Standard Shopify und Magento, und innerhalb des ersten Jahres gegenüber Shopify Plus. Von da an wächst der Abstand um fünfzig bis siebzigtausend pro Jahr.
Und dann ist da die Zahl die auf keiner Liste steht und über die ich im Vergleichsartikel geschrieben habe: die Kosten der Dinge die du nicht tun kannst. Der Gartenshop wollte eine Händlerpreisliste für Landschaftsgärtner, einen Lieferzeitfenster Wähler für Möbel und einen Bundle Builder für Saatgut Sets. Auf Shopify brauchte das erste Plus, das zweite eine App die nicht ganz funktionierte, und das dritte war ein Kompromiss. Auf Solidus sind alle drei Features im Aufbau. Ich habe sie nicht in den Vergleich eingepreist weil man sie nicht fair bepreisen kann, aber sie sind meistens der Grund warum die Januar Mail überhaupt geschrieben wird.
Wann du nicht migrieren solltest
Das stelle ich vor das Wie, weil ich lieber ein Projekt verliere als eines mache das nicht stattfinden sollte.
Migriere nicht wenn dein Shop unter einer halben Million im Jahr liegt und deine Anforderungen konventionell sind. Der Solidus Aufbau ist ein Fixbetrag und schrumpft mit dem Umsatz kaum. In dieser Größe ist Shopify die richtige Antwort und die Miete ist erträglich.
Migriere nicht wenn deine aktuelle Plattform funktioniert und die einzige Klage die Rechnung ist. Migrationen tragen Risiko. Wenn das was weh tut das Geld ist und du damit leben kannst, ist der ehrliche Rat weiterzumachen und neu zu bewerten wenn eine echte Fähigkeitsgrenze auftaucht.
Migriere nicht in den zwei Monaten vor deiner Hochsaison. Für den Gartenshop heißt das: zwischen Februar und Mai geht nichts live. Stell im ruhigsten Quartal um.
Migriere nicht wenn du die Person auf deiner Seite nicht benennen kannst der die Daten gehören. Nicht die Agentur, nicht ich. Jemand in deinem Unternehmen der weiß was eine Variante ist, warum die alten Artikelnummern Suffixe haben und welche Kunden Händler sind. Ohne diese Person produziert die Migration einen schönen Shop voller falscher Daten.
Wenn nichts davon zutrifft, kommt hier was es wirklich bedeutet.
Was migriert, was nicht, und was neu gebaut werden muss
Das Nützlichste was ich dir geben kann ist diese Liste, denn es ist die Liste die Anbieter nicht veröffentlichen.
Migriert sauber, mit Mapping Arbeit. Produkte, Varianten, Preise, Bilder, Kategorien, Lagerbestände, Versandzonen und Sätze, Steuerregeln, statische Inhalte. Das ist der Großteil des Aufwands aber nichts vom Risiko. Es ist eine Zuordnungsübung zwischen zwei Datenmodellen und sehr viel Kontrolle.
Migriert teilweise. Die Bestellhistorie. Du kannst Bestellungen als Datensätze mitnehmen, mit Positionen, Summen, Adressen und Status, damit der Kundenservice nachschlagen kann und Kunden ihre Historie sehen. Was du nicht mitnehmen kannst ist die Fähigkeit im neuen System auf eine alte Bestellung zu reagieren: Erstattungen, Nachbestellungen, Retouren auf Bestellungen von vor der Migration müssen meist aus der alten Plattform oder von Hand abgewickelt werden. Plane das ein. Bewertungen, falls deine Bewertungs App einen Export erlaubt, was nicht alle tun. Rabattcodes, die man besser von Hand neu anlegt als importiert, weil die Hälfte ohnehin tot ist.
Migriert nie. Kundenpasswörter. Shopify, Magento und jede andere ernstzunehmende Plattform speichern Passwörter als Einweg Hashes, zu Recht, und sie geben dir die Hashes nicht einmal wenn sie könnten. Zahlungstokens, also gespeicherte Karten und die daran hängenden Abo Mandate. Die gehören dem Zahlungsanbieter und der Plattform, und sie zu bewegen erfordert eine Token Migration auf Anbieterebene die mit Stripe, Braintree und Adyen möglich ist aber Monate vorher geplant werden muss, und die mit Shopify Payments unmöglich ist weil es schlicht nicht portabel ist. Apps und ihre Daten, außer die App hat einen Export. Dein Theme.
Muss neu gebaut werden. Das Storefront, komplett. Jede Integration: ERP, Lager, Mail Marketing, Buchhaltung, Marktplätze. Jedes eigene Feature das in einer App gelebt hat. Der Checkout, der dir auf Solidus endlich gehört.
Wenn dein Migrationsplan nicht drei Spalten mit diesen Überschriften hat, ist er noch kein Plan.
Das Kundenkonto Problem, und wie du daraus eine Kampagne machst
Weil Passwörter nicht umziehen können, muss jeder Kunde ein neues setzen. Inhaber hören das und geraten in Panik. Es ist tatsächlich ein Geschenk, wenn du es als eines behandelst.
Die schlechte Variante: du migrierst, Kunden versuchen sich einzuloggen, es scheitert, sie klicken "Passwort vergessen", die Hälfte gibt auf, dein Support Postfach läuft über, und dein erster Monat auf dem neuen Shop sieht in den Zahlen nach einer Katastrophe aus.
Die gute Variante: zwei Wochen vor dem Umstieg schreibst du jedem aktiven Kunden eine Mail, im Ton eines Launches, mit der Nachricht dass der neue Shop kommt und was daran besser ist. Am Tag des Umstiegs hat der neue Shop jedes Kundenkonto bereits angelegt, mit Mail, Adressen und Bestellhistorie, und einer Markierung "Passwort noch nicht gesetzt". Beim ersten Login Versuch, oder beim Klick auf den Link in der Launch Mail, landen sie auf einer Seite die sagt: willkommen im neuen Shop, setz dein Passwort, hier ist ein Gutschein für die Umstände. Der Gutschein kostet dich fünf Euro pro Kunde. Die Reaktivierung die er auslöst ist das Zehnfache wert, und du bekommst für jeden Kunden der durchkommt eine saubere Einwilligung, was du im DACH Markt ohnehin wollen solltest.
Ich habe das bei drei Migrationen gemacht. Die Shops die es als Kampagne behandelt haben, hatten die Login Raten nach etwa zwei Wochen wieder. Der eine der es nicht getan hat, brauchte drei Monate.
Bestellhistorie: nimm sie mit, aber entscheide wie weit zurück
Nimm fünf Jahre mit, nicht fünfzehn. Alte Bestellungen haben alte Adressen, alte Preise, alte Produkte die es nicht mehr gibt, und jede muss auf etwas im neuen Sortiment oder auf einen Platzhalter abgebildet werden. Die Mapping Arbeit ist linear in der Zahl der Bestellungen. Der Kundenservice braucht fast nie eine Bestellung die älter ist als die Retourenfrist plus die Garantiezeit, was beim Gartenshop zwei Jahre sind. Ich nehme meistens drei Jahre als reine Lese Historie in den neuen Shop und archiviere den Rest als Datenbankexport den der Admin der alten Plattform noch eine Weile öffnen kann.
Eines zählt wirklich: Bestellnummern. Deine Buchhaltung, deine Rechnungen und deine Kunden beziehen sich darauf. Der neue Shop darf nie eine Nummer wiederverwenden die der alte vergeben hat. Starte die neue Sequenz oberhalb der höchsten alten Nummer mit sichtbarem Abstand, und sag deinem Steuerberater dass du das getan hast.
Die URL Tabelle, wo Migrationen Geld verlieren
Auf diesen Teil bestehe ich am meisten, weil er entscheidet ob die Migration dich organischen Traffic kostet.
Jedes Produkt, jede Kategorie, jede Inhaltsseite und jeder Blogbeitrag im alten Shop hat eine URL. Manche dieser URLs haben Jahre an Links und Rankings hinter sich. Der neue Shop wird andere URLs haben, außer du gibst dir Mühe sie zu erhalten, und selbst dort wo du sie erhältst unterscheiden sich die Konventionen der Plattformen. Shopify hat /products/ und /collections/. Magento hat was auch immer die SEO Erweiterung entschieden hat, oft mit .html am Ende. Solidus hat was du ihm sagst.
Der Liefergegenstand ist eine Tabelle, und sie hat einen Verantwortlichen. Spalte eins, jede alte URL die in den letzten zwölf Monaten einen Besuch oder einen Link bekommen hat, was du aus der Search Console und deiner Analytics ziehst. Spalte zwei, die neue URL auf die sie abgebildet wird. Spalte drei, die Art der Weiterleitung, in fast allen Fällen 301. Spalte vier, ein Häkchen für getestet.
In der Größe des Gartenshops sind das etwa viertausend Zeilen. Jemand braucht zwei bis drei Tage um sie ordentlich zu bauen, und es sind die besten drei Tage im ganzen Projekt. Jede Zeile die fehlt ist eine Seite die nach dem Umstieg einen 404 liefert, und Google merkt das innerhalb von Tagen.
Die Weiterleitungen leben im neuen Shop, nicht in einem DNS Dienst oder einem Proxy, weil sie jedes künftige Deployment überleben müssen. Ich baue sie als Tabelle in der Datenbank mit einer Admin Maske, damit die Mitarbeiter des Gartenshops selbst eine hinzufügen können wenn sie nach dem Launch in der Search Console einen Ausreißer entdecken.
Zahlungstokens und Abos
Wenn der Gartenshop Kunden mit gespeicherten Karten hat, oder ein Abo Produkt, ist das der Punkt der am frühesten anfangen muss.
Mit Stripe, Braintree oder Adyen lassen sich gespeicherte Zahlungsmittel über den Anbieter zwischen Konten migrieren, und im besten Fall verbindet sich der neue Solidus Shop mit demselben Anbieterkonto und nutzt einfach dieselben Tokens weiter. Das ist das Ziel: dasselbe Anbieterkonto, neue Plattform, gar keine Token Migration. Das funktioniert wenn die alte Plattform dich dein eigenes Anbieterkonto nutzen ließ, was Magento tut und Shopify nur mit Strafgebühren.
Mit Shopify Payments sind Tokens nicht portabel. Punkt. Kunden mit gespeicherten Karten müssen sie neu eingeben, und Abos die über eine Shopify Abo App laufen müssen mit frischen Mandaten neu angelegt werden. Das ist eine Kundenkontakt Übung mit Deadline, und sie muss sechs Wochen vor dem Umstieg anfangen damit jeder Abonnent zweimal gefragt wurde.
Ich habe nach einem Projekt bei dem das schiefging einen ganzen Artikel über die versteckten Gefahren beim Wechseln von Payment Gateways geschrieben, und ich empfehle ihn zu lesen bevor du entscheidest dass die Zahlungsseite ein Detail ist.
Der Parallelbetrieb und der Freeze
In den letzten drei bis vier Wochen vor dem Umstieg existieren beide Shops. Der alte ist live und nimmt Bestellungen an. Der neue ist fertig, auf einer Staging Domain, und wird von deinem Team mit echten Produkten und Testzahlungen geprüft.
In diesen Wochen frierst du das Sortiment ein. Keine neuen Produkte, keine Preisänderungen, keine Umstrukturierung der Kategorien im alten Shop, denn jede Änderung muss von Hand im neuen nachgezogen werden und das Risiko einer Abweichung steigt mit jeder. Inhaber hassen das. Das Marketing hasst es noch mehr. Mach es trotzdem, und plane die Migration so dass der Freeze nicht mit einem Launch kollidiert.
Bestellungen und Kunden sind die Ausnahme. Sie fließen bis zum letzten Moment in den alten Shop, und die finale Datenmigration am Morgen des Umstiegs bringt das Delta mit: alles was sich seit dem letzten vollständigen Import geändert hat. Dieser Delta Import wird vor dem echten Tag mindestens zweimal auf Staging geprobt, gestoppt und Schritt für Schritt dokumentiert, damit er am Tag selbst langweilig ist.
Der Tag des Umstiegs
Nimm einen Dienstag oder Mittwochvormittag in deinem ruhigsten Monat. Nie einen Freitag, nie vor einem Feiertag, nie während einer Kampagne.
Die Abfolge die ich nutze. Sechs Uhr morgens, den alten Shop mit einer freundlichen Nachricht in den Wartungsmodus setzen. Delta Import laufen lassen. Bestellzahlen, Kundenzahlen, Lagerbestände gegen den Admin des alten Shops prüfen. Domain auf den neuen Shop umstellen. Den Smoke Test fahren: eine echte Bestellung mit einer echten Karte über einen Euro, in jedem Land, mit jeder Zahlungsart, dann erstatten. Die fünfzig wichtigsten URLs aus der Weiterleitungstabelle von Hand prüfen. Innerhalb der ersten Stunde die Search Console auf Crawl Fehler prüfen. Wartungsmodus aufheben. Launch Mail verschicken.
Um zehn Uhr bist du entweder live oder du hast zurückgerollt, und Zurückrollen heißt die Domain wieder auf den alten Shop zu zeigen, weshalb der alte Shop nach dem Umstieg dreißig Tage lang genau so bleibt wie er war, unangetastet. Keinen Tag weniger. Kündige den Shopify Plan nicht am Tag des Umstiegs, so gut es sich auch anfühlt. Kündige ihn einen Monat später, nachdem du ein letztes Mal alles exportiert und bestätigt hast dass der erste Monatsabschluss des neuen Shops sauber durchgelaufen ist.
Ein realistischer Zeitplan für den Gartenshop
Woche eins bis zwei: Discovery, die Liste mit drei Spalten, die URL Tabelle beginnt, der Datenverantwortliche wird benannt, die Frage nach dem Zahlungsanbieter wird beantwortet.
Woche drei bis zehn: der Aufbau. Storefront, Checkout, Zahlungen, Integrationen, die Admin Funktionen die das Team braucht. Migrationsskripte für das Sortiment werden geschrieben und immer wieder gegen eine Kopie der alten Daten laufen gelassen bis sie sauber sind. Jedes Feature hat einen Test, und daher weiß ich dass der Delta Import am Tag des Umstiegs funktioniert. Wie dieses Testen in der Praxis aussieht habe ich in meinem Artikel über Cucumber beschrieben.
Woche elf bis dreizehn: Parallelbetrieb. Team Tests auf Staging, Freeze im alten Shop, Kundenmails gehen raus, Abo Mandate werden eingesammelt, zwei vollständige Proben des Umstiegs.
Woche vierzehn: Umstieg, dann zwei Wochen in denen Search Console und Support Postfach wie ein Habicht beobachtet werden.
Vierzehn Wochen, von denen das eigene Team des Gartenshops etwa fünf stark eingebunden ist. Kosten innerhalb der siebzigtausend Aufbauzahl. Und das ist es wert klar auszusprechen: die Migration inklusive Aufbau kostet weniger als ein Jahr dessen was der Gartenshop auf Shopify Plus gezahlt hat, und weniger als achtzehn Monate dessen was er auf Standard Shopify oder auf Magento gezahlt hat.
Die Fehler, in der Reihenfolge in der ich sie sehe
Keine URL Tabelle, oder eine URL Tabelle die die Agentur gemacht hat ohne dass jemand aus dem Shop sie geprüft hat. Ergebnis: ein Traffic Einbruch der aussieht als wäre der neue Shop schlechter, dabei sind es vierhundert 404s.
Kein Kundenplan. Das Passwort Problem wird am Tag des Umstiegs entdeckt. Support Kollaps.
Kein Freeze, oder ein Freeze den das Marketing still ignoriert hat. Produkte im neuen Shop mit den Preisen vom Vormonat.
Die alte Plattform zu früh gekündigt, und dann entdeckt dass der eine Export den niemand gezogen hat der mit den Bewertungen war.
Zahlungstokens als technisches Detail für die letzte Woche behandelt.
Fünfzehn Jahre Bestellungen migriert weil "wir sie vielleicht brauchen", und drei Wochen damit verbracht Produkte zuzuordnen die 2014 eingestellt wurden.
Die Migration zum Redesign werden lassen. Es ist verlockend alles auf einmal zu ändern. Tu es nicht. Migriere den Shop wie er ist, mit derselben Struktur und ungefähr demselben Look, stell um, stabilisiere, dann verbessere. Migration und Redesign zusammen verdoppeln das Risiko und machen es unmöglich zu sagen welches von beiden den Einbruch verursacht hat.
Und der der am meisten kostet: niemand auf Seiten des Inhabers der die Daten versteht. Jede Migration die ich schiefgehen sah, hatte das gemeinsam.
Wie der Gartenshop im dritten Jahr aussieht
Zwei Jahre nach dem Umstieg gibt der Gartenshop etwa zehntausend im Jahr für seine Plattform aus, alles bei einem Entwickler der die Codebasis kennt und dokumentiert. Er hat die Händlerpreisliste, die Lieferzeitfenster und den Bundle Builder, weil das Features waren und keine Apps. Er zahlt niemandem einen Prozentsatz. Seine Hosting Rechnung ist niedriger als eine der Apps die er früher laufen hatte. Wenn der Inhaber eine Änderung will, dauert sie Tage und sie ist getestet. Wenn Rails eine neue Version veröffentlicht, ist das ein Vormittag.
Das ist kein Verkaufsgespräch, es ist einfach das wie Besitzen aussieht sobald das erste Jahr hinter dir liegt. Ob das erste Jahr es wert ist, ist deine Entscheidung, und ich rechne gern deine Zahlen statt der meines Gartenshops durch. Manchmal lautet die Antwort: bleib wo du bist. Wenn nicht, weißt du jetzt zumindest was der Umzug wirklich bedeutet.