Key Takeaways
- Eine Shopify-Theme-Migration zieht einen Shop von einem Theme auf ein anderes um. Ein Vintage-Theme auf Online Store 2.0 umzuziehen bedeutet, es neu aufzubauen, nicht nur Dateien rüberzukopieren.
- Vintage-Themes und Online Store 2.0-Themes verwenden unterschiedliche Template-Formate. Liquid-Templates werden zu JSON-Templates, und benutzerdefinierter Code muss in Sections verschoben werden.
- Metafields und Metaobjects liegen in deinen Shop-Daten, nicht im Theme. Sie überstehen den Umzug, aber die dynamischen Quellen, die sie anzeigen, sind theme-seitig und müssen neu verknüpft werden.
- Mach jeden Schritt in einem duplizierten, unveröffentlichten Theme. Die offiziellen Migrations-Docs von Shopify fangen genau damit an.
- KI übernimmt die repetitive Übersetzungsarbeit – Liquid umschreiben, monolithische Templates in Sections aufteilen, CSS und JS portieren –, während du dich um das Audit, Mapping und Testing kümmerst.
Eine Shopify-Theme-Migration ist der Prozess, bei dem ein Shop innerhalb von Shopify von einem Theme auf ein anderes umzieht. Dieser Guide behandelt die schwierigste Version dieses Jobs: Ein Vintage-Theme (vor 2021) auf ein Online Store 2.0-Theme wie Dawn umzuziehen oder ein veraltetes Basis-Theme durch ein modernes zu ersetzen. Das ist eine reine Theme-zu-Theme-Arbeit innerhalb von Shopify. Es ist keine Plattform-Migration von WooCommerce oder Magento.
Der Grund, warum diese Migration so schwer ist, liegt in der Struktur. Online Store 2.0 hat verändert, wie Themes aufgebaut sind. Shopify hat es am 29. Juni 2021 gelauncht und JSON-Templates sowie App-Blöcke eingeführt, damit Händler auf den meisten Seiten – und nicht nur auf der Startseite – Sections hinzufügen, entfernen und neu anordnen können.1 Ein Vintage-Theme lässt sich nicht einfach direkt updaten. Du baust es auf der neuen Architektur neu auf und überträgst dann deine Anpassungen.
Dieses Playbook führt dich durch den gesamten Ablauf: das alte Theme auditieren, Sections und Settings mappen, KI (Claude) nutzen, um benutzerdefiniertes Liquid, CSS und JS in die neue Theme-Struktur zu übersetzen, Metafields und Templates erhalten, auf einem unveröffentlichten Theme testen und sich die ganze Zeit einen Rollback-Pfad offenhalten.
Warum du uns vertrauen kannst
Jacques hat über 15 Jahre Entwicklererfahrung und mit hunderten von Shopify-Shops gearbeitet. Wir haben Fudge gebaut – einen KI-nativen Shopify Page Builder und Store Editor mit einer 4.8-Bewertung und einem Built for Shopify-Badge. Theme-Migrationen, Section-Mapping und Liquid-Rewrites sind die tägliche Arbeit hinter diesem Produkt.
Was sich zwischen einem Vintage-Theme und Online Store 2.0 ändert
Bevor du Code anfasst, solltest du verstehen, was sich eigentlich unterscheidet. Der Unterschied zwischen den beiden Architekturen ist der Grund dafür, dass eine Migration ein Neuaufbau ist.
| Bereich | Vintage Theme | Online Store 2.0 Theme |
|---|---|---|
| Template-Format | .liquid-Templates | .json-Templates, die Sections und Einstellungen auflisten2 |
| Sections | Nur Startseite | Die meisten Seitentypen unterstützen Sections und Blocks1 |
| App-Integration | In Templates eingefügte Snippets | Über den Editor hinzugefügte App-Blöcke1 |
| Metafield-Anzeige | Manuelles Liquid | Dynamische Quellen (Dynamic Sources), die im Editor verknüpft werden3 |
Ein JSON-Template ist eine Datendatei. Es speichert eine Liste von Sections, die gerendert werden sollen, sowie deren Einstellungen, und Händler verwalten diese Sections im Theme-Editor.2 Jedes JSON-Template kann bis zu 25 Sections rendern, jede Section kann bis zu 50 Blocks aufnehmen, und ein Theme kann bis zu 1.000 JSON-Templates umfassen.2 Diese Limits bestimmen, wie du ein altes monolithisches Template aufteilst.
Die wichtigste strukturelle Regel: Section-Dateien können nicht auf andere Section-Dateien verweisen.4 Vintage Templates, die mehrere {% section %}-Tags aneinanderreihen, müssen vereinfacht werden, da der Code in jeder neuen Section in sich geschlossen (self-contained) sein muss.
Schritt 1: Audit des alten Themes
Du kannst nichts migrieren, was du nicht katalogisiert hast. Beginne mit einer vollständigen Bestandsaufnahme des Themes, das du verlässt.
Arbeite dich durch die Theme-Dateien und notiere:
- Jedes Custom-Template – Product, Collection, Page, Blog und alle alternativen Templates wie
product.bundle.liquid. - Benutzerdefinierte Sections und Snippets – was sie rendern und wo sie verwendet werden.
- Benutzerdefinierte Liquid-Logik – Schleifen (Loops), Bedingungen und Tag-Ausgaben, die ein Standard-Theme nicht hat.
- Custom CSS und JS – Inline-Styles, Theme-Asset-Dateien und jegliche Script-Tags, die zu
theme.liquidhinzugefügt wurden. - App Embeds und eingefügter App-Code – Snippets, die eine App in deinen Templates platziert hat.
- Metafield- und Metaobjekt-Nutzung – wo benutzerdefinierte Daten ausgelesen und angezeigt werden.
- Einstellungen – Werte in der
settings_data.json, die Markenentscheidungen wie Farben, Schriftarten und Layout-Optionen widerspiegeln.
Hier macht sich KI schon früh bezahlt. Weise Claude auf das Verzeichnis des Themes hin und bitte es, jede Datei mit Custom-Logik aufzulisten, {% section %}-Referenzen zu markieren und zusammenzufassen, was jedes Snippet tut. Es liest das gesamte Theme schneller, als ein Mensch durch Dateien scrollen kann. Unser Leitfaden zum Bearbeiten eines Shopify-Themes behandelt, wie du direkt im Theme-Code arbeitest.
Eine Warnung aus den offiziellen Richtlinien von Shopify: Anpassungen, die durch Apps oder manuell an einem Theme vorgenommen wurden, können nicht automatisch migriert werden.5 Das Audit zeigt dir, wie viel manuelle Übersetzungsarbeit noch vor dir liegt.
Schritt 2: Mapping von Sections und Einstellungen auf das neue Theme
Nach der Bestandsaufnahme ordnest du jedes alte Element seinem neuen Platz im neuen Theme zu. Dies ist der Plan, dem der Rest der Migration folgt.
Für jede benutzerdefinierte Section (Custom Section) im alten Theme musst du dich für eines von drei Ergebnissen entscheiden:
- Passt zu einer integrierten Section im neuen Theme (z. B. ein Hero-Banner oder eine Featured Collection). Verwende die Section des neuen Themes wieder und übernimm deine Einstellungen.
- Erfordert eine neue Custom Section, da keine der integrierten Sections passt. Du wirst sie neu bauen müssen.
- Kann wegfallen, da sie nicht mehr gebraucht wird oder durch ein natives Feature ersetzt wurde.
Dokumentiere das Mapping in einer einfachen Tabelle, damit nichts verloren geht:
| Altes Theme-Element | Neues Theme-Ziel | Aktion |
|---|---|---|
custom-hero.liquid | Dawn image-banner Section | Wiederverwenden, Einstellungen übernehmen |
usp-bar.liquid | Neue Custom Section | Neu bauen |
legacy-slider.liquid | Native Slideshow | Ersetzen |
Das Mapping der Einstellungen ist genauso wichtig wie das Section-Mapping. Markenwerte in der alten settings_data.json werden nicht automatisch übertragen, da das neue Theme ein eigenes Schema definiert. Notiere dir die Werte für Farben, Schriftarten und Abstände, die du übernehmen möchtest, und trage sie dann in das neue Theme ein.
Schritt 3: Nutze KI, um Custom Liquid in Sections zu übersetzen
Dies ist das Herzstück der Migration und der ressourcenintensivste Teil. Jedes Custom-Template muss zu einem JSON-Template werden, und sein Code muss in in sich geschlossene Sections wandern.
Der Migrationsprozess von Shopify für ein einzelnes Template sieht so aus:4
- Dupliziere das Theme und lass es unveröffentlicht, während du es bearbeitest.
- Entferne
{% section %}-Tags aus dem Liquid-Template, da Section-Dateien keine anderen Sections referenzieren dürfen. - Verschiebe den verbleibenden Code in bestehende oder in neue Sections.
- Lösche das ursprüngliche
.liquid-Template, da eineproduct.liquidund eineproduct.jsonnicht beide gleichzeitig im Verzeichnis/templatesexistieren dürfen. - Erstelle das JSON-Template und füge die Section unter
sectionsundorderein. - Teste das Template im Theme-Editor.
- Füge weitere Sections hinzu und lege deren Reihenfolge in der JSON-Datei fest.
- Aktiviere App-Blöcke, indem du
{% schema %}-Blöcke mit dem"type": "@app"hinzufügst und mit{% render block %}ausgibst. - Wiederhole dies für jedes Template.
Claude eignet sich hervorragend für die Schritte 2 bis 5. Übergib der KI das alte Template sowie die Section-Konventionen des neuen Themes und bitte sie, das Template in eigenständige Sections aufzuteilen, das {% schema %} für jede zu schreiben und das JSON-Template zu erstellen, das diese miteinander verbindet. Es wird die Feldtypen nicht erraten, wenn du das Shopify KI-Toolkit und Claude Code eingerichtet hast, das Liquid und Schemas anhand der aktuellen Shopify-Regeln validiert.
Ein guter Prompt dafür:
Konvertiere diese Vintage product.liquid in ein Online Store 2.0 JSON-Template.
Teile sie in eigenständige (self-contained) Sections auf – keine Section darf auf eine andere Section verweisen.
Schreibe für jede Section ein {% schema %}, das die hier gezeigten Settings bereitstellt: [Liste].
Gib die Sections und die product.json aus, die sie in der richtigen Reihenfolge (order) rendert.
Überprüfe jeden Output. Die KI nimmt dir das Tippen ab, nicht das Nachdenken. Stelle sicher, dass die Namen der Settings übereinstimmen, dass die Bindungen deiner dynamischen Quellen erhalten bleiben und dass keine {% section %}-Referenz die Aufteilung im Code überlebt hat.
Schritt 4: Portiere Custom CSS und JS
Vintage-Themes tragen oft über Jahre hinweg angesammeltes CSS und Inline-Scripte mit sich. Sie sauber umzuziehen, ist eine Aufgabe für sich.
Der praktische Ansatz:
- Scope Section-CSS auf die Section. Online Store 2.0-Sections können ihre eigenen Styles enthalten, was das CSS beim zugehörigen Markup belässt, anstatt es in einer großen globalen Datei zu verwalten.
- Lösche ungenutzten Code (dead rules). Alte Themes akkumulieren CSS für Sections, die schon lange nicht mehr existieren. Bitte Claude, dein Stylesheet mit den Sections abzugleichen, die du behältst, und CSS-Regeln zu markieren, zu denen kein Markup mehr passt.
- Überprüfe JS-Event-Bindings. Skripte, die an alte CSS-Klassen oder IDs gekoppelt waren, gehen kaputt, wenn sich das Markup ändert. Bestätige, dass die Selektoren weiterhin stimmen.
App-Code, der nach dem Deinstallieren einer App zurückbleibt, ist eine der Hauptursachen für ungenutztes CSS und JS. Unser Leitfaden zum Entfernen von übrig gebliebenem App-Code aus Shopify zeigt, wie du ihn während der Migration finden und säubern kannst.
Performance und Speed sind gute Gründe für eine Migration. Mache dir diesen Vorteil also nicht zunichte, indem du alten Ballast mitschleppst. Erfahre wie man ein Shopify-Theme schneller macht, um zu wissen, was du checken solltest, wenn das neue Theme steht.
Schritt 5: Metafields und Templates erhalten
Dies ist der Schritt, vor dem die meisten Respekt haben, doch er verzeiht mehr Fehler als gedacht – vorausgesetzt, du bist dir darüber im Klaren, wo die Daten liegen.
Metafields und Metaobjekte sind Shop-Daten, keine Theme-Daten. Sie liegen auf Store-Ebene und bleiben vom veröffentlichten Theme völlig unberührt. Das Migrieren eines Themes löscht sie nicht. Was im Theme existiert, ist die Anzeige: Die dynamischen Quellen (Dynamic Sources), die ein Metafield mit einer Section oder einem Block verknüpfen, sind reines Theme-Setting.3
Die Faustregel lautet also:
- Definitionen und Werte von Metafields und Metaobjekten überleben den Theme-Wechsel problemlos.
- Die Verknüpfungen (Bindings) – dynamische Quellen in Sections und Blöcken – werden pro Theme gesetzt und müssen im neuen Theme neu angedockt werden.3
Notiere während deines Audits jeden Ort, an dem das alte Theme ein Metafield ausliest. Baue diese Bindings im neuen Theme über die dynamischen Quellen im Theme-Editor oder direkt als Section-Liquid wieder auf. Unser Leitfaden zum Hinzufügen von Metafields zu Shopify-Produkten behandelt die Anzeigeseite im Detail.
Alternative Templates werden als Konzept übernommen, jedoch nicht als 1:1 Dateien. Wenn das alte Theme eine page.about.liquid besaß, baust du im neuen Theme eine page.about.json auf. Ein Theme kann bis zu 1.000 JSON-Templates enthalten, ihr Limit ist also keine wirkliche Einschränkung.2
Schritt 6: Teste auf einem unveröffentlichten Theme
Bis hierhin fand jeder einzelne Schritt auf einem duplizierten, unveröffentlichten Theme statt. Die Testphase ist der Grund dafür. Die offiziellen Migrationsleitfäden von Shopify beginnen explizit mit dem Duplizieren des Themes und der Arbeit im Hintergrund.4
Teste dies, solange das Theme noch im Draft-Modus ist:
- Vorschaubild für jeden Template-Typ – Home, Product, Collection, Cart, Search, Blog, Page, 404.
- Prüfe, ob jede migrierte Section sauber gerendert wird und ob die Settings im Editor greifen.
- Bestätige, dass dynamische Quellen die korrekten Metafield-Werte für deine echten Produkte ausspielen.
- Teste App-Blöcke auf allen Pages, die sie nutzen.
- Gehe den gesamten Kaufprozess (Funnel) durch – vom Product über Cart bis hin zum Checkout.
- Prüfe Mobile- und Desktop-Ansichten für sämtliche Key-Templates.
- Vergleiche Seite für Seite mit dem Live-Theme, damit nicht lautlos ein Feature verschwindet.
Ein Development Store (Entwicklungs-Shop) ist ein sicherer Ort, um eine Migration zu testen, bevor du die Theme-Library deines Live-Stores überhaupt antastest.
Schritt 7: Halte einen Rollback-Plan bereit
Eine Migration ist nicht abgeschlossen, wenn das neue Theme live geht. Sie ist erst dann beendet, wenn du dir absolut sicher bist, dass ein Zurückgehen (Rollback) nicht mehr nötig ist. Dieser Rollback-Pfad gibt dir exakt dieses Vertrauen.
Dein Rollback-Plan:
- Behalte das alte Theme in der Library. Lösche das Vintage-Theme nicht direkt nach dem Live-Gang. Es dient als dein One-Click-Revert.
- Dupliziere alles vor dem Publish. Veröffentliche eine Kopie des fertigen neuen Themes, nicht den Arbeitsentwurf, damit dieser sauber bleibt, falls du etwas fixen und neu veröffentlichen musst.
- Dokumentiere Theme-Settings. Halte die wichtigsten Settings des neuen Themes (z.B. Farben/Typo) fest, falls du bei Problemen mal Dinge schnell rekonfigurieren musst.
- Publish in einer ruhigen Zeit. Veröffentliche bei wenig Traffic (z. B. nachts). Das minimiert den Schaden (Blast Radius), falls du doch resetten musst.
- Monitoring nach dem Launch. Überwache Analytics und eventuelle Error-Logs in den ersten Stunden aufmerksam. Wenn die Conversion-Rate einbricht oder eine Key-Page fehlerhaft ist, wechsle zurück auf das alte Theme und suche nach dem Fehler abseits deines aktiven Traffics.
Da das alte Theme unberührt und sicher in der Bibliothek liegt, ist das Wiederherstellen des alten Stands so simpel wie ein Klick auf „Veröffentlichen“. Dieses Sicherheitsnetz ist der Hauptgrund, warum alles an einer Kopie durchgeführt wird.
Vollständige Checkliste für die Migration
Führe die Migration in dieser Reihenfolge durch:
- Auditiere das Vintage-Theme – Templates, Sections, Snippets, Custom-Liquid, CSS, JS, App-Code, Metafields, Settings.
- Mappe jedes Custom-Element zu einem neuen Ziel-Element im neuen Theme: Wiederverwenden, neu aufbauen oder löschen.
- Dupliziere das neue Basis-Theme und halte es unveröffentlicht im Hintergrund.
- Konvertiere jedes Liquid-Template in ein JSON-Template und verschiebe den Code in eigene, geschlossene Sections.
- Schreibe jeweils ein
{% schema %}für jede neue Section und setze die JSON-Reihenfolge (order). - Portiere CSS & JS, scope die Styles direkt an die Sections und entferne ungenutzten Code.
- Reconnecte Metafields und Metaobjekte über die dynamischen Quellen im neuen Theme.
- Erstelle alternative Templates als JSON neu.
- Teste wirklich jeden Template-Typ auf dem unveröffentlichten Theme (inkl. Mobile und Checkout).
- Veröffentliche ein Duplikat des fertigen neuen Themes in einem Zeitraum mit wenig Traffic.
- Behalte das alte Theme als dein Rollback-Netzt in der Theme-Bibliothek.
- Monitore die Shop-Analytics und Fehler-Logs nach dem Start.
Wo KI hilft und wo nicht
KI verändert den zeitlichen – und damit monetären – Aufwand einer Migration enorm. Sie nimmt dir vor allem die stumpfe, monotone Code-Übersetzung kompetent ab. Sie übernimmt jedoch nicht den Job an den Punkten, bei denen es auf menschliches und fachliches Verständnis ankommt.
KI ist extrem gut in diesen Dingen:
- Analysieren des gesamten Themes und Auflisten aller Custom-Logik.
- Das Aufspalten monolitischer Liquid-Templates in geschlossene Sections.
- Das Erstellen von passenden
{% schema %}-Konfigurationen und JSON-Templates. - Das Abgleichen von bestehendem CSS mit den Code-Resten, um Leichen im Code (Dead Rules) zu finden.
- Dir haarklein zu erklären, was ein Stück geerbtes Legacy-Liquid eigentlich macht, bevor du anfängst, es umzuziehen.
Das bleibt hingegen bei deiner Fachkraft:
- Entscheidungen beim Section-Mapping.
- Die finale Bestätigung dynamischer Quellen und Metafield-Bindings.
- Test-Läufe mit deinen echten Produkten und im durchgängigen Checkout.
- Das Timing des Publsihens und des ggfs. nötigen Rollbacks.
Mehr darüber, wie KI-native Werkzeuge sich elegant in moderne Shopify-Flows verzahnen, gibt es in unserem Post rund um KI-gestützte Shopify-Entwicklung (AI-first). Dieser Ethos stützt auch den Ansatz unseres Tools Fudge, das nativen Shopify-Code für fertige Sections bastelt und direkt ab in Themes schieben kann.
Zusammenfassung
Eine Shopify-Theme-Migration von einem Vintage-Theme zur starken Online Store 2.0-Architektur ist zwangsläufig ein technischer „Rebuild“, da beide Welten Templates komplett anders auswerten. Deine Arbeit spaltet sich in das Audit, Mapping, Code-Übersetzung (Translation), Neuverknüpfung der Metafields, intensive Testläufe und dein Rollback-Setup.
Die KI ist dein fleißiger Helfer für die unliebsame Fließbandarbeit: Theme lesen, Templates zerlegen, Schemas texten und toten Code aussortieren. Du behältst dein Strategie-Mapping, das Qualitäts-Testing sowie die Freigabe des Publishings unter deiner Fittiche. Handle strikt auf duplizierten, unveröffentlichten Layouts und deponiere dein altes Vintage-Netz beruhigt im Library-Archiv – so stehst du notfalls immer genau einen Revert-Klick entfernt auf sicherem Boden.
FAQ
Nein. Vintage Themes und Online Store 2.0 Themes verwenden unterschiedliche Template-Formate, daher gibt es kein direktes In-Place-Upgrade. Du wechselst zu einem neuen 2.0 Theme wie Dawn oder zu einer 2.0 Version deines aktuellen Themes und migrierst deine Anpassungen dorthin. Shopify weist darauf hin, dass App- und manuelle Anpassungen nicht automatisch migriert werden können.
Nein. Metafields und Metaobjekte sind Shop-Daten, keine Theme-Daten. Sie bleiben also von einem Wechsel des veröffentlichten Themes unberührt. Was im Theme existiert, ist die Verknüpfung der Anzeige – die dynamischen Quellen (Dynamic Sources), die ein Metafield an eine Section binden. Diese Verknüpfungen befinden sich auf der Theme-Seite und müssen im neuen Theme neu verbunden werden.
Ein JSON-Template kann bis zu 25 Sections rendern, und jede Section kann bis zu 50 Blocks enthalten. Ein Theme kann insgesamt bis zu 1.000 JSON-Templates umfassen. Diese Limits bestimmen, wie du ein großes Vintage Template während der Migration in Sections aufteilst.
Weil Section-Dateien nicht auf andere Section-Dateien verweisen können. Ein Vintage Template, das mehrere {% section %}-Tags aneinanderreiht, muss abgeflacht werden, wobei jede neue Section in sich geschlossenen Code enthält. Das ist der Grund, warum die Konvertierung eher ein Neuaufbau als ein reines Kopieren ist.
Führe die gesamte Migration in einem duplizierten, unveröffentlichten Theme durch – genau da setzen auch Shopifys eigene Migrationsschritte an. Sieh dir eine Vorschau jedes Template-Typs an, prüfe die dynamischen Quellen an echten Produkten und durchlaufe den kompletten Checkout-Prozess vor der Veröffentlichung. Ein Development Store (Entwicklungsshop) ist ein sicherer Ort, um das Ganze vorab zu üben.
Behalte das alte Vintage Theme in deiner Theme-Bibliothek, anstatt es zu löschen. Da es unangetastet bleibt, musst du es für ein Rollback einfach nur wieder veröffentlichen. Veröffentliche das neue Theme in einem Zeitraum mit wenig Traffic und behalte die Analytics und Fehlerprotokolle in den ersten Stunden im Auge, damit du schnell zurückwechseln kannst, falls eine wichtige Seite ausfällt.
Footnotes
-
Shopify, “Online Store 2.0,” https://shopify.dev/docs/storefronts/themes/os20/index ↩ ↩2 ↩3
-
Shopify, “JSON templates,” https://shopify.dev/docs/storefronts/themes/architecture/templates/json-templates ↩ ↩2 ↩3 ↩4
-
Shopify, “Dynamic data sources,” https://shopify.dev/docs/storefronts/themes/architecture/settings/dynamic-sources ↩ ↩2 ↩3
-
Shopify, “Migrating templates to Online Store 2.0,” https://shopify.dev/docs/storefronts/themes/os20/migration ↩ ↩2 ↩3
-
Shopify, “Migration assessment,” https://shopify.dev/docs/storefronts/themes/os20/assessment ↩