[{"data":1,"prerenderedAt":2140},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fde\u002Ftech\u002Fheadless-commerce-migration-roadmap-risikomanagement":13},{"i18nKey":4,"paths":5},"tech-006-2026-06",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Ftech\u002Fheadless-commerce-migration-roadmap-risikomanagement","\u002Fen\u002Ftech\u002Fheadless-ecommerce-migration-roadmap","\u002Fes\u002Ftech\u002Fmigracion-headless-hoja-ruta-gestion-riesgos","\u002Ffr\u002Ftech\u002Froadmap-migracion-headless-ecommerce","\u002Fit\u002Ftech\u002Fheadless-e-ticaret-migration-roadmap-risk-yonetimi","\u002Fru\u002Ftech\u002Fheadless-ecommerce-migration-roadmap-risk-management","\u002Ftr\u002Ftech\u002Fheadless-e-ticaret-migration-roadmap-ve-risk-yonetimi",{"_path":6,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":14,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":2134,"_id":2135,"_source":2136,"_file":2137,"_stem":2138,"_extension":2139},"tech",false,"","Headless E-Commerce: Migration Roadmap und Risikomanagement","Headless-Migration mit SEO-Schutz, Phased-Rollout-Strategie und quantifiziertem Cart-Abandon-Risiko. ATC-Analyse inklusive.","2026-06-09",[21,22,23,24,25],"headless-commerce","migration-strategy","seo-preservation","risk-management","phased-rollout",9,"Roibase",{"type":29,"children":30,"toc":2127},"root",[31,39,46,51,56,81,87,92,97,102,861,867,888,893,898,1028,1034,1039,1066,1071,2095,2101,2106,2111,2116,2121],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","Headless-E-Commerce-Migration rangiert Ende 2025 als riskantestes Technologieprojekt mit 38 % Wachstumsrate. Durchschnittliche Ausfallzeit: 14 Stunden. SEO-Traffic-Verlust: durchschnittlich 23 %. Warenkorb-Abbruch-Spike: 17 %. Diese Zahlen entstehen beim „Big Bang\"-Ansatz. Mit Phased Rollout, SEO-Preservation-Layer und Echtzeit-ATC-(Add-to-Cart)-Abandon-Analyse lassen sich diese Risiken um 80 % reduzieren. Dieser Artikel detailliert die Migration Roadmap mit Risk-Management-Schicht.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"migration-scope-die-wahre-last-beim-monolith-zu-headless-übergang",[44],{"type":37,"value":45},"Migration Scope: Die wahre Last beim Monolith-zu-Headless-Übergang",{"type":32,"tag":33,"props":47,"children":48},{},[49],{"type":37,"value":50},"Die technische Komplexität von Headless-Migration wird von Junior-Entwicklern oft mit „wir ändern nur das Frontend\" unterschätzt. Tatsächlich ändert sich nicht nur die Render-Schicht, sondern die gesamte Data-Flow-Architektur. Der Wechsel von Shopify Liquid zu Next.js App Router ist kein Template-Austausch, sondern Orchestrierung von 47 verschiedenen API-Endpoints, Neubau des Client-Side-State-Management, Neu-Konzeption der CDN-Caching-Strategie.",{"type":32,"tag":33,"props":52,"children":53},{},[54],{"type":37,"value":55},"Für einen typischen mittelständischen E-Commerce-Shop (300+ SKUs, 5.000+ tägliche Sessions) verteilt sich der Migration Scope so: 35 % Frontend-Refactoring (Component Tree, Routing, Lazy Loading), 30 % Backend-Integration (Cart API, Checkout Flow, Payment Gateway), 20 % Datenmigration (Produktkatalog, Kundendaten, Bestellhistorie), 15 % DevOps (CI\u002FCD-Pipeline, Edge-Deployment, Monitoring). Diese Raten decken nur die Code-Writing-Phase ab. SEO-Preservation-Layer, A\u002FB-Test-Infrastruktur, Rollback-Strategie fallen außerhalb dieses Scope und erhöhen den Gesamtaufwand um 40 %.",{"type":32,"tag":33,"props":57,"children":58},{},[59,61,70,72,79],{"type":37,"value":60},"Die größte Falle beim Wechsel von monolithischer Shopify Plus zu ",{"type":32,"tag":62,"props":63,"children":67},"a",{"href":64,"rel":65},"https:\u002F\u002Fwww.roibase.com.tr\u002Fde\u002Fheadless",[66],"nofollow",[68],{"type":37,"value":69},"Headless Commerce",{"type":37,"value":71},"-Architektur ist, Probleme, die das alte System „implizit\" löst, nun „explizit\" handhaben zu müssen. Beispiel: Die in Liquid automatisch generierte ",{"type":32,"tag":73,"props":74,"children":76},"code",{"className":75},[],[77],{"type":37,"value":78},"cart.js",{"type":37,"value":80}," musst du in Headless manuell orchestrieren — Session Management, Inventory Locking, Preisberechnung, Discount-Regeln. Fehlt diese Schicht, springt die Warenkorb-Abbruchquote auf 22 % (Branchendurchschnitt: 18 %).",{"type":32,"tag":40,"props":82,"children":84},{"id":83},"phased-rollout-strategie-shadow-mode-und-canary-deployment",[85],{"type":37,"value":86},"Phased Rollout-Strategie: Shadow Mode und Canary Deployment",{"type":32,"tag":33,"props":88,"children":89},{},[90],{"type":37,"value":91},"„Big Bang\"-Deployment — alle Traffic auf einmal auf Headless umleiten — hat 34 % Fehlerquote. Phased Rollout reduziert das auf 6 %. Phase eins: Shadow Mode. Du startest das neue Headless-Frontend in der Production, es erhält aber keinen Traffic. Backend-API-Calls erfolgen auf Real-Production-Daten, die Response wird dem User nicht zurückgegeben. Stattdessen lieferst du die Response des monolithischen Systems, loggst die Headless-Response aber in Datadog. In dieser Phase lernst du die Performance-Charakteristiken des Headless-Systems: TTFB, LCP, API-Latenz-Verteilung, Error Rate.",{"type":32,"tag":33,"props":93,"children":94},{},[95],{"type":37,"value":96},"Phase zwei: Canary Deployment. Du leitest 2 % des Traffic auf Headless um. Dieses Segment ist nicht zufällig, sondern strategisch ausgewählt: Neue User (kein Cookie), Mobile Safari (Core Web Vitals am schlechtesten), Non-Checkout-Pages (kein Cart-Update). In dieser Phase sind kritische Metriken: Session Duration (nicht mehr als 15 % unter Baseline), Bounce Rate (besonders auf PLP), ATC-Conversion Rate. Bleiben diese Metriken stabil, erhöhst du Traffic stufenweise: 2 % → 10 % → 25 % → 50 % → 100 %. Jede Stufe sollte mindestens 72 Stunden dauern — um Browser-Cache-Invalidation und Returning-Visitor-Pattern zu sehen.",{"type":32,"tag":33,"props":98,"children":99},{},[100],{"type":37,"value":101},"Phase drei: Feature Rollout. Die Checkout-Flow migrierst du zuletzt. Während PLP, PDP, Cart Page in Production auf Headless laufen, bleibt der Checkout noch im monolithischen System. Dieser hybride Ansatz eliminiert das „Checkout-Abandonment-Spike\"-Risiko. Der User klickt „Proceed to Checkout\", das Backend transferiert die Session-Daten ins monolithische System, nach Checkout-Abschluss geht der User zurück zu Headless. In dieser Phase ist die Tracking-Schicht kritisch: Du loggst den Checkout-Start in BigQuery und beobachtest die Completion Rate in Echtzeit.",{"type":32,"tag":103,"props":104,"children":108},"pre",{"className":105,"code":106,"language":107,"meta":16,"style":16},"language-javascript shiki shiki-themes github-dark","\u002F\u002F Canary-Routing-Logik — Cloudflare Worker Beispiel\nexport default {\n  async fetch(request, env) {\n    const url = new URL(request.url);\n    const canaryPercent = 2; \u002F\u002F 2 % zu Headless\n    const userHash = await hashString(request.headers.get('CF-Connecting-IP'));\n    const isCanary = (userHash % 100) \u003C canaryPercent;\n    \n    \u002F\u002F Checkout-Paths immer zum Monolith\n    if (url.pathname.startsWith('\u002Fcheckout')) {\n      return fetch('https:\u002F\u002Fmonolith.shop.com' + url.pathname);\n    }\n    \n    \u002F\u002F Canary-Segment zu Headless, Rest zu Monolith\n    const origin = isCanary \n      ? 'https:\u002F\u002Fheadless.shop.com' \n      : 'https:\u002F\u002Fmonolith.shop.com';\n    \n    const response = await fetch(origin + url.pathname);\n    \n    \u002F\u002F Response-Header mit Deployment-Flag (Debugging)\n    const newResponse = new Response(response.body, response);\n    newResponse.headers.set('X-Deployment', isCanary ? 'headless' : 'monolith');\n    \n    return newResponse;\n  }\n};\n\nasync function hashString(str) {\n  const buffer = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(str));\n  return new Uint8Array(buffer)[0];\n}\n","javascript",[109],{"type":32,"tag":73,"props":110,"children":111},{"__ignoreMap":16},[112,124,145,186,221,253,305,352,361,369,402,434,443,451,460,482,501,520,528,567,575,584,615,668,676,690,699,708,718,749,819,852],{"type":32,"tag":113,"props":114,"children":117},"span",{"class":115,"line":116},"line",1,[118],{"type":32,"tag":113,"props":119,"children":121},{"style":120},"--shiki-default:#6A737D",[122],{"type":37,"value":123},"\u002F\u002F Canary-Routing-Logik — Cloudflare Worker Beispiel\n",{"type":32,"tag":113,"props":125,"children":127},{"class":115,"line":126},2,[128,134,139],{"type":32,"tag":113,"props":129,"children":131},{"style":130},"--shiki-default:#F97583",[132],{"type":37,"value":133},"export",{"type":32,"tag":113,"props":135,"children":136},{"style":130},[137],{"type":37,"value":138}," default",{"type":32,"tag":113,"props":140,"children":142},{"style":141},"--shiki-default:#E1E4E8",[143],{"type":37,"value":144}," {\n",{"type":32,"tag":113,"props":146,"children":148},{"class":115,"line":147},3,[149,154,160,165,171,176,181],{"type":32,"tag":113,"props":150,"children":151},{"style":130},[152],{"type":37,"value":153},"  async",{"type":32,"tag":113,"props":155,"children":157},{"style":156},"--shiki-default:#B392F0",[158],{"type":37,"value":159}," fetch",{"type":32,"tag":113,"props":161,"children":162},{"style":141},[163],{"type":37,"value":164},"(",{"type":32,"tag":113,"props":166,"children":168},{"style":167},"--shiki-default:#FFAB70",[169],{"type":37,"value":170},"request",{"type":32,"tag":113,"props":172,"children":173},{"style":141},[174],{"type":37,"value":175},", ",{"type":32,"tag":113,"props":177,"children":178},{"style":167},[179],{"type":37,"value":180},"env",{"type":32,"tag":113,"props":182,"children":183},{"style":141},[184],{"type":37,"value":185},") {\n",{"type":32,"tag":113,"props":187,"children":189},{"class":115,"line":188},4,[190,195,201,206,211,216],{"type":32,"tag":113,"props":191,"children":192},{"style":130},[193],{"type":37,"value":194},"    const",{"type":32,"tag":113,"props":196,"children":198},{"style":197},"--shiki-default:#79B8FF",[199],{"type":37,"value":200}," url",{"type":32,"tag":113,"props":202,"children":203},{"style":130},[204],{"type":37,"value":205}," =",{"type":32,"tag":113,"props":207,"children":208},{"style":130},[209],{"type":37,"value":210}," new",{"type":32,"tag":113,"props":212,"children":213},{"style":156},[214],{"type":37,"value":215}," URL",{"type":32,"tag":113,"props":217,"children":218},{"style":141},[219],{"type":37,"value":220},"(request.url);\n",{"type":32,"tag":113,"props":222,"children":224},{"class":115,"line":223},5,[225,229,234,238,243,248],{"type":32,"tag":113,"props":226,"children":227},{"style":130},[228],{"type":37,"value":194},{"type":32,"tag":113,"props":230,"children":231},{"style":197},[232],{"type":37,"value":233}," canaryPercent",{"type":32,"tag":113,"props":235,"children":236},{"style":130},[237],{"type":37,"value":205},{"type":32,"tag":113,"props":239,"children":240},{"style":197},[241],{"type":37,"value":242}," 2",{"type":32,"tag":113,"props":244,"children":245},{"style":141},[246],{"type":37,"value":247},"; ",{"type":32,"tag":113,"props":249,"children":250},{"style":120},[251],{"type":37,"value":252},"\u002F\u002F 2 % zu Headless\n",{"type":32,"tag":113,"props":254,"children":256},{"class":115,"line":255},6,[257,261,266,270,275,280,285,290,294,300],{"type":32,"tag":113,"props":258,"children":259},{"style":130},[260],{"type":37,"value":194},{"type":32,"tag":113,"props":262,"children":263},{"style":197},[264],{"type":37,"value":265}," userHash",{"type":32,"tag":113,"props":267,"children":268},{"style":130},[269],{"type":37,"value":205},{"type":32,"tag":113,"props":271,"children":272},{"style":130},[273],{"type":37,"value":274}," await",{"type":32,"tag":113,"props":276,"children":277},{"style":156},[278],{"type":37,"value":279}," hashString",{"type":32,"tag":113,"props":281,"children":282},{"style":141},[283],{"type":37,"value":284},"(request.headers.",{"type":32,"tag":113,"props":286,"children":287},{"style":156},[288],{"type":37,"value":289},"get",{"type":32,"tag":113,"props":291,"children":292},{"style":141},[293],{"type":37,"value":164},{"type":32,"tag":113,"props":295,"children":297},{"style":296},"--shiki-default:#9ECBFF",[298],{"type":37,"value":299},"'CF-Connecting-IP'",{"type":32,"tag":113,"props":301,"children":302},{"style":141},[303],{"type":37,"value":304},"));\n",{"type":32,"tag":113,"props":306,"children":308},{"class":115,"line":307},7,[309,313,318,322,327,332,337,342,347],{"type":32,"tag":113,"props":310,"children":311},{"style":130},[312],{"type":37,"value":194},{"type":32,"tag":113,"props":314,"children":315},{"style":197},[316],{"type":37,"value":317}," isCanary",{"type":32,"tag":113,"props":319,"children":320},{"style":130},[321],{"type":37,"value":205},{"type":32,"tag":113,"props":323,"children":324},{"style":141},[325],{"type":37,"value":326}," (userHash ",{"type":32,"tag":113,"props":328,"children":329},{"style":130},[330],{"type":37,"value":331},"%",{"type":32,"tag":113,"props":333,"children":334},{"style":197},[335],{"type":37,"value":336}," 100",{"type":32,"tag":113,"props":338,"children":339},{"style":141},[340],{"type":37,"value":341},") ",{"type":32,"tag":113,"props":343,"children":344},{"style":130},[345],{"type":37,"value":346},"\u003C",{"type":32,"tag":113,"props":348,"children":349},{"style":141},[350],{"type":37,"value":351}," canaryPercent;\n",{"type":32,"tag":113,"props":353,"children":355},{"class":115,"line":354},8,[356],{"type":32,"tag":113,"props":357,"children":358},{"style":141},[359],{"type":37,"value":360},"    \n",{"type":32,"tag":113,"props":362,"children":363},{"class":115,"line":26},[364],{"type":32,"tag":113,"props":365,"children":366},{"style":120},[367],{"type":37,"value":368},"    \u002F\u002F Checkout-Paths immer zum Monolith\n",{"type":32,"tag":113,"props":370,"children":372},{"class":115,"line":371},10,[373,378,383,388,392,397],{"type":32,"tag":113,"props":374,"children":375},{"style":130},[376],{"type":37,"value":377},"    if",{"type":32,"tag":113,"props":379,"children":380},{"style":141},[381],{"type":37,"value":382}," (url.pathname.",{"type":32,"tag":113,"props":384,"children":385},{"style":156},[386],{"type":37,"value":387},"startsWith",{"type":32,"tag":113,"props":389,"children":390},{"style":141},[391],{"type":37,"value":164},{"type":32,"tag":113,"props":393,"children":394},{"style":296},[395],{"type":37,"value":396},"'\u002Fcheckout'",{"type":32,"tag":113,"props":398,"children":399},{"style":141},[400],{"type":37,"value":401},")) {\n",{"type":32,"tag":113,"props":403,"children":405},{"class":115,"line":404},11,[406,411,415,419,424,429],{"type":32,"tag":113,"props":407,"children":408},{"style":130},[409],{"type":37,"value":410},"      return",{"type":32,"tag":113,"props":412,"children":413},{"style":156},[414],{"type":37,"value":159},{"type":32,"tag":113,"props":416,"children":417},{"style":141},[418],{"type":37,"value":164},{"type":32,"tag":113,"props":420,"children":421},{"style":296},[422],{"type":37,"value":423},"'https:\u002F\u002Fmonolith.shop.com'",{"type":32,"tag":113,"props":425,"children":426},{"style":130},[427],{"type":37,"value":428}," +",{"type":32,"tag":113,"props":430,"children":431},{"style":141},[432],{"type":37,"value":433}," url.pathname);\n",{"type":32,"tag":113,"props":435,"children":437},{"class":115,"line":436},12,[438],{"type":32,"tag":113,"props":439,"children":440},{"style":141},[441],{"type":37,"value":442},"    }\n",{"type":32,"tag":113,"props":444,"children":446},{"class":115,"line":445},13,[447],{"type":32,"tag":113,"props":448,"children":449},{"style":141},[450],{"type":37,"value":360},{"type":32,"tag":113,"props":452,"children":454},{"class":115,"line":453},14,[455],{"type":32,"tag":113,"props":456,"children":457},{"style":120},[458],{"type":37,"value":459},"    \u002F\u002F Canary-Segment zu Headless, Rest zu Monolith\n",{"type":32,"tag":113,"props":461,"children":463},{"class":115,"line":462},15,[464,468,473,477],{"type":32,"tag":113,"props":465,"children":466},{"style":130},[467],{"type":37,"value":194},{"type":32,"tag":113,"props":469,"children":470},{"style":197},[471],{"type":37,"value":472}," origin",{"type":32,"tag":113,"props":474,"children":475},{"style":130},[476],{"type":37,"value":205},{"type":32,"tag":113,"props":478,"children":479},{"style":141},[480],{"type":37,"value":481}," isCanary \n",{"type":32,"tag":113,"props":483,"children":485},{"class":115,"line":484},16,[486,491,496],{"type":32,"tag":113,"props":487,"children":488},{"style":130},[489],{"type":37,"value":490},"      ?",{"type":32,"tag":113,"props":492,"children":493},{"style":296},[494],{"type":37,"value":495}," 'https:\u002F\u002Fheadless.shop.com'",{"type":32,"tag":113,"props":497,"children":498},{"style":141},[499],{"type":37,"value":500}," \n",{"type":32,"tag":113,"props":502,"children":504},{"class":115,"line":503},17,[505,510,515],{"type":32,"tag":113,"props":506,"children":507},{"style":130},[508],{"type":37,"value":509},"      :",{"type":32,"tag":113,"props":511,"children":512},{"style":296},[513],{"type":37,"value":514}," 'https:\u002F\u002Fmonolith.shop.com'",{"type":32,"tag":113,"props":516,"children":517},{"style":141},[518],{"type":37,"value":519},";\n",{"type":32,"tag":113,"props":521,"children":523},{"class":115,"line":522},18,[524],{"type":32,"tag":113,"props":525,"children":526},{"style":141},[527],{"type":37,"value":360},{"type":32,"tag":113,"props":529,"children":531},{"class":115,"line":530},19,[532,536,541,545,549,553,558,563],{"type":32,"tag":113,"props":533,"children":534},{"style":130},[535],{"type":37,"value":194},{"type":32,"tag":113,"props":537,"children":538},{"style":197},[539],{"type":37,"value":540}," response",{"type":32,"tag":113,"props":542,"children":543},{"style":130},[544],{"type":37,"value":205},{"type":32,"tag":113,"props":546,"children":547},{"style":130},[548],{"type":37,"value":274},{"type":32,"tag":113,"props":550,"children":551},{"style":156},[552],{"type":37,"value":159},{"type":32,"tag":113,"props":554,"children":555},{"style":141},[556],{"type":37,"value":557},"(origin ",{"type":32,"tag":113,"props":559,"children":560},{"style":130},[561],{"type":37,"value":562},"+",{"type":32,"tag":113,"props":564,"children":565},{"style":141},[566],{"type":37,"value":433},{"type":32,"tag":113,"props":568,"children":570},{"class":115,"line":569},20,[571],{"type":32,"tag":113,"props":572,"children":573},{"style":141},[574],{"type":37,"value":360},{"type":32,"tag":113,"props":576,"children":578},{"class":115,"line":577},21,[579],{"type":32,"tag":113,"props":580,"children":581},{"style":120},[582],{"type":37,"value":583},"    \u002F\u002F Response-Header mit Deployment-Flag (Debugging)\n",{"type":32,"tag":113,"props":585,"children":587},{"class":115,"line":586},22,[588,592,597,601,605,610],{"type":32,"tag":113,"props":589,"children":590},{"style":130},[591],{"type":37,"value":194},{"type":32,"tag":113,"props":593,"children":594},{"style":197},[595],{"type":37,"value":596}," newResponse",{"type":32,"tag":113,"props":598,"children":599},{"style":130},[600],{"type":37,"value":205},{"type":32,"tag":113,"props":602,"children":603},{"style":130},[604],{"type":37,"value":210},{"type":32,"tag":113,"props":606,"children":607},{"style":156},[608],{"type":37,"value":609}," Response",{"type":32,"tag":113,"props":611,"children":612},{"style":141},[613],{"type":37,"value":614},"(response.body, response);\n",{"type":32,"tag":113,"props":616,"children":618},{"class":115,"line":617},23,[619,624,629,633,638,643,648,653,658,663],{"type":32,"tag":113,"props":620,"children":621},{"style":141},[622],{"type":37,"value":623},"    newResponse.headers.",{"type":32,"tag":113,"props":625,"children":626},{"style":156},[627],{"type":37,"value":628},"set",{"type":32,"tag":113,"props":630,"children":631},{"style":141},[632],{"type":37,"value":164},{"type":32,"tag":113,"props":634,"children":635},{"style":296},[636],{"type":37,"value":637},"'X-Deployment'",{"type":32,"tag":113,"props":639,"children":640},{"style":141},[641],{"type":37,"value":642},", isCanary ",{"type":32,"tag":113,"props":644,"children":645},{"style":130},[646],{"type":37,"value":647},"?",{"type":32,"tag":113,"props":649,"children":650},{"style":296},[651],{"type":37,"value":652}," 'headless'",{"type":32,"tag":113,"props":654,"children":655},{"style":130},[656],{"type":37,"value":657}," :",{"type":32,"tag":113,"props":659,"children":660},{"style":296},[661],{"type":37,"value":662}," 'monolith'",{"type":32,"tag":113,"props":664,"children":665},{"style":141},[666],{"type":37,"value":667},");\n",{"type":32,"tag":113,"props":669,"children":671},{"class":115,"line":670},24,[672],{"type":32,"tag":113,"props":673,"children":674},{"style":141},[675],{"type":37,"value":360},{"type":32,"tag":113,"props":677,"children":679},{"class":115,"line":678},25,[680,685],{"type":32,"tag":113,"props":681,"children":682},{"style":130},[683],{"type":37,"value":684},"    return",{"type":32,"tag":113,"props":686,"children":687},{"style":141},[688],{"type":37,"value":689}," newResponse;\n",{"type":32,"tag":113,"props":691,"children":693},{"class":115,"line":692},26,[694],{"type":32,"tag":113,"props":695,"children":696},{"style":141},[697],{"type":37,"value":698},"  }\n",{"type":32,"tag":113,"props":700,"children":702},{"class":115,"line":701},27,[703],{"type":32,"tag":113,"props":704,"children":705},{"style":141},[706],{"type":37,"value":707},"};\n",{"type":32,"tag":113,"props":709,"children":711},{"class":115,"line":710},28,[712],{"type":32,"tag":113,"props":713,"children":715},{"emptyLinePlaceholder":714},true,[716],{"type":37,"value":717},"\n",{"type":32,"tag":113,"props":719,"children":721},{"class":115,"line":720},29,[722,727,732,736,740,745],{"type":32,"tag":113,"props":723,"children":724},{"style":130},[725],{"type":37,"value":726},"async",{"type":32,"tag":113,"props":728,"children":729},{"style":130},[730],{"type":37,"value":731}," function",{"type":32,"tag":113,"props":733,"children":734},{"style":156},[735],{"type":37,"value":279},{"type":32,"tag":113,"props":737,"children":738},{"style":141},[739],{"type":37,"value":164},{"type":32,"tag":113,"props":741,"children":742},{"style":167},[743],{"type":37,"value":744},"str",{"type":32,"tag":113,"props":746,"children":747},{"style":141},[748],{"type":37,"value":185},{"type":32,"tag":113,"props":750,"children":752},{"class":115,"line":751},30,[753,758,763,767,771,776,781,785,790,794,799,804,809,814],{"type":32,"tag":113,"props":754,"children":755},{"style":130},[756],{"type":37,"value":757},"  const",{"type":32,"tag":113,"props":759,"children":760},{"style":197},[761],{"type":37,"value":762}," buffer",{"type":32,"tag":113,"props":764,"children":765},{"style":130},[766],{"type":37,"value":205},{"type":32,"tag":113,"props":768,"children":769},{"style":130},[770],{"type":37,"value":274},{"type":32,"tag":113,"props":772,"children":773},{"style":141},[774],{"type":37,"value":775}," crypto.subtle.",{"type":32,"tag":113,"props":777,"children":778},{"style":156},[779],{"type":37,"value":780},"digest",{"type":32,"tag":113,"props":782,"children":783},{"style":141},[784],{"type":37,"value":164},{"type":32,"tag":113,"props":786,"children":787},{"style":296},[788],{"type":37,"value":789},"'SHA-256'",{"type":32,"tag":113,"props":791,"children":792},{"style":141},[793],{"type":37,"value":175},{"type":32,"tag":113,"props":795,"children":796},{"style":130},[797],{"type":37,"value":798},"new",{"type":32,"tag":113,"props":800,"children":801},{"style":156},[802],{"type":37,"value":803}," TextEncoder",{"type":32,"tag":113,"props":805,"children":806},{"style":141},[807],{"type":37,"value":808},"().",{"type":32,"tag":113,"props":810,"children":811},{"style":156},[812],{"type":37,"value":813},"encode",{"type":32,"tag":113,"props":815,"children":816},{"style":141},[817],{"type":37,"value":818},"(str));\n",{"type":32,"tag":113,"props":820,"children":822},{"class":115,"line":821},31,[823,828,832,837,842,847],{"type":32,"tag":113,"props":824,"children":825},{"style":130},[826],{"type":37,"value":827},"  return",{"type":32,"tag":113,"props":829,"children":830},{"style":130},[831],{"type":37,"value":210},{"type":32,"tag":113,"props":833,"children":834},{"style":156},[835],{"type":37,"value":836}," Uint8Array",{"type":32,"tag":113,"props":838,"children":839},{"style":141},[840],{"type":37,"value":841},"(buffer)[",{"type":32,"tag":113,"props":843,"children":844},{"style":197},[845],{"type":37,"value":846},"0",{"type":32,"tag":113,"props":848,"children":849},{"style":141},[850],{"type":37,"value":851},"];\n",{"type":32,"tag":113,"props":853,"children":855},{"class":115,"line":854},32,[856],{"type":32,"tag":113,"props":857,"children":858},{"style":141},[859],{"type":37,"value":860},"}\n",{"type":32,"tag":40,"props":862,"children":864},{"id":863},"seo-schutz-url-mapping-und-crawl-budget-management",[865],{"type":37,"value":866},"SEO-Schutz: URL-Mapping und Crawl-Budget-Management",{"type":32,"tag":33,"props":868,"children":869},{},[870,872,878,880,886],{"type":37,"value":871},"Das größte SEO-Risiko bei Headless-Migration ist die URL-Struktur-Änderung. Wenn du Shopify's ",{"type":32,"tag":73,"props":873,"children":875},{"className":874},[],[876],{"type":37,"value":877},"\u002Fcollections\u002Fsummer-sale",{"type":37,"value":879}," in Next.js App Router zu ",{"type":32,"tag":73,"props":881,"children":883},{"className":882},[],[884],{"type":37,"value":885},"\u002Fkategori\u002Fyaz-indirimi",{"type":37,"value":887}," änderst, verlieren bestehende Backlinks ihren Wert. Google crawlt 4–6 Wochen lang weiterhin die alten URLs, sieht 404 und reduziert die Page Authority. Organischer Traffic fällt in diesem Zeitraum um 18–27 %.",{"type":32,"tag":33,"props":889,"children":890},{},[891],{"type":37,"value":892},"Die SEO-Preservation-Roadmap besteht aus drei Schichten. Erste Schicht: URL Inventory. Du extrahierst alle indexierten URLs aus Production (Google Search Console API + Screaming Frog). Diese Liste umfasst nicht nur Produkt- und Kategorie-URLs, sondern auch Blog-Posts, Landing Pages, Dynamic-Filter-URLs. Zweite Schicht: Redirect Mapping. Du ordnest jede alte URL einer neuen URL zu — manuell. Das geht nicht automatisiert: Einige Produkte sind in Headless konsolidiert, manche Kategorien neu organisiert. Dritte Schicht: 301-Redirect-Implementation. Du implementierst Redirect-Regeln im Edge Layer (Cloudflare Workers, Vercel Edge Middleware), damit sie vor dem Origin-Server aufgelöst werden.",{"type":32,"tag":33,"props":894,"children":895},{},[896],{"type":37,"value":897},"Crawl-Budget-Management ist kritisch. Bei Headless mit Server-Side Rendering (SSR) + Incremental Static Regeneration (ISR) triggert Googlebot beim ersten Crawl SSR für jede Page. Das bindet große Last auf den Origin Server. Lösung: ISR-Cache pre-warmen. Du crawlst alle URLs aus der Sitemap täglich 2x mit einem Cron-Job und schreibst ins Cache. So sieht Googlebot gecachtes HTML, TTFB bleibt unter 40ms (Googles „fast site\" Schwelle: 100ms).",{"type":32,"tag":899,"props":900,"children":901},"table",{},[902,931],{"type":32,"tag":903,"props":904,"children":905},"thead",{},[906],{"type":32,"tag":907,"props":908,"children":909},"tr",{},[910,916,921,926],{"type":32,"tag":911,"props":912,"children":913},"th",{},[914],{"type":37,"value":915},"SEO-Metrik",{"type":32,"tag":911,"props":917,"children":918},{},[919],{"type":37,"value":920},"Monolith Baseline",{"type":32,"tag":911,"props":922,"children":923},{},[924],{"type":37,"value":925},"Migration (Risiko)",{"type":32,"tag":911,"props":927,"children":928},{},[929],{"type":37,"value":930},"Phased + Preservation (Ziel)",{"type":32,"tag":932,"props":933,"children":934},"tbody",{},[935,959,982,1005],{"type":32,"tag":907,"props":936,"children":937},{},[938,944,949,954],{"type":32,"tag":939,"props":940,"children":941},"td",{},[942],{"type":37,"value":943},"Indexed Pages",{"type":32,"tag":939,"props":945,"children":946},{},[947],{"type":37,"value":948},"2.847",{"type":32,"tag":939,"props":950,"children":951},{},[952],{"type":37,"value":953},"-423 (15 Tage)",{"type":32,"tag":939,"props":955,"children":956},{},[957],{"type":37,"value":958},"-12 (temporär, 7 Tage Rückkehr)",{"type":32,"tag":907,"props":960,"children":961},{},[962,967,972,977],{"type":32,"tag":939,"props":963,"children":964},{},[965],{"type":37,"value":966},"Organic Traffic",{"type":32,"tag":939,"props":968,"children":969},{},[970],{"type":37,"value":971},"100 %",{"type":32,"tag":939,"props":973,"children":974},{},[975],{"type":37,"value":976},"77 % (erste 2 Wochen)",{"type":32,"tag":939,"props":978,"children":979},{},[980],{"type":37,"value":981},"96 % (Woche 1), 102 % (Woche 4)",{"type":32,"tag":907,"props":983,"children":984},{},[985,990,995,1000],{"type":32,"tag":939,"props":986,"children":987},{},[988],{"type":37,"value":989},"Core Web Vitals Pass Rate",{"type":32,"tag":939,"props":991,"children":992},{},[993],{"type":37,"value":994},"68 %",{"type":32,"tag":939,"props":996,"children":997},{},[998],{"type":37,"value":999},"45 % (SSR Overhead)",{"type":32,"tag":939,"props":1001,"children":1002},{},[1003],{"type":37,"value":1004},"89 % (Edge Optimization)",{"type":32,"tag":907,"props":1006,"children":1007},{},[1008,1013,1018,1023],{"type":32,"tag":939,"props":1009,"children":1010},{},[1011],{"type":37,"value":1012},"Crawl Error Rate",{"type":32,"tag":939,"props":1014,"children":1015},{},[1016],{"type":37,"value":1017},"0,8 %",{"type":32,"tag":939,"props":1019,"children":1020},{},[1021],{"type":37,"value":1022},"7,2 % (404 Spike)",{"type":32,"tag":939,"props":1024,"children":1025},{},[1026],{"type":37,"value":1027},"1,1 % (kontrolliert)",{"type":32,"tag":40,"props":1029,"children":1031},{"id":1030},"atc-abandon-analyse-cart-abbruch-risiko-in-echtzeit",[1032],{"type":37,"value":1033},"ATC-Abandon-Analyse: Cart-Abbruch-Risiko in Echtzeit",{"type":32,"tag":33,"props":1035,"children":1036},{},[1037],{"type":37,"value":1038},"Das kritischste E-Commerce-Risiko bei Headless-Migration ist eine Unterbrechung im Add-to-Cart-(ATC)-Funnel. Im monolithischen System gibt der „Add to Cart\"-Button sofort Response zurück (Ø 120ms). In Headless sind 3 unterschiedliche API-Calls nötig: Inventory-Check, Cart-Update, Price Calculation. Ein Endpoint mit 300ms Verzögerung in dieser Chain? Gesamtlatenz 900ms. Der User klickt, wartet 1 Sekunde, fragt sich „ging was schief?\", klickt nochmal — Duplicate Item im Cart. Dieses UX-Problem verursacht 11 % ATC-Abandon-Rate-Anstieg.",{"type":32,"tag":33,"props":1040,"children":1041},{},[1042,1044,1050,1051,1057,1058,1064],{"type":37,"value":1043},"ATC-Abandon-Analyse-Roadmap basiert auf Echtzeit-Event-Tracking. Du sendest jeden ATC-Action als Event an Segment\u002FMixpanel: ",{"type":32,"tag":73,"props":1045,"children":1047},{"className":1046},[],[1048],{"type":37,"value":1049},"add_to_cart_initiated",{"type":37,"value":175},{"type":32,"tag":73,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":37,"value":1056},"add_to_cart_api_success",{"type":37,"value":175},{"type":32,"tag":73,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":37,"value":1063},"add_to_cart_ui_updated",{"type":37,"value":1065},". Du vergleichst die Timestamps und berechnest die Latenz-Verteilung. Ziel: p95-Latenz unter 400ms. Siehst du bei bestimmten Product-IDs einen p95-Spike (z. B. 1.200ms), liegt ein Bottleneck in deren Inventory-API vor.",{"type":32,"tag":33,"props":1067,"children":1068},{},[1069],{"type":37,"value":1070},"Während Migration optimierst du die A\u002FB-Test-Infrastruktur speziell für ATC-Funnel. Control Group läuft auf Monolith, Test Group auf Headless. Du misst ATC-Conversion Rate für beide auf denselben Product-IDs. Drop über 3 % in Headless? Rollback triggern. Diese Schwelle dynamisch halten ist kritisch — bei Low-Margin-Produkten (z. B. Elektronik) ist 1 % Conversion-Drop unakzeptabel, bei High-Margin (Mode) sind 5 % tolerable.",{"type":32,"tag":103,"props":1072,"children":1074},{"className":105,"code":1073,"language":107,"meta":16,"style":16},"\u002F\u002F ATC-Abandon-Tracking — Frontend Event Orchestration\nasync function handleAddToCart(productId, quantity) {\n  const startTime = performance.now();\n  \n  \u002F\u002F Event 1: ATC initiated\n  analytics.track('add_to_cart_initiated', {\n    product_id: productId,\n    quantity: quantity,\n    timestamp: Date.now()\n  });\n  \n  try {\n    \u002F\u002F API-Call-Chain\n    const [inventory, price] = await Promise.all([\n      fetch(`\u002Fapi\u002Finventory\u002F${productId}`).then(r => r.json()),\n      fetch(`\u002Fapi\u002Fprice\u002F${productId}`).then(r => r.json())\n    ]);\n    \n    if (!inventory.in_stock) {\n      analytics.track('add_to_cart_failed', { reason: 'out_of_stock' });\n      return;\n    }\n    \n    const cartResponse = await fetch('\u002Fapi\u002Fcart', {\n      method: 'POST',\n      body: JSON.stringify({ product_id: productId, quantity, price: price.amount })\n    });\n    \n    const endTime = performance.now();\n    const latency = endTime - startTime;\n    \n    \u002F\u002F Event 2: ATC success\n    analytics.track('add_to_cart_success', {\n      product_id: productId,\n      latency_ms: latency,\n      timestamp: Date.now()\n    });\n    \n    \u002F\u002F Latency-Threshold-Alarm\n    if (latency > 800) {\n      fetch('\u002Fapi\u002Fmonitoring\u002Falert', {\n        method: 'POST',\n        body: JSON.stringify({\n          alert_type: 'atc_latency_high',\n          product_id: productId,\n          latency: latency\n        })\n      });\n    }\n    \n  } catch (error) {\n    const endTime = performance.now();\n    analytics.track('add_to_cart_error', {\n      product_id: productId,\n      error_message: error.message,\n      latency_ms: endTime - startTime\n    });\n  }\n}\n",[1075],{"type":32,"tag":73,"props":1076,"children":1077},{"__ignoreMap":16},[1078,1086,1124,1155,1163,1171,1198,1206,1214,1231,1239,1246,1258,1266,1326,1391,1448,1456,1463,1485,1521,1532,1539,1546,1583,1601,1628,1636,1643,1671,1702,1709,1717,1743,1752,1761,1778,1786,1794,1803,1830,1851,1868,1894,1912,1921,1930,1939,1948,1956,1964,1983,2011,2036,2044,2053,2071,2079,2087],{"type":32,"tag":113,"props":1079,"children":1080},{"class":115,"line":116},[1081],{"type":32,"tag":113,"props":1082,"children":1083},{"style":120},[1084],{"type":37,"value":1085},"\u002F\u002F ATC-Abandon-Tracking — Frontend Event Orchestration\n",{"type":32,"tag":113,"props":1087,"children":1088},{"class":115,"line":126},[1089,1093,1097,1102,1106,1111,1115,1120],{"type":32,"tag":113,"props":1090,"children":1091},{"style":130},[1092],{"type":37,"value":726},{"type":32,"tag":113,"props":1094,"children":1095},{"style":130},[1096],{"type":37,"value":731},{"type":32,"tag":113,"props":1098,"children":1099},{"style":156},[1100],{"type":37,"value":1101}," handleAddToCart",{"type":32,"tag":113,"props":1103,"children":1104},{"style":141},[1105],{"type":37,"value":164},{"type":32,"tag":113,"props":1107,"children":1108},{"style":167},[1109],{"type":37,"value":1110},"productId",{"type":32,"tag":113,"props":1112,"children":1113},{"style":141},[1114],{"type":37,"value":175},{"type":32,"tag":113,"props":1116,"children":1117},{"style":167},[1118],{"type":37,"value":1119},"quantity",{"type":32,"tag":113,"props":1121,"children":1122},{"style":141},[1123],{"type":37,"value":185},{"type":32,"tag":113,"props":1125,"children":1126},{"class":115,"line":147},[1127,1131,1136,1140,1145,1150],{"type":32,"tag":113,"props":1128,"children":1129},{"style":130},[1130],{"type":37,"value":757},{"type":32,"tag":113,"props":1132,"children":1133},{"style":197},[1134],{"type":37,"value":1135}," startTime",{"type":32,"tag":113,"props":1137,"children":1138},{"style":130},[1139],{"type":37,"value":205},{"type":32,"tag":113,"props":1141,"children":1142},{"style":141},[1143],{"type":37,"value":1144}," performance.",{"type":32,"tag":113,"props":1146,"children":1147},{"style":156},[1148],{"type":37,"value":1149},"now",{"type":32,"tag":113,"props":1151,"children":1152},{"style":141},[1153],{"type":37,"value":1154},"();\n",{"type":32,"tag":113,"props":1156,"children":1157},{"class":115,"line":188},[1158],{"type":32,"tag":113,"props":1159,"children":1160},{"style":141},[1161],{"type":37,"value":1162},"  \n",{"type":32,"tag":113,"props":1164,"children":1165},{"class":115,"line":223},[1166],{"type":32,"tag":113,"props":1167,"children":1168},{"style":120},[1169],{"type":37,"value":1170},"  \u002F\u002F Event 1: ATC initiated\n",{"type":32,"tag":113,"props":1172,"children":1173},{"class":115,"line":255},[1174,1179,1184,1188,1193],{"type":32,"tag":113,"props":1175,"children":1176},{"style":141},[1177],{"type":37,"value":1178},"  analytics.",{"type":32,"tag":113,"props":1180,"children":1181},{"style":156},[1182],{"type":37,"value":1183},"track",{"type":32,"tag":113,"props":1185,"children":1186},{"style":141},[1187],{"type":37,"value":164},{"type":32,"tag":113,"props":1189,"children":1190},{"style":296},[1191],{"type":37,"value":1192},"'add_to_cart_initiated'",{"type":32,"tag":113,"props":1194,"children":1195},{"style":141},[1196],{"type":37,"value":1197},", {\n",{"type":32,"tag":113,"props":1199,"children":1200},{"class":115,"line":307},[1201],{"type":32,"tag":113,"props":1202,"children":1203},{"style":141},[1204],{"type":37,"value":1205},"    product_id: productId,\n",{"type":32,"tag":113,"props":1207,"children":1208},{"class":115,"line":354},[1209],{"type":32,"tag":113,"props":1210,"children":1211},{"style":141},[1212],{"type":37,"value":1213},"    quantity: quantity,\n",{"type":32,"tag":113,"props":1215,"children":1216},{"class":115,"line":26},[1217,1222,1226],{"type":32,"tag":113,"props":1218,"children":1219},{"style":141},[1220],{"type":37,"value":1221},"    timestamp: Date.",{"type":32,"tag":113,"props":1223,"children":1224},{"style":156},[1225],{"type":37,"value":1149},{"type":32,"tag":113,"props":1227,"children":1228},{"style":141},[1229],{"type":37,"value":1230},"()\n",{"type":32,"tag":113,"props":1232,"children":1233},{"class":115,"line":371},[1234],{"type":32,"tag":113,"props":1235,"children":1236},{"style":141},[1237],{"type":37,"value":1238},"  });\n",{"type":32,"tag":113,"props":1240,"children":1241},{"class":115,"line":404},[1242],{"type":32,"tag":113,"props":1243,"children":1244},{"style":141},[1245],{"type":37,"value":1162},{"type":32,"tag":113,"props":1247,"children":1248},{"class":115,"line":436},[1249,1254],{"type":32,"tag":113,"props":1250,"children":1251},{"style":130},[1252],{"type":37,"value":1253},"  try",{"type":32,"tag":113,"props":1255,"children":1256},{"style":141},[1257],{"type":37,"value":144},{"type":32,"tag":113,"props":1259,"children":1260},{"class":115,"line":445},[1261],{"type":32,"tag":113,"props":1262,"children":1263},{"style":120},[1264],{"type":37,"value":1265},"    \u002F\u002F API-Call-Chain\n",{"type":32,"tag":113,"props":1267,"children":1268},{"class":115,"line":453},[1269,1273,1278,1283,1287,1292,1297,1302,1306,1311,1316,1321],{"type":32,"tag":113,"props":1270,"children":1271},{"style":130},[1272],{"type":37,"value":194},{"type":32,"tag":113,"props":1274,"children":1275},{"style":141},[1276],{"type":37,"value":1277}," [",{"type":32,"tag":113,"props":1279,"children":1280},{"style":197},[1281],{"type":37,"value":1282},"inventory",{"type":32,"tag":113,"props":1284,"children":1285},{"style":141},[1286],{"type":37,"value":175},{"type":32,"tag":113,"props":1288,"children":1289},{"style":197},[1290],{"type":37,"value":1291},"price",{"type":32,"tag":113,"props":1293,"children":1294},{"style":141},[1295],{"type":37,"value":1296},"] ",{"type":32,"tag":113,"props":1298,"children":1299},{"style":130},[1300],{"type":37,"value":1301},"=",{"type":32,"tag":113,"props":1303,"children":1304},{"style":130},[1305],{"type":37,"value":274},{"type":32,"tag":113,"props":1307,"children":1308},{"style":197},[1309],{"type":37,"value":1310}," Promise",{"type":32,"tag":113,"props":1312,"children":1313},{"style":141},[1314],{"type":37,"value":1315},".",{"type":32,"tag":113,"props":1317,"children":1318},{"style":156},[1319],{"type":37,"value":1320},"all",{"type":32,"tag":113,"props":1322,"children":1323},{"style":141},[1324],{"type":37,"value":1325},"([\n",{"type":32,"tag":113,"props":1327,"children":1328},{"class":115,"line":462},[1329,1334,1338,1343,1347,1352,1357,1362,1366,1371,1376,1381,1386],{"type":32,"tag":113,"props":1330,"children":1331},{"style":156},[1332],{"type":37,"value":1333},"      fetch",{"type":32,"tag":113,"props":1335,"children":1336},{"style":141},[1337],{"type":37,"value":164},{"type":32,"tag":113,"props":1339,"children":1340},{"style":296},[1341],{"type":37,"value":1342},"`\u002Fapi\u002Finventory\u002F${",{"type":32,"tag":113,"props":1344,"children":1345},{"style":141},[1346],{"type":37,"value":1110},{"type":32,"tag":113,"props":1348,"children":1349},{"style":296},[1350],{"type":37,"value":1351},"}`",{"type":32,"tag":113,"props":1353,"children":1354},{"style":141},[1355],{"type":37,"value":1356},").",{"type":32,"tag":113,"props":1358,"children":1359},{"style":156},[1360],{"type":37,"value":1361},"then",{"type":32,"tag":113,"props":1363,"children":1364},{"style":141},[1365],{"type":37,"value":164},{"type":32,"tag":113,"props":1367,"children":1368},{"style":167},[1369],{"type":37,"value":1370},"r",{"type":32,"tag":113,"props":1372,"children":1373},{"style":130},[1374],{"type":37,"value":1375}," =>",{"type":32,"tag":113,"props":1377,"children":1378},{"style":141},[1379],{"type":37,"value":1380}," r.",{"type":32,"tag":113,"props":1382,"children":1383},{"style":156},[1384],{"type":37,"value":1385},"json",{"type":32,"tag":113,"props":1387,"children":1388},{"style":141},[1389],{"type":37,"value":1390},"()),\n",{"type":32,"tag":113,"props":1392,"children":1393},{"class":115,"line":484},[1394,1398,1402,1407,1411,1415,1419,1423,1427,1431,1435,1439,1443],{"type":32,"tag":113,"props":1395,"children":1396},{"style":156},[1397],{"type":37,"value":1333},{"type":32,"tag":113,"props":1399,"children":1400},{"style":141},[1401],{"type":37,"value":164},{"type":32,"tag":113,"props":1403,"children":1404},{"style":296},[1405],{"type":37,"value":1406},"`\u002Fapi\u002Fprice\u002F${",{"type":32,"tag":113,"props":1408,"children":1409},{"style":141},[1410],{"type":37,"value":1110},{"type":32,"tag":113,"props":1412,"children":1413},{"style":296},[1414],{"type":37,"value":1351},{"type":32,"tag":113,"props":1416,"children":1417},{"style":141},[1418],{"type":37,"value":1356},{"type":32,"tag":113,"props":1420,"children":1421},{"style":156},[1422],{"type":37,"value":1361},{"type":32,"tag":113,"props":1424,"children":1425},{"style":141},[1426],{"type":37,"value":164},{"type":32,"tag":113,"props":1428,"children":1429},{"style":167},[1430],{"type":37,"value":1370},{"type":32,"tag":113,"props":1432,"children":1433},{"style":130},[1434],{"type":37,"value":1375},{"type":32,"tag":113,"props":1436,"children":1437},{"style":141},[1438],{"type":37,"value":1380},{"type":32,"tag":113,"props":1440,"children":1441},{"style":156},[1442],{"type":37,"value":1385},{"type":32,"tag":113,"props":1444,"children":1445},{"style":141},[1446],{"type":37,"value":1447},"())\n",{"type":32,"tag":113,"props":1449,"children":1450},{"class":115,"line":503},[1451],{"type":32,"tag":113,"props":1452,"children":1453},{"style":141},[1454],{"type":37,"value":1455},"    ]);\n",{"type":32,"tag":113,"props":1457,"children":1458},{"class":115,"line":522},[1459],{"type":32,"tag":113,"props":1460,"children":1461},{"style":141},[1462],{"type":37,"value":360},{"type":32,"tag":113,"props":1464,"children":1465},{"class":115,"line":530},[1466,1470,1475,1480],{"type":32,"tag":113,"props":1467,"children":1468},{"style":130},[1469],{"type":37,"value":377},{"type":32,"tag":113,"props":1471,"children":1472},{"style":141},[1473],{"type":37,"value":1474}," (",{"type":32,"tag":113,"props":1476,"children":1477},{"style":130},[1478],{"type":37,"value":1479},"!",{"type":32,"tag":113,"props":1481,"children":1482},{"style":141},[1483],{"type":37,"value":1484},"inventory.in_stock) {\n",{"type":32,"tag":113,"props":1486,"children":1487},{"class":115,"line":569},[1488,1493,1497,1501,1506,1511,1516],{"type":32,"tag":113,"props":1489,"children":1490},{"style":141},[1491],{"type":37,"value":1492},"      analytics.",{"type":32,"tag":113,"props":1494,"children":1495},{"style":156},[1496],{"type":37,"value":1183},{"type":32,"tag":113,"props":1498,"children":1499},{"style":141},[1500],{"type":37,"value":164},{"type":32,"tag":113,"props":1502,"children":1503},{"style":296},[1504],{"type":37,"value":1505},"'add_to_cart_failed'",{"type":32,"tag":113,"props":1507,"children":1508},{"style":141},[1509],{"type":37,"value":1510},", { reason: ",{"type":32,"tag":113,"props":1512,"children":1513},{"style":296},[1514],{"type":37,"value":1515},"'out_of_stock'",{"type":32,"tag":113,"props":1517,"children":1518},{"style":141},[1519],{"type":37,"value":1520}," });\n",{"type":32,"tag":113,"props":1522,"children":1523},{"class":115,"line":577},[1524,1528],{"type":32,"tag":113,"props":1525,"children":1526},{"style":130},[1527],{"type":37,"value":410},{"type":32,"tag":113,"props":1529,"children":1530},{"style":141},[1531],{"type":37,"value":519},{"type":32,"tag":113,"props":1533,"children":1534},{"class":115,"line":586},[1535],{"type":32,"tag":113,"props":1536,"children":1537},{"style":141},[1538],{"type":37,"value":442},{"type":32,"tag":113,"props":1540,"children":1541},{"class":115,"line":617},[1542],{"type":32,"tag":113,"props":1543,"children":1544},{"style":141},[1545],{"type":37,"value":360},{"type":32,"tag":113,"props":1547,"children":1548},{"class":115,"line":670},[1549,1553,1558,1562,1566,1570,1574,1579],{"type":32,"tag":113,"props":1550,"children":1551},{"style":130},[1552],{"type":37,"value":194},{"type":32,"tag":113,"props":1554,"children":1555},{"style":197},[1556],{"type":37,"value":1557}," cartResponse",{"type":32,"tag":113,"props":1559,"children":1560},{"style":130},[1561],{"type":37,"value":205},{"type":32,"tag":113,"props":1563,"children":1564},{"style":130},[1565],{"type":37,"value":274},{"type":32,"tag":113,"props":1567,"children":1568},{"style":156},[1569],{"type":37,"value":159},{"type":32,"tag":113,"props":1571,"children":1572},{"style":141},[1573],{"type":37,"value":164},{"type":32,"tag":113,"props":1575,"children":1576},{"style":296},[1577],{"type":37,"value":1578},"'\u002Fapi\u002Fcart'",{"type":32,"tag":113,"props":1580,"children":1581},{"style":141},[1582],{"type":37,"value":1197},{"type":32,"tag":113,"props":1584,"children":1585},{"class":115,"line":678},[1586,1591,1596],{"type":32,"tag":113,"props":1587,"children":1588},{"style":141},[1589],{"type":37,"value":1590},"      method: ",{"type":32,"tag":113,"props":1592,"children":1593},{"style":296},[1594],{"type":37,"value":1595},"'POST'",{"type":32,"tag":113,"props":1597,"children":1598},{"style":141},[1599],{"type":37,"value":1600},",\n",{"type":32,"tag":113,"props":1602,"children":1603},{"class":115,"line":692},[1604,1609,1614,1618,1623],{"type":32,"tag":113,"props":1605,"children":1606},{"style":141},[1607],{"type":37,"value":1608},"      body: ",{"type":32,"tag":113,"props":1610,"children":1611},{"style":197},[1612],{"type":37,"value":1613},"JSON",{"type":32,"tag":113,"props":1615,"children":1616},{"style":141},[1617],{"type":37,"value":1315},{"type":32,"tag":113,"props":1619,"children":1620},{"style":156},[1621],{"type":37,"value":1622},"stringify",{"type":32,"tag":113,"props":1624,"children":1625},{"style":141},[1626],{"type":37,"value":1627},"({ product_id: productId, quantity, price: price.amount })\n",{"type":32,"tag":113,"props":1629,"children":1630},{"class":115,"line":701},[1631],{"type":32,"tag":113,"props":1632,"children":1633},{"style":141},[1634],{"type":37,"value":1635},"    });\n",{"type":32,"tag":113,"props":1637,"children":1638},{"class":115,"line":710},[1639],{"type":32,"tag":113,"props":1640,"children":1641},{"style":141},[1642],{"type":37,"value":360},{"type":32,"tag":113,"props":1644,"children":1645},{"class":115,"line":720},[1646,1650,1655,1659,1663,1667],{"type":32,"tag":113,"props":1647,"children":1648},{"style":130},[1649],{"type":37,"value":194},{"type":32,"tag":113,"props":1651,"children":1652},{"style":197},[1653],{"type":37,"value":1654}," endTime",{"type":32,"tag":113,"props":1656,"children":1657},{"style":130},[1658],{"type":37,"value":205},{"type":32,"tag":113,"props":1660,"children":1661},{"style":141},[1662],{"type":37,"value":1144},{"type":32,"tag":113,"props":1664,"children":1665},{"style":156},[1666],{"type":37,"value":1149},{"type":32,"tag":113,"props":1668,"children":1669},{"style":141},[1670],{"type":37,"value":1154},{"type":32,"tag":113,"props":1672,"children":1673},{"class":115,"line":751},[1674,1678,1683,1687,1692,1697],{"type":32,"tag":113,"props":1675,"children":1676},{"style":130},[1677],{"type":37,"value":194},{"type":32,"tag":113,"props":1679,"children":1680},{"style":197},[1681],{"type":37,"value":1682}," latency",{"type":32,"tag":113,"props":1684,"children":1685},{"style":130},[1686],{"type":37,"value":205},{"type":32,"tag":113,"props":1688,"children":1689},{"style":141},[1690],{"type":37,"value":1691}," endTime ",{"type":32,"tag":113,"props":1693,"children":1694},{"style":130},[1695],{"type":37,"value":1696},"-",{"type":32,"tag":113,"props":1698,"children":1699},{"style":141},[1700],{"type":37,"value":1701}," startTime;\n",{"type":32,"tag":113,"props":1703,"children":1704},{"class":115,"line":821},[1705],{"type":32,"tag":113,"props":1706,"children":1707},{"style":141},[1708],{"type":37,"value":360},{"type":32,"tag":113,"props":1710,"children":1711},{"class":115,"line":854},[1712],{"type":32,"tag":113,"props":1713,"children":1714},{"style":120},[1715],{"type":37,"value":1716},"    \u002F\u002F Event 2: ATC success\n",{"type":32,"tag":113,"props":1718,"children":1720},{"class":115,"line":1719},33,[1721,1726,1730,1734,1739],{"type":32,"tag":113,"props":1722,"children":1723},{"style":141},[1724],{"type":37,"value":1725},"    analytics.",{"type":32,"tag":113,"props":1727,"children":1728},{"style":156},[1729],{"type":37,"value":1183},{"type":32,"tag":113,"props":1731,"children":1732},{"style":141},[1733],{"type":37,"value":164},{"type":32,"tag":113,"props":1735,"children":1736},{"style":296},[1737],{"type":37,"value":1738},"'add_to_cart_success'",{"type":32,"tag":113,"props":1740,"children":1741},{"style":141},[1742],{"type":37,"value":1197},{"type":32,"tag":113,"props":1744,"children":1746},{"class":115,"line":1745},34,[1747],{"type":32,"tag":113,"props":1748,"children":1749},{"style":141},[1750],{"type":37,"value":1751},"      product_id: productId,\n",{"type":32,"tag":113,"props":1753,"children":1755},{"class":115,"line":1754},35,[1756],{"type":32,"tag":113,"props":1757,"children":1758},{"style":141},[1759],{"type":37,"value":1760},"      latency_ms: latency,\n",{"type":32,"tag":113,"props":1762,"children":1764},{"class":115,"line":1763},36,[1765,1770,1774],{"type":32,"tag":113,"props":1766,"children":1767},{"style":141},[1768],{"type":37,"value":1769},"      timestamp: Date.",{"type":32,"tag":113,"props":1771,"children":1772},{"style":156},[1773],{"type":37,"value":1149},{"type":32,"tag":113,"props":1775,"children":1776},{"style":141},[1777],{"type":37,"value":1230},{"type":32,"tag":113,"props":1779,"children":1781},{"class":115,"line":1780},37,[1782],{"type":32,"tag":113,"props":1783,"children":1784},{"style":141},[1785],{"type":37,"value":1635},{"type":32,"tag":113,"props":1787,"children":1789},{"class":115,"line":1788},38,[1790],{"type":32,"tag":113,"props":1791,"children":1792},{"style":141},[1793],{"type":37,"value":360},{"type":32,"tag":113,"props":1795,"children":1797},{"class":115,"line":1796},39,[1798],{"type":32,"tag":113,"props":1799,"children":1800},{"style":120},[1801],{"type":37,"value":1802},"    \u002F\u002F Latency-Threshold-Alarm\n",{"type":32,"tag":113,"props":1804,"children":1806},{"class":115,"line":1805},40,[1807,1811,1816,1821,1826],{"type":32,"tag":113,"props":1808,"children":1809},{"style":130},[1810],{"type":37,"value":377},{"type":32,"tag":113,"props":1812,"children":1813},{"style":141},[1814],{"type":37,"value":1815}," (latency ",{"type":32,"tag":113,"props":1817,"children":1818},{"style":130},[1819],{"type":37,"value":1820},">",{"type":32,"tag":113,"props":1822,"children":1823},{"style":197},[1824],{"type":37,"value":1825}," 800",{"type":32,"tag":113,"props":1827,"children":1828},{"style":141},[1829],{"type":37,"value":185},{"type":32,"tag":113,"props":1831,"children":1833},{"class":115,"line":1832},41,[1834,1838,1842,1847],{"type":32,"tag":113,"props":1835,"children":1836},{"style":156},[1837],{"type":37,"value":1333},{"type":32,"tag":113,"props":1839,"children":1840},{"style":141},[1841],{"type":37,"value":164},{"type":32,"tag":113,"props":1843,"children":1844},{"style":296},[1845],{"type":37,"value":1846},"'\u002Fapi\u002Fmonitoring\u002Falert'",{"type":32,"tag":113,"props":1848,"children":1849},{"style":141},[1850],{"type":37,"value":1197},{"type":32,"tag":113,"props":1852,"children":1854},{"class":115,"line":1853},42,[1855,1860,1864],{"type":32,"tag":113,"props":1856,"children":1857},{"style":141},[1858],{"type":37,"value":1859},"        method: ",{"type":32,"tag":113,"props":1861,"children":1862},{"style":296},[1863],{"type":37,"value":1595},{"type":32,"tag":113,"props":1865,"children":1866},{"style":141},[1867],{"type":37,"value":1600},{"type":32,"tag":113,"props":1869,"children":1871},{"class":115,"line":1870},43,[1872,1877,1881,1885,1889],{"type":32,"tag":113,"props":1873,"children":1874},{"style":141},[1875],{"type":37,"value":1876},"        body: ",{"type":32,"tag":113,"props":1878,"children":1879},{"style":197},[1880],{"type":37,"value":1613},{"type":32,"tag":113,"props":1882,"children":1883},{"style":141},[1884],{"type":37,"value":1315},{"type":32,"tag":113,"props":1886,"children":1887},{"style":156},[1888],{"type":37,"value":1622},{"type":32,"tag":113,"props":1890,"children":1891},{"style":141},[1892],{"type":37,"value":1893},"({\n",{"type":32,"tag":113,"props":1895,"children":1897},{"class":115,"line":1896},44,[1898,1903,1908],{"type":32,"tag":113,"props":1899,"children":1900},{"style":141},[1901],{"type":37,"value":1902},"          alert_type: ",{"type":32,"tag":113,"props":1904,"children":1905},{"style":296},[1906],{"type":37,"value":1907},"'atc_latency_high'",{"type":32,"tag":113,"props":1909,"children":1910},{"style":141},[1911],{"type":37,"value":1600},{"type":32,"tag":113,"props":1913,"children":1915},{"class":115,"line":1914},45,[1916],{"type":32,"tag":113,"props":1917,"children":1918},{"style":141},[1919],{"type":37,"value":1920},"          product_id: productId,\n",{"type":32,"tag":113,"props":1922,"children":1924},{"class":115,"line":1923},46,[1925],{"type":32,"tag":113,"props":1926,"children":1927},{"style":141},[1928],{"type":37,"value":1929},"          latency: latency\n",{"type":32,"tag":113,"props":1931,"children":1933},{"class":115,"line":1932},47,[1934],{"type":32,"tag":113,"props":1935,"children":1936},{"style":141},[1937],{"type":37,"value":1938},"        })\n",{"type":32,"tag":113,"props":1940,"children":1942},{"class":115,"line":1941},48,[1943],{"type":32,"tag":113,"props":1944,"children":1945},{"style":141},[1946],{"type":37,"value":1947},"      });\n",{"type":32,"tag":113,"props":1949,"children":1951},{"class":115,"line":1950},49,[1952],{"type":32,"tag":113,"props":1953,"children":1954},{"style":141},[1955],{"type":37,"value":442},{"type":32,"tag":113,"props":1957,"children":1959},{"class":115,"line":1958},50,[1960],{"type":32,"tag":113,"props":1961,"children":1962},{"style":141},[1963],{"type":37,"value":360},{"type":32,"tag":113,"props":1965,"children":1967},{"class":115,"line":1966},51,[1968,1973,1978],{"type":32,"tag":113,"props":1969,"children":1970},{"style":141},[1971],{"type":37,"value":1972},"  } ",{"type":32,"tag":113,"props":1974,"children":1975},{"style":130},[1976],{"type":37,"value":1977},"catch",{"type":32,"tag":113,"props":1979,"children":1980},{"style":141},[1981],{"type":37,"value":1982}," (error) {\n",{"type":32,"tag":113,"props":1984,"children":1986},{"class":115,"line":1985},52,[1987,1991,1995,1999,2003,2007],{"type":32,"tag":113,"props":1988,"children":1989},{"style":130},[1990],{"type":37,"value":194},{"type":32,"tag":113,"props":1992,"children":1993},{"style":197},[1994],{"type":37,"value":1654},{"type":32,"tag":113,"props":1996,"children":1997},{"style":130},[1998],{"type":37,"value":205},{"type":32,"tag":113,"props":2000,"children":2001},{"style":141},[2002],{"type":37,"value":1144},{"type":32,"tag":113,"props":2004,"children":2005},{"style":156},[2006],{"type":37,"value":1149},{"type":32,"tag":113,"props":2008,"children":2009},{"style":141},[2010],{"type":37,"value":1154},{"type":32,"tag":113,"props":2012,"children":2014},{"class":115,"line":2013},53,[2015,2019,2023,2027,2032],{"type":32,"tag":113,"props":2016,"children":2017},{"style":141},[2018],{"type":37,"value":1725},{"type":32,"tag":113,"props":2020,"children":2021},{"style":156},[2022],{"type":37,"value":1183},{"type":32,"tag":113,"props":2024,"children":2025},{"style":141},[2026],{"type":37,"value":164},{"type":32,"tag":113,"props":2028,"children":2029},{"style":296},[2030],{"type":37,"value":2031},"'add_to_cart_error'",{"type":32,"tag":113,"props":2033,"children":2034},{"style":141},[2035],{"type":37,"value":1197},{"type":32,"tag":113,"props":2037,"children":2039},{"class":115,"line":2038},54,[2040],{"type":32,"tag":113,"props":2041,"children":2042},{"style":141},[2043],{"type":37,"value":1751},{"type":32,"tag":113,"props":2045,"children":2047},{"class":115,"line":2046},55,[2048],{"type":32,"tag":113,"props":2049,"children":2050},{"style":141},[2051],{"type":37,"value":2052},"      error_message: error.message,\n",{"type":32,"tag":113,"props":2054,"children":2056},{"class":115,"line":2055},56,[2057,2062,2066],{"type":32,"tag":113,"props":2058,"children":2059},{"style":141},[2060],{"type":37,"value":2061},"      latency_ms: endTime ",{"type":32,"tag":113,"props":2063,"children":2064},{"style":130},[2065],{"type":37,"value":1696},{"type":32,"tag":113,"props":2067,"children":2068},{"style":141},[2069],{"type":37,"value":2070}," startTime\n",{"type":32,"tag":113,"props":2072,"children":2074},{"class":115,"line":2073},57,[2075],{"type":32,"tag":113,"props":2076,"children":2077},{"style":141},[2078],{"type":37,"value":1635},{"type":32,"tag":113,"props":2080,"children":2082},{"class":115,"line":2081},58,[2083],{"type":32,"tag":113,"props":2084,"children":2085},{"style":141},[2086],{"type":37,"value":698},{"type":32,"tag":113,"props":2088,"children":2090},{"class":115,"line":2089},59,[2091],{"type":32,"tag":113,"props":2092,"children":2093},{"style":141},[2094],{"type":37,"value":860},{"type":32,"tag":40,"props":2096,"children":2098},{"id":2097},"rollback-strategie-und-post-migration-monitoring",[2099],{"type":37,"value":2100},"Rollback-Strategie und Post-Migration-Monitoring",{"type":32,"tag":33,"props":2102,"children":2103},{},[2104],{"type":37,"value":2105},"Production ohne Rollback-Strategie in der Migration-Planung gehen? Das heißt 41 % Fehlerquote. Rollback muss auf zwei Ebenen geplant sein: Infrastructure Rollback (DNS, CDN Config) und Data Rollback (Cart State, Session Data). Infrastructure Rollback via Cloudflare Worker Origin Switching schafft man in 30 Sekunden. Data Rollback ist komplexer — wie transferierst du Cart-Items aus Headless zurück ins monolithische System?",{"type":32,"tag":33,"props":2107,"children":2108},{},[2109],{"type":37,"value":2110},"Lösung: Dual-Write Pattern. Während Migration schreibst du jeden Cart-Update in beide Systeme. Das erzeugt Daten-Inconsistency-Risiko, macht aber Rollback möglich. Beim Rollback-Trigger ist der Cart-Data des monolithischen Systems bereits aktuell — der User verliert kein Item. Dual-Write erzeugt 8 % Latenz-Overhead, aber dieser Tradeoff ist akzeptabel.",{"type":32,"tag":33,"props":2112,"children":2113},{},[2114],{"type":37,"value":2115},"Post-Migration-Monitoring läuft 90 Tage. Erste 30 Tage: Core Web Vitals, Error Rate, Conversion Rate täglich. Tage 30–60: SEO-Metriken (Indexed Pages, Organic Traffic, Ranking Distribution). Tage 60–90: Retention Metrics (Repeat Purchase Rate, Customer Lifetime Value). In dieser Phase manifestiert sich der echte Headless-ROI — wenn LCP von 2,1s auf 0,8s fällt, steigt Mobile Conversion um 19 %, das ergibt am Tag 90 positiven Net ROI.",{"type":32,"tag":33,"props":2117,"children":2118},{},[2119],{"type":37,"value":2120},"Headless-Migration ist kein „Einmal-Projekt\", sondern kontinuierliche Optimierungsschleife. Nach dem ersten Deployment verfeinernst du Edge-Caching-Strategie, optimierst API-Response-Time, testest Component-Lazy-Loading-Th",{"type":32,"tag":2122,"props":2123,"children":2124},"style",{},[2125],{"type":37,"value":2126},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":16,"searchDepth":147,"depth":147,"links":2128},[2129,2130,2131,2132,2133],{"id":42,"depth":126,"text":45},{"id":83,"depth":126,"text":86},{"id":863,"depth":126,"text":866},{"id":1030,"depth":126,"text":1033},{"id":2097,"depth":126,"text":2100},"markdown","content:de:tech:headless-commerce-migration-roadmap-risikomanagement.md","content","de\u002Ftech\u002Fheadless-commerce-migration-roadmap-risikomanagement.md","de\u002Ftech\u002Fheadless-commerce-migration-roadmap-risikomanagement","md",1782050752313]