Guide - 23 kapitler - Webshop-migrering - den komplette guide
Alt jeg ved om at flytte en webshop til Shopify. Fra kortlægning og redirects til data, compliance, go-live og opfølgning. Baseret på rigtige migreringer siden 2016.
- Forfatter
- Kasper Stück
- Opdateret
- Laesetid
- 45 min
- Niveau
- Mellem
At migrere en webshop er en af de mest krævende opgaver i e-handel. Du ændrer ikke kun design eller system. Du ændrer URL-struktur, produktdata, kategorilogik, betalingsopsætning, feeds, tracking, søgning, filtre, arbejdsgange og ofte også databehandleraftaler og moms-opsætning. Derfor er en migrering både risikofyldt og forretningskritisk.
Gjort rigtigt er en migrering samtidig en unik mulighed for at rydde op. Du kan forbedre struktur, performance, drift og konvertering i én samlet proces. En god migrering handler ikke kun om at flytte data. Den handler om at skabe en stærkere webshop og en enklere hverdag.
Denne guide er skrevet på baggrund af rigtige migreringer jeg har ledet siden 2016. Når migreringer går galt, skyldes det sjældent én stor fejl. Det er næsten altid summen af for hurtige beslutninger, mangelfuld kortlægning, for få redirects, dårlig feed-kontrol, svag gennemgang og utilstrækkelig opfølgning efter lancering. Du kan læse guiden fra start til slut eller springe til det kapitel du står med lige nu - din fremgang gemmes lokalt, så du kan vende tilbage senere. Den har en parallel Shopify-migreringstjekliste med alle konkrete kontrolpunkter du kan arbejde dig igennem.
Hvornår skal du migrere
Ikke alle webshops bør migrere. En migrering er ikke et mål i sig selv. Den er rigtig, når den løser reelle begrænsninger i forretningen.
Typiske tegn på at tiden er rigtig
En migrering giver mening, når den nuværende platform holder virksomheden tilbage. Det kan være tung vedligeholdelse, dyre særtilpasninger, dårlig mobiloplevelse, langsom udviklingshastighed, svære integrationer eller en drift hvor for meget afhænger af udviklere og manuelle processer.
Det er også et stærkt signal, hvis du ikke længere kan arbejde hurtigt nok med kampagner, nye kollektioner, merchandising, email flows, markeder eller betalingsopsætning. Platformen skal understøtte forretningen. Bremser den tempoet, bliver den et problem.
Hvornår det er en dårlig idé
En migrering er en dårlig idé, hvis den primært drives af utålmodighed, mode eller intern frustration. Hvis den nuværende shop kan løfte forretningens krav, og problemerne reelt handler om indhold, marketing, sortiment eller organisering, vil et platformskifte sjældent løse det.
Det er også en dårlig idé at migrere midt i højsæson, uden ejerskab, uden datakortlægning og uden klare succeskriterier.
Min tommelfingerregel
Migrer, når mindst tre af disse udsagn er sande: drift og vedligehold tager for meget tid, vækst kræver dyre specialløsninger, integrationer er skrøbelige, mobiloplevelsen er ikke god nok, teamet arbejder for langsomt i den nuværende platform, eller fremtidige planer kræver mere standardisering og skalerbarhed.
Hvem denne guide er til
Jeg har skrevet guiden så den passer til forskellige shop-størrelser og modenhed. Find din profil herunder - så ved du hvor meget af guiden der rammer dig direkte.
Mikroshop (1-2 personer, under 500 produkter)
Lav teknisk kompetence, ofte ejerledet. Typisk scenario: vil væk fra en forældet eller dyr løsning, ønsker standardfeatures og lav drift. Har brug for en meget konkret trin-for-trin proces, leverandørvalg og klare “do/don’t”-lister. For dig er Shopifys egen Store Migration app eller ren CSV-import typisk nok. Tidslinje: 2-4 uger. Fokusér på kapitlerne om forberedelse, data, redirects og go-live - resten kan du skim-læse.
SMV-shop (2-10 personer, 500-20.000 produkter)
Moderat teknisk kompetence. Typisk scenario: har flere integrationer (økonomi/ERP, fragt, marketing), flere betalingsformer og ønsker bedre performance og skalering. Har brug for skabeloner til data mapping, testplan og en konkret integrationscheckliste. API-baserede integrationer er ofte relevante. Tidslinje: 4-8 uger. Hele denne guide er skrevet til dig.
Skalerende shop (10-50 personer, flere markeder)
Højere kompleksitet, SEO er kritisk. Typisk scenario: har ofte mange URL’er, flere sprog og avanceret katalog med varianter og attributter. Her er URL-mapping, redirects, canonical/hreflang og langvarig redirect-vedligehold centralt. Tidslinje: 6-12 uger. Læs særligt kapitlerne om SEO, tracking, Markets og compliance.
Enterprise og kompleks (over 50 personer, specialudvikling)
Høj teknisk kompetence. Typisk scenario: migrering kræver specialudvikling, staged deploy, avanceret test og kontrollerede releases. API-baseret migrering og partner-setup er ofte nødvendigt. Tidslinje: 8-16 uger. Denne guide er et udgangspunkt - du får brug for yderligere arkitektur-arbejde og formentlig flere hænder.
Valg af platform
Platformvalget afgør, hvor meget migreringen bliver platformskonfiguration versus systemudvikling. Inden du beslutter dig, skal forretningskravene kobles til driftsmodel, import-muligheder, integrationer og SEO-kontrol.
Platform-sammenligning
Her er en praksisnær sammenligning af de fire typiske valg:
| Parameter | Shopify (SaaS) | WooCommerce | Magento/Adobe Commerce | Custom/Headless |
|---|---|---|---|---|
| Drift | Hostet, konfigureres i admin | Selvhostet, du ejer hosting | Selvhostet eller managed | Fuld kontrol og ansvar |
| Default migreringsvej | CSV + apps + partner | CSV + plugins + DB-værktøjer | Data Migration Tool (M1→M2) | ETL/udvikling per datadomæne |
| Kundeflytning | CSV uden passwords | Afhænger af metode | Afhænger af metode | Afhænger af IAM/SSO |
| SEO-redirects | I admin (URL redirects) | Via server/plugin | Via server/app | Fuldt ansvar i edge/app |
| Integrationer | API + app-økosystem | REST API + WP-økosystem | Omfattende API/udvidelser | API-first alt |
| Test og staging | Password-protection | Staging site anbefales | Staging + backup før deploy | Staging, CI/CD kræves |
Hvorfor Shopify ofte er det rigtige valg
Shopify er for mange webshops det mest oplagte valg, fordi platformen kombinerer stabil drift, bred app-understøttelse, et stort temamarked, standardiserede flows og relativt hurtig implementering.
Fordelen er ikke kun teknikken. Den store gevinst er driftsmodellen. Man bruger mindre energi på servere, kerneopdateringer og plugin-konflikter og mere energi på produkter, indhold, kampagner og konvertering.
Hvornår Shopify ikke er svaret
Shopify er ikke perfekt til alle. Er virksomheden stærkt afhængig af meget specialiseret B2B-logik, tung prisdifferentiering, meget komplekse checkout-regler eller dybe specialintegrationer, skal kravene vurderes grundigt før beslutningen. Det gælder især hvis du kommer fra en løsning med mange specialtilpasninger. Her er det afgørende at skelne mellem funktioner der er reelt nødvendige, funktioner der blot er vaner, og funktioner der kan løses enklere på Shopify.
Kend platformens begrænsninger før du vælger
Shopify har nogle konkrete begrænsninger du skal kende tidligt:
- Varianter: Op til 2.048 varianter pr. produkt og maks 3 option-typer. Apps der ikke bruger Shopifys nyere GraphQL produkt-API’er kan få forringet oplevelse ved produkter over 100 varianter.
- CSV-grænser: Produkt-, kunde- og lager-CSV’er må ikke overstige 15 MB per fil. Store kataloger skal splittes.
- Kundepasswords: Kan ikke migreres via CSV. Kunder skal nulstille kodeord.
- Variant-metafields: Understøttes ikke i produkt-CSV. Kræver API eller dedikerede apps.
- Produkt-collections i CSV: Et produkt kan kun tilknyttes én collection via CSV’s Collection-kolonne.
- Ordrehistorik: Ordrer kan ikke importeres via CSV (kun eksporteres). Kræver apps eller API.
- Brugere pr. plan: Basic, Shopify og Advanced har fastsatte staff-account grænser. Plus har flere.
- Ingen undo på import: Når en produktimport er startet, kan den ikke afbrydes, og der er ingen import-historik i admin.
Beslutningsrammen
I praksis stiller jeg tre spørgsmål: Hvor meget specialudvikling kræver dine vigtigste flows? Hvor mange integrationer skal være “must-have” ved go-live? Hvor hurtigt skal teamet kunne arbejde efter lancering? Svarene afgør om du skal på Shopify Basic, Shopify Plus, WooCommerce eller en custom/headless løsning.
Migreringsmetoder - CSV, apps eller API
Shopify beskriver tre hovedveje til at flytte data: kopier/move manuelt, importer via CSV/apps, eller brug Admin API. Valget afgør både tid, risiko og omkostning.
Sammenligning af migreringsværktøjer
| Værktøj | Styrke | Pris | Bedst til | Risici |
|---|---|---|---|---|
| Store Migration (Shopify) | Enkel import fra udvalgte platforme | Gratis | Små og simple shops | Begrænset datadækning |
| CSV (native) | Direkte kontrol, gratis | Gratis | Små-mellem kataloger | 15 MB grænse, ingen undo, afhængigheder |
| Matrixify | Bulk import/export, store-to-store | Free + $20/$50/$200 per måned | Medium/store kataloger | Kræver præcis kolonneformat |
| LitExtension | Automatiseret guided migrering | Free to install + variabel pris | Kompleks migration | Variabel pris, kræver validering |
| Cart2Cart | Migration service, mange kilder | Free to install + ekstra fees | ”Hands-off” migrering | Variabel standard |
| Custom Admin API | Maksimal kontrol | Udviklingstid + drift | Custom datamodel | Kræver API-kompetence og rate-limit plan |
CSV - Shopifys default-metode
CSV er den dokumenterede standardvej for mange butikker. Produkt-CSV’en er nyttig ved skift fra andre platforme, men du skal kende grænserne: 15 MB per fil, ingen undo når importen er startet, og ingen historik over tidligere imports i admin.
CSV har også “data dependencies” - variantrelaterede kolonner kræver option-kolonner, og fejl opstår hvis man fjerner kolonner uden at forstå afhængighederne.
Brug CSV hvis du har en simpel shop, kan leve med begrænsningerne og vil holde omkostningen nede.
Apps - hurtigt men kræver governance
Shopifys egen Store Migration app er gratis og importerer fra udvalgte platforme via konto-forbindelse eller CSV. Den er bygget til simple migreringer (BigCommerce, Big Cartel, Etsy, Squarespace, PrestaShop, WooCommerce, Square, Wix).
Tredjeparts migreringsapps som Matrixify, LitExtension og Cart2Cart tilbyder bredere datadækning, større filer og flere kontrolmuligheder. På Shopify Plus findes også Transporter til større datamigreringer.
Apps er det rigtige valg når CSV er for stivt men custom-udvikling er overkill.
API - til komplekse migreringer
Shopifys Admin API bruges til programmatisk flytning af data. Her skal du planlægge for rate-limits (cost-baserede GraphQL-limits og REST-limits), fejl-håndtering og delta-migrering.
API er det rigtige valg når du har mange ordrer at flytte, brug for variant-metafields, eller særlige datamodeller der ikke passer ind i CSV’ens struktur. Det kræver udviklingskompetence og en testplan.
Beslutningskriterierne
- Under 500 produkter, få integrationer: CSV eller Store Migration app
- 500-10.000 produkter, flere integrationer: Matrixify eller LitExtension + custom scripts til metafields
- Over 10.000 produkter, ordrehistorik, variant-metafields: API-baseret migrering eller partner-setup
Delta-migrering - sådan minimerer du nedetid
Ved større shops er ét problem at data ændrer sig mens migreringen er i gang: nye ordrer kommer ind, lager opdateres, produkter tilføjes, kunder opretter konti. Hvis du tager et snapshot mandag og går live fredag, er snapshot’et fem dage gammelt ved go-live.
Delta-migrering er løsningen: du laver en første fuld import tidligt, og kort før go-live kører du en delta-sync der kun overfører det der er ændret siden sidst. Shopifys Transporter-app og Magentos Data Migration Tool understøtter delta-trin. Med custom API-migrering planlægges det som en del af scriptet.
For små shops er det sjældent nødvendigt - du kan bare fryse den gamle shop kort før go-live. Men fra over 1.000 ordrer om ugen er det det, der skiller en kontrolleret migrering fra en datatabende.
Forberedelse og kortlægning
Den største fejl jeg ser er at starte med importen. En migrering starter ikke med CSV-filer. Den starter med kortlægning.
Før noget bygges, skal du have et komplet billede af den nuværende shop. Det gælder ikke kun produkter og sider, men hele det tekniske og forretningsmæssige setup omkring webshoppen.
Start med dit nuværende setup
Før du migrerer, skal du have styr på al eksisterende data og alle systemer der er koblet til webshoppen. Mange undervurderer dette trin. Det er en fejl.
Et typisk dansk setup kan se sådan ud: CMS: Magento. ERP: e-conomic. E-mail CRM: Klaviyo. Fragt: GLS. Betaling: Clearhaus, Quickpay og MobilePay. Det afgørende er ikke om dit setup ligner dette præcist. Det afgørende er, at alt bliver dokumenteret så intet vigtigt falder mellem to stole.
Det du skal kortlægge
Kortlæg som minimum:
- URL’er: produkter, kategorier, brand-sider, blog, filter-kombinationer, paginering, PDF’er, gamle kampagnesider, support-sider
- Produktdata: titel, varianter, SKU, GTIN/EAN, billeder, beskrivelser, tags, brands, kategorier, lagerstatus, metafields
- SEO-data: titler, beskrivelser, headings, canonical, structured data, interne links, indeksstatus
- Indhold: sider, blog, guides, FAQ, manualer, trust-elementer
- Integrationer: betaling, fragt, regnskab, email, CRM, feeds, reviews, consent, tracking, POS
- Forretningslogik: rabatregler, gavekort, bundles, kundetyper, B2B, lager, returflows
Lav en pre-migration audit
Før du rører noget som helst, skal du etablere en baseline. Audit-arkens vigtigste kolonner:
| Auditområde | Hvad du måler | Hvordan du måler | Output |
|---|---|---|---|
| Datakatalog | Antal produkter/varianter, kunder, ordrer | Eksport fra nuværende platform | Data inventory |
| CSV-egnethed | Kan data mappes til Shopify CSV? | Test med sample templates og subset | Import feasibility |
| Variant-kompleksitet | Over 100 varianter? | Identificer high-variant produkter | Risikoflag |
| SEO baseline | Top landing pages + backlinks + 404 baseline | Crawl + analytics | Redirect prioritet |
| Tracking baseline | GA4 events og konverteringer | GA4 + tag inventory | Tracking gap-list |
| Compliance | Cookies, privacy, DPA, momssatser | Juridisk gennemgang | Compliance gap-list |
Denne audit bliver dit “før”-billede. Uden det har du ingen måde at måle om migreringen lykkes.
Map det eksisterende setup til Shopify
Når kortlægningen er lavet, skal du oversætte det nuværende setup til Shopify. Et typisk eksempel: CMS bliver Shopify, ERP forbindes via Storebuddy til e-conomic, e-mail kører via Klaviyos egen Shopify-app, fragt via Webshipper eller Shipmondo, betaling via Quickpay og MobilePay direkte i Shopify.
Har virksomheden derimod Navision, Business Central, C5 eller Uniconta, kræver det ofte mere specialiseret integrationsarbejde. Der findes standardiserede løsninger på markedet, men de skal afklares tidligt.
Brug værktøjer, ikke mavefornemmelser
Kortlægning bør ske med crawl-værktøj, analyseværktøjer og datatræk - ikke manuel gennemgang alene. De vigtigste fejl gemmer sig i URL’er som ikke er synlige i frontend: filter-URL’er, paginering, parameter-URL’er, gamle PDF-stier og udgåede produktsider med historiske links.
En god migrering har et master-ark hvor alt samles: gammel URL, ny URL, sidetype, trafikværdi, redirect-status, indekseringsstatus, ansvarlig og QA-status. Det lyder administrativt. Det er det også. Men det er netop denne disciplin der skiller et sikkert projekt fra et dyrt genopretningsprojekt.
Projektsetup, roller og governance
Jeg har set migreringer fejle alene på governance - ingen ejer, uklare beslutninger, ingen beslutningslog. Før du starter bygger du projektet op med tydelige roller.
Roller jeg altid anbefaler
- Projektleder/produktansvarlig: ejer scope, beslutninger, tidsplan og kommunikation
- Teknisk lead: ejer datamapping, integrationer, cutover og rollback
- Frontend/tema: ejer design, checkout-UX og performance
- QA og forretning: ejer testcases, testordrer og UAT
- SEO/analytics: ejer URL mapping, redirects, Search Console og tracking
- Compliance/juridisk: ejer DPA’er, privacy policy, cookies og moms
Små shops kan samle flere roller i samme person - men aldrig samle “projektleder” og “teknisk lead” i én. De skal kunne udfordre hinanden.
Beslutningslog og scope-kontrakt
Alle migreringer jeg leder har to faste dokumenter: en scope-kontrakt (hvad er inde, hvad er ude, med konkrete eksempler) og en beslutningslog (hvornår blev hvad besluttet, og hvorfor). Begge forhindrer at projektet udvides usynligt undervejs.
Definition of Done
Før go-live skal teamet have underskrevet en konkret “Definition of Done” - målbare succeskriterier fordelt på omsætning/drift (checkout virker, testordrer dækker alle flows), SEO (1:1 mapping af kritiske URL’er, permanente redirects, nyt sitemap indsendt), data (produkter, kunder og lager flyttet korrekt, kendte begrænsninger dokumenteret), og compliance (DPA’er på plads, cookies overholdt, faktura-krav understøttet).
Projektplan og tidslinje
En god migrering har en realistisk tidslinje med klare milepæle og beslutningsporte. For små og mellemstore shops passer en 8-12 ugers plan ofte godt.
Milepæle og leverancer
| Milepæl | Leverance | Go/No-Go kriterier | Typisk varighed |
|---|---|---|---|
| Foranalyse og scope-lås | Datainventar, integrationsliste, SEO-audit light | Scope godkendt, risici dokumenteret | 1-2 uger |
| Platform- og løsningsdesign | Informationsarkitektur, tema/design, datamapping | URL-struktur besluttet, mapping startet | 1-2 uger |
| Data-migrering første kørsel | Testimport af katalog/kunder/lager | Fejlrate under aftalt tærskel | 1-2 uger |
| Integrationer og konfiguration | Betaling, fragt, skat, email, ERP/økonomi | Must-have integrationer fungerer | 1-2 uger |
| SEO cutover-pakke | Redirectliste + test + sitemap + SC-plan | Redirects testet, plan for minimum 1 år | 1 uge |
| QA og UAT | Testcases + testordre-matrix + fejlrettelser | Testordrer OK på alle devices | 1-2 uger |
| Go-live og hypercare | DNS cutover, monitorering, rollback-beredskab | Orderflow OK, fejlmonitorering aktiv | 1 uge |
| Stabilisering | Post-launch SEO/analytics review | 0 kritiske fejl åbne | 1-2 uger |
Estimater pr. butik-størrelse
- Lille butik (under 500 produkter, få integrationer): 2-4 uger
- Mellem butik (500-10.000 produkter, flere integrationer, SEO-sårbarhed): 4-8 uger
- Stor butik (over 10.000 produkter, custom flows, mange markeder, ERP/WMS): 8-16 uger
Budget opgøres som timer × intern/ekstern timepris plus licens/app-budget som særskilt post. Timepriser, platformabonnementer og app-omkostninger varierer - jeg giver ingen faste priser i denne guide, men du skal altid tilføje 20-30% buffer til det uforudsete.
URL-struktur og redirects
Her afgøres meget af resultatet. Hvis en webshop mister synlighed efter migrering, skyldes det ofte redirects, host-fejl, ændret navigation eller svag indeksering.
Det kritiske mange glemmer
Shopify har sin egen URL-struktur som næsten altid afviger fra den gamle platform. Alle eksisterende URL’er til produkter, kategorier, blogindlæg og undersider bliver til 404-sider i Google, annoncer og gamle links, hvis der ikke laves redirects.
Shopify har en indbygget redirect-manager (Content → Menus → URL redirects) hvor du kan oprette redirects manuelt eller importere/eksportere via CSV.
Eksempel på URL-mapping
Her er et simpelt eksempel på mapping fra en typisk gammel struktur til Shopify:
| Gammel sti | Ny sti | Type | Prioritet |
|---|---|---|---|
/kategori/solbriller | /collections/solbriller | 301 | Høj |
/produkt/sort-solbrille | /products/sort-solbrille | 301 | Høj |
/blog/nyheder/sommer-2026 | /blogs/nyheder/sommer-2026 | 301 | Medium |
/pdf/storrelsesguide.pdf | /pages/storrelsesguide | 301 | Medium |
/cart | /cart | Ingen | N/A |
Fremgangsmåden
- Lav et ark med to kolonner: Redirect from og Redirect to
- Kortlæg alle gamle URL’er fra crawl + analytics
- Prioriter: top landing pages, top kategorier/collections, og alle produkter med inbound links
- Match med de nye Shopify-URL’er
- Importer redirects i batches
- Test de vigtigste sider manuelt
- Crawl igen
- Overvåg Search Console i ugerne efter go-live
- Opret nye redirects løbende - nye 404’er dukker op i uger
Google anbefaler at holde redirects i mindst et år efter migrering. Det er et minimum, ikke en deadline.
Hvad du især skal undgå
Redirect aldrig alt til forsiden. Redirects skal pege mod den mest relevante erstatning. Undgå også redirect-kæder - et gammelt produkt må ikke gå via flere hop før det lander det rigtige sted.
De ting der oftest bliver glemt: gamle kampagnesider, PDF-filer, blogindlæg, support-sider, filter-URL’er, paginering og udgåede produkter med trafik.
Domæneskift kræver ekstra trin
Hvis du også skifter domæne, skal du bruge “Change of Address”-værktøjet i Google Search Console. Verificer det nye domæne først, indsend sitemap, og overvåg coverage dagligt de første 72 timer.
Produktdata og kategorier
Data skal ikke bare flyttes. De skal kvalitetssikres. Produkter kan ofte importeres via CSV, men det er en fejl at tro at importen alene løser datalaget.
Product data mapping
Før du importerer noget, skal du have et mapping-ark der oversætter hvert kildefelt til Shopifys målfelt:
| Kildefelt | Eksempel | Shopify-felt | Regler |
|---|---|---|---|
| Produktnavn | ”Sort solbrille” | Title | Trim, normaliser kapitalisering |
| URL slug | ”sort-solbrille” | Handle | Kun bogstaver/tal/bindestreger |
| Beskrivelse | HTML/tekst | Body (HTML) | Rens inline-styling, bevar semantik |
| Brand | ”Brand X” | Vendor | Normaliser navne |
| Kategori | ”Accessories” | Product category | Map til Shopifys kategori-system |
| Variantoptioner | Størrelse/farve | Option1/2/3 | Maks 3 option-typer |
| Antal varianter | 120 | Variants | Op til 2.048, men app-begrænsning ved >100 |
| Produkt-metafields | ”Materiale=…” | product.metafields.* | Understøttet i CSV |
| Variant-metafields | ”EAN-type=…” | (ikke i CSV) | Kræver API eller apps |
Hvad du skal validere efter import
Efter import skal du specifikt tjekke: varianter, billeder, prisfelter, sammenhæng mellem SKU og variant, brands, GTIN/EAN, produktkategorier, metafields og SEO-felter. Hver af disse kan se rigtige ud i en stikprøve men være forkerte i detaljen.
Test altid med et subset på 10-20 produkter først. Find fejlene, juster mapping-reglerne, og kør først den fulde import når subset’et er rent.
Kategoristruktur er et strategisk valg
En migrering er ofte det bedste tidspunkt at rydde op i kategoritræet. Men det er også et risikoområde. Ændrer du kategorinavne, URL’er, intern linking og navigation samtidig, stiger risikoen markant.
Arbejd kontrolleret: bevar velfungerende strukturer hvis de virker, ændr kun det der har en klar forretningsmæssig gevinst, gør ændringerne målbare, og sørg for komplet redirect-plan og intern linkopdatering.
Udsolgte og udgåede produkter
Udsolgte produkter skal håndteres bevidst. Midlertidigt udsolgt bør ikke nødvendigvis fjernes. Permanent udgået bør ikke stå som en blind 404 uden plan. Produkter med historisk trafik eller annonceværdi bør vurderes særskilt. Og feed, frontend og produktstatus skal være enige om status - ellers får du annoncer der peger på sider der ikke findes.
Kundedata og blogindhold
Kundedata kan flyttes - men ikke alt
Mange tror at en migrering betyder at hele kundeoplevelsen kan flyttes 1:1. Det kan den ikke. Navn, adresse, e-mail og ordrehistorik kan ofte flyttes. Men kunders kodeord kan ikke migreres, fordi de er krypterede uden for Shopifys system.
Det betyder i praksis at kundekonti skal aktiveres igen, kunder skal nulstille deres kodeord, og antallet af aktive konti typisk falder efter migreringen. På Shopify Plus kan du sende en massemail hvor kunder bliver bedt om at nulstille deres adgangskode.
Kunde-CSV’en har også begrænsninger: maks 15 MB per fil, og ordreinformation kan ikke importeres via kunde-CSV.
Kommuniker tydeligt omkring login
Hvis kunderne ikke bliver informeret tydeligt, oplever de migreringen som et problem. Ikke fordi data er væk, men fordi deres adgang ikke virker som før. Planlæg: e-mail til eksisterende kunder, FAQ om nyt login, kundeservice-beredskab de første uger, og tydelige beskeder på login-siden.
Blogindhold kræver manuel gennemgang
Shopify er stærk til commerce, men ikke nødvendigvis lige så stærk til content som fx WordPress. Blogindlæg og artikler vil derfor ofte se anderledes ud efter migreringen. Struktur, billeder, embeds, tabeller og interne links skal typisk gennemgås manuelt.
Det er en klassisk fejl at antage at blogindhold bare kan importeres og fungere perfekt bagefter. Kontroller især overskrifter, billeder, tabeller, produktlinks i indhold, call-to-actions, interne links og gamle downloads.
Design og tema
Tema er ikke bare æstetik
Temavalget påvirker performance, fleksibilitet, sektioner, app-kompatibilitet og hvor let shoppen kan vedligeholdes.
En god designmigrering bevarer det genkendelige fra brandet men oversætter det til den nye platforms styrker. Den prøver ikke at kopiere den gamle shop 1:1 hvis det skaber kompleksitet uden gevinst. Den rigtige tilgang er at vælge et modent og gennemtestet tema, bygge med sektioner og templates, holde custom kode fokuseret, dokumentere alle tilpasninger og teste på mobil tidligt.
Det du bør undgå
Undgå at købe tema efter udseende alene. Vurder fleksibilitet i sektioner, collection- og produktskabeloner, performance, app-kompatibilitet, dokumentation og supportniveau.
Undgå også at lægge for mange visuelle særønsker ind for tidligt. Først skal kerneflows fungere: navigation, collections, produktside, søgning, kurv, checkout og ordrebekræftelser. Alt andet kommer bagefter.
Integrationer, betaling og fragt
Når teams taler om migrering, tænker de ofte på produkter og design. I praksis er integrationer ofte den største risiko.
Klassificer dine integrationer
Jeg deler altid integrationer i tre: “must-have ved go-live”, “kan vente” og “erstattes”. Det skarpe cut tidligt i projektet forhindrer scope creep sent i projektet.
Kortlæg: betalingsudbydere, regnskab, ERP, lager, fragt, email marketing, loyalty, anmeldelser, cookie consent, analytics, Merchant Center og eventuelle POS-systemer.
Typisk dansk Shopify-setup
Et typisk setup for danske shops:
| Behov | Løsning | Noter |
|---|---|---|
| ERP/regnskab | e-conomic via Storebuddy eller Visma e-conomic Seamless Sync | Match moms og ordredata |
| Email marketing | Klaviyo via Klaviyos Shopify-app | Migrer flows manuelt |
| Fragt | Shipmondo, Webshipper eller nShift | Understøtter PostNord, GLS, DAO |
| Betaling | Shopify Payments eller Quickpay + MobilePay | Test med rigtige beløb før launch |
| Analytics | Google & YouTube channel (gratis) | Dækker GA4, Merchant Center, ads |
| Live chat | Shopify Inbox (gratis) | God under hypercare |
| Oversættelser | Shopify Translate & Adapt (gratis) | Til flere markeder |
| Cookie consent | Shopifys built-in eller Consentmo | Built-in dækker kun Shopify-cookies |
Har virksomheden mere komplekse økonomi- eller ERP-systemer (Navision, Business Central, Uniconta), skal integrationssporet planlægges tidligere og mere detaljeret.
Betaling og fragt må ikke være en launch-overraskelse
Betalings- og fragtopsætning skal være afklaret tidligt. Det gælder især indløseraftaler, betalingsvindue, MobilePay-flow, fragtregler, fragtpriser, label-print og ordreimport til fragtplatform. Test det hele med rigtige betalinger i live-mode før go-live - ikke kun i sandbox.
Bruger du en tredjepartsudbyder til betaling i stedet for Shopify Payments, skal du også regne Shopifys tredjeparts-transaktionsgebyrer med (2% på Basic, 1% på Shopify, 0,6% på Advanced).
Shipping zones og markets
Opsæt shipping zones og vær opmærksom på sammenhængen mellem Markets og shipping zones: et land/region skal være i et aktivt market for at kunne sælge dertil. Opsæt shipping profiles og rates per zone. Test mindst tre leveringsmetoder før go-live.
Søgning, filtre og merchandising
Filtre er ofte mere begrænsede end man tror
Mange forventer at filtre og søgning kan overføres direkte. Det kan de sjældent. Der skal tages stilling til hvilke attributter der skal bruges som filtre, og hvordan de vedligeholdes.
Hvis kunder forventer at kunne søge på varenummer, skal det tænkes ind. Det gælder særligt i fagbutikker, B2B og shops med mange tekniske produkter.
Gør tre ting rigtigt her
En god migrering definerer hvilke filtertyper der reelt er vigtige, validerer metadata før temaudvikling, og tester søgning og filtrering med rigtige kundescenarier.
Den dårlige migrering bygger filtrene sent og opdager først efter launch at værdier er inkonsistente, tomme eller for mange.
SEO og analytics migrering
Bevar trafikken og genskab tracking
SEO og tracking er ofte det første der går galt ved en migrering, og det sidste man opdager. Fordi data halter bagud, ser man typisk ikke konsekvensen før 2-4 uger efter go-live, og da er skaden sket.
Sitemap og indeksering
Shopify genererer automatisk sitemap.xml. Efter go-live skal du verificere det nye domæne i Google Search Console og indsende det nye sitemap. Kontroller at sitemap.xml kan hentes uden login - hvis staging-shoppen stadig er password-beskyttet, kan søgemaskiner ikke tilgå sitemap. Fjern password-protection senest ved go-live.
Gennemgå coverage og 404-fejl i Search Console 48-72 timer efter go-live. Det er her du fanger de sidste redirect-huller.
On-page SEO
Shopify har indbygget “Edit website SEO” der lader dig redigere title og meta description på hver side. Bevar eller planlæg nye handles konsekvent, opdater interne links i navigation, footer, blog og policies, og tjek noindex/robots-regler efter launch (kun hvis der er en specifik årsag til at ændre dem).
Shopify tillader også redigering af robots.txt via robots.txt.liquid i theme-koden - brug det kun hvis du ved præcis hvad du laver.
GA4 og tracking cutover
Shopifys anbefalede GA4-opsætning sker via “Google & YouTube” channel-appen. Vigtig detalje: GA4 kan ikke tracke events mens shoppen er password-beskyttet. Det betyder at real-time events først virker efter password-protection fjernes ved go-live.
Min tracking cutover-model:
- Før migrering: dokumenter nuværende events, konverteringer og UTM-standard i den gamle shop
- Under staging: test at baseline events affyres på den nye shop (
page_view,add_to_cart,begin_checkout,purchase) - Ved go-live: fjern password-protection og verificer real-time events samme time
- Uge 1: sammenlign events med baseline, fang afvigelser tidligt
Pixels, consent og tredjeparts tracking
Shopifys built-in cookie banner dækker Shopify-specifikke pixels og cookies. Tredjeparts pixels (Meta, TikTok, Google Ads remarketing) kan kræve særskilt consent-logik eller en dedikeret consent-app.
Test altid: klik “afvis alle” og verificer at ingen ikke-nødvendige tags fyrer. Dette er det oftest oversete punkt i migreringer.
Google Shopping og produktfeeds
Feedet er direkte omsætning
Et produktfeed er ikke et sideprojekt. Hvis feedet er forkert, sender du annoncebudget mod ugyldige, forkerte eller irrelevante produkter.
Hvad der typisk går galt
De samme problemer går igen: udsolgte varer ligger stadig i feedet, custom labels er væk eller ændret, variantdata matcher ikke, nye URL’er er ikke opdateret i alle systemer, manglende eller forkert GTIN reducerer synlighed, og billeder eller kategorier er ikke valideret korrekt.
Hvad du skal teste før og efter launch
Kontroller mindst: at alle produkt-URL’er peger til ny shop, at udsolgte produkter håndteres korrekt, at brand/GTIN/kategori er komplette, at billeder er valide, at custom labels virker som planlagt, og at feedet ikke indeholder gamle eller ikke-kanoniske URL’er.
En god migrering har altid en feed-ejer. En dårlig migrering håber at appen ordner det.
Jura og compliance
En migrering ændrer behandlingskæden: nye leverandører, nye underdatabehandlere, nye dataflows. Compliance er derfor ikke noget der kommer til sidst - det er en del af migreringsprojektet fra starten. Det gælder især for dig med dansk webshop, hvor både GDPR, cookiebekendtgørelsen, moms og forbrugerret rammer samtidigt.
GDPR og databehandleraftaler
Datatilsynet fastslår at du som dataansvarlig skal sikre en skriftlig databehandleraftale når du bruger databehandlere, og at aftalen skal opfylde kravene i art. 28. Du skal også føre passende tilsyn med dine databehandlere.
Shopify er en databehandler for kundedata. Shopifys egen Data Processing Addendum (DPA) beskriver at parterne har separate forpligtelser, og at Shopify ikke har pligt til at fortolke eller rådgive om dine forpligtelser - det er dit ansvar.
Praktiske actions ved migrering:
- Lav en leverandørmatrix: navn, rolle (dataansvarlig/databehandler), datatyper, formål, datalagring, underdatabehandlere, aftale-link, kontrolfrekvens
- Få DPA på plads med Shopify og alle nye apps der behandler kundedata
- Opdater din egen privacy policy til at reflektere det nye setup
- Dokumenter hvilke datapunkter der flyttes (kunder, ordrer) og behandlingsgrundlag for hver type
- Planlæg proces for kunders rettigheder (indsigt, sletning, dataportabilitet)
Datatilsynet understreger også at samtykke kun er ét af flere behandlingsgrundlag, og at du typisk ikke skal bruge samtykke for at behandle kundedata når behandlingen er nødvendig for at levere en bestilling (kontrakt-grundlag).
Cookies og samtykke
Cookiebekendtgørelsen kræver samtykke til ikke-nødvendige cookies og sporingsteknologier. Digitaliseringsstyrelsens cookievejledning fremhæver at det skal være lige så let at afvise som at acceptere - “accepter alle” og “afvis alle” skal være ligestillede.
Datatilsynet understreger at du ofte også skal overholde databeskyttelsesreglerne ud over cookiebekendtgørelsen, fordi cookies kan udgøre personoplysninger.
Ved migrering skal du:
- Auditere alle tags og pixels før launch (gammel shop + staging)
- Genbesøge cookie banner - Shopifys built-in dækker kun Shopify-cookies
- Teste at “afvis alle” reelt blokerer tredjeparts tags
- Beholde samtykkelog for dokumentation
Moms og OSS/IOSS
Sælger du for mere end 50.000 kr. i momspligtig omsætning, skal du momsregistreres. Skattestyrelsen beskriver både EU-/ikke-EU- og importordningerne under One Stop Shop (OSS). OSS er relevant ved salg til privatpersoner i EU over 10.000 EUR per år.
Shopify har EU VAT-opsætning under Settings → Taxes and duties → European Union, inkl. OSS-registrering. Bruger du importordningen (IOSS) til forsendelser under 150 EUR real værdi, skal det også afspejles.
Skattestyrelsens juridiske vejledning beskriver faktureringspligt som hovedprincip for momspligtige leverancer og krav til fakturaindhold. Ikke-momsregistrerede virksomheder må ikke anføre momsbeløb på faktura.
Ved migrering skal du:
- Afklare om virksomheden bruger OSS og hvor moms afregnes
- Teste at momssatser er korrekte per marked før go-live
- Sikre at faktura-setup lever op til bogføringslovens krav (integrationen til e-conomic eller tilsvarende)
- Konsultere revisor/rådgiver ved tvivl - Shopify understreger selv at moms er merchantens ansvar
Erhvervsstyrelsen beskriver kravene i bogføringsloven og digital bogføring. Sørg for at dine økonomidata kan eksporteres korrekt, at integrationsflow til bogføringssystem kan genskabes, og at dokumentationskrav understøttes af både system og proces.
Forbrugerregler (B2C)
Ved nethandel til forbrugere har du oplysningspligt og 14 dages fortrydelsesret som udgangspunkt. Forbrugerombudsmanden henviser til forbrugeraftaleloven, markedsføringsloven og e-handelsloven.
Genbesøg ved migrering: handelsbetingelser, returpolitik, kontaktoplysninger og ordrebekræftelses-tekster. Sørg for at hele kunderejsen (checkout + emails) afspejler de lovpligtige oplysninger.
Test og gennemgang
En god pre-launch test dækker tre områder: teknik, SEO og tracking. Den dårlige launch-dag er den hvor teamet opdager at noget ikke er testet.
Teknisk test
Test produktvisning (varianter, pris, lager, billeder). Test checkout (betaling, fragt, rabatter, emailkvittering) på minimum tre devices. Test orderflow (fulfillment, tracking, refund). Test høj-variant produkter specifikt hvis du har over 100 varianter per produkt. Test ordrebekræftelses-emails. Lad en person udenfor projektgruppen teste - det er her du fanger det teamet er blevet blind overfor.
SEO-test
Test 301-redirects på top-URL’er fra din audit. Test at sitemap.xml kan hentes uden login. Test at top landing pages er indekserbare (ingen noindex på sider der skal rankes). Stikprøve-test interne links.
Tracking-test
Test at GA4 er implementeret. Valider key events: page_view, add_to_cart, begin_checkout, purchase. Test at consent fungerer: klik “afvis alle” og verificer at ingen ikke-nødvendige tags fyrer. Fjern password-protection før go-live og verificer real-time events samme time.
Testordre-matrix
Shopify anbefaler eksplicit at teste hele købsflowet med testordrer. Min matrix dækker altid:
| Scenario | Betalingsmetode | Device | Market | Forventet resultat |
|---|---|---|---|---|
| Standard køb | Kort | Desktop | DK | Fuldt flow OK |
| Mobil køb | MobilePay | iPhone | DK | Fuldt flow OK |
| Mobil køb | MobilePay | Android | DK | Fuldt flow OK |
| Rabatkode | Kort | Desktop | DK | Rabat anvendes korrekt |
| Fri fragt threshold | Kort | Desktop | DK | Fri fragt tilbydes |
| EU-køb | Kort | Desktop | SE/DE | Korrekt moms anvendes |
| Refund | Kort | Desktop | DK | Tilbagebetaling gennemføres |
| Gavekort | Gavekort | Desktop | DK | Balance opdateres |
Test mindst én fuld ordre per række. Det tager tid, men det fanger fejl du ikke kan fange på nogen anden måde.
Lancering step by step
En launch er ikke en knap du trykker på. Det er en planlagt overgang med klare trin.
Frys ændringer i den gamle shop
Eksporter produkter, kunder, ordrer, redirects og anden forretningskritisk data. Gem backup og bevar adgang til den gamle løsning. Du kommer til at skulle slå noget op om nogle uger, og det skal være muligt.
Kør pre-launch gennemgang
Test produkter, collections, søgning, filtre, checkout, mails, betaling og tracking ifølge testmatrixen ovenfor. Lad en person udenfor projektgruppen teste.
Gennemgå redirects igen
Kontroller toptrafik-sider, topindtjenende produkter, kategorisider, brand-sider og gamle kampagne-URL’er. Hvert af disse skal lande det rigtige sted, ikke bare på forsiden.
Skift domæne og DNS
Planlæg i lavtrafikperiode. Undgå fredage, weekender og højsæsoner. Gå live tidligt om morgenen så du har en hel dag til at fixe ting. Sørg for at relevante personer er tilgængelige - tekniker, content-ansvarlig, kundeservice og marketing skal alle kunne nås.
Opdater feeds, annoncer og tracking
GA4, Meta Pixel, TikTok, Merchant Center, email events og annonce-URL’er skal kontrolleres samme dag. Det er ikke noget der kan vente til mandag. Samme gælder fysiske ting som fakturaer, receipts og link-i-bio.
Fjern password-protection
Først her bliver tracking og indeksering aktivt. Hvis du glemmer det, kan GA4 ikke tracke events og Google kan ikke hente sitemap.
Start overvågningen med det samme
404-fejl, crawlfejl, feedfejl og ordreafvigelser skal fanges i de første kritiske dage. Hav et dashboard åbent og lad det køre.
Rollback-plan
Før du går live, skal du have en rollback-plan for hvad der udløser rollback og hvordan den udføres. Det er ikke pessimisme - det er forsikring.
Triggers der udløser rollback
- Betaling fejler for over X% af checkouts i 30 minutter (jeg bruger typisk 10% som tærskel)
- Shipping rates viser “ikke tilgængelig” i primært market
- Kritiske 404’er på top 10 landing pages
- Ordrer kommer ikke igennem til ERP/fragtpartner
- Lagerdata er synligt forkerte på frontend
Rollback-steps
- Stop marketing spend og noter tidspunkt. Pause alle betalte kampagner.
- Revert DNS til den tidligere host (forudsat at gammel shop stadig kører).
- Kommuniker tydeligt på site og til kundeservice: “Vi oplever tekniske udfordringer og har midlertidigt skiftet tilbage.”
- Lav efteranalyse af hvad der gik galt og hvordan det forhindres næste gang.
- Planlæg ny cutover med rettede fejl - ikke før problemet er løst.
Rollback er en seriøs beslutning der koster tid og troværdighed. Men den er langt billigere end at lade en ødelagt webshop køre videre.
Post-lancering og opfølgning
De første uger afgør ofte om migreringen lykkes. Det er normalt at se uro i organisk trafik, indeksering, Shopping-performance, annoncekvalitet, søgning i shoppen og kundeservicehenvendelser. Det unormale er ikke udsving. Det farlige er manglende opfølgning.
Uge 1 - hypercare
Tjek dagligt: Search Console-fejl, 404’er, Merchant Center-produkter, konverteringsflow, ordrebekræftelser, kundeservice-input, top-landing pages, real-time GA4 events og annonce-URL’er. Lav nye redirects så snart nye 404’er dukker op. Kontakt kunder der har loginproblemer proaktivt.
Uge 2-4 - stabilisering
Sammenlign konverteringsrate, AOV og traffic med baseline fra pre-migration auditen. Tjek Core Web Vitals (performance er ofte anderledes på Shopify, både godt og skidt). Gennemgå ranking-tab systematisk - er top landing pages stadig i top 10? Har du mistet featured snippets?
Efter 30 dage - retrospektiv
Lav en retrospektiv med hele teamet. Hvad kostede mere end ventet? Hvad fungerede bedre? Hvilke integrationer skal udskiftes næste gang? Dokumenter læringen. En god migrering anser ikke projektet for afsluttet ved DNS-skift - den har en plan for de første 30 dage og tid sat af til de første 90.
Risikoanalyse og mitigering
Inden projektet starter bør risiciene listes, vurderes og mitigeres aktivt. Det er hurtigere end du tror, og det sparer timer senere.
| Risiko | Årsag | Konsekvens | Mitigering | Test |
|---|---|---|---|---|
| SEO-tab | Manglende redirects | Trafik/omsætningsfald | Redirect-map + crawl | 404-audit i Search Console |
| Tracking brud | Password protection, consent fejl | Manglende data | Fjern password ved launch + consent-test | Real-time GA4 |
| Variant/produkt-fejl | Apps understøtter ikke >100 varianter | Forkert UX/data | Test high-variant produkter tidligt | Theme + app QA |
| Importfejl | CSV format/afhængigheder | Datatab/omarbejde | Subset-test + split filer | Import log review |
| Payment brud | Forkert indløserkonto, MobilePay ikke aktiveret | Tabt salg | Test mindst 3 betalingsmetoder live | Testordre-matrix |
| Login-klager | Kunder kan ikke logge ind | Kundeservice-bølge + tab af brand | Kommunikér tydeligt + FAQ klar | Login-flow test |
| DPA mangler | Nye apps ikke dækket af aftaler | GDPR-brud | Leverandørmatrix + DPA-review | Juridisk review |
| Moms-fejl | Forkert opsætning ved go-live | Skattemæssig eksponering | Revisor-review + testordrer pr. marked | Faktura-audit |
| Feed-fejl | URL’er opdateres ikke i Merchant Center | Spildt annoncebudget | Feed-audit før + efter launch | Merchant Center log |
| Blog-brud | Billeder/links ødelagte | Content-tab | Manuel gennemgang post-import | Stikprøve-test |
Typiske fejl jeg ser
Starte uden komplet kortlægning
Det skaber blinde huller i redirects, feeds og indhold. Hver gang jeg har set et migreringsprojekt gå skævt, kunne det spores tilbage til noget der ikke blev kortlagt i starten.
Ændre for meget på én gang
Ny platform, ny struktur, nyt design, nye kategorier, nyt brandhierarki og nye apps samtidig øger risikoen voldsomt. Del ændringerne op: flyt først, forbedr bagefter.
Undervurdere redirects
Stadig den mest klassiske fejl. Den koster organisk trafik i måneder hvis den ikke bliver fanget tidligt. Redirects er ikke en “launch-day opgave” - de skal planlægges, testes og vedligeholdes i måneder efter.
Glemme password-protection på staging
Du starter med password-beskyttet staging (godt), men glemmer at fjerne den ved go-live. Resultat: GA4 tracker intet, Google kan ikke hente sitemap, og du opdager det først dage senere.
Glemme gamle assets
PDF’er, størrelsesguides, gamle billeder, blogbilleder og supportfiler bliver ofte overset. De har typisk gode backlinks og må ikke ende som 404.
Undervurdere kundelogin
Kunder bliver frustrerede hvis de ikke forstår hvorfor deres gamle kodeord ikke virker. Det er ikke en teknisk fejl men en kommunikationsfejl.
Stole blindt på apps
Apps kan hjælpe, men de kan også skabe kompleksitet eller konflikt med tema og struktur. Test dem enkeltvis og dokumenter deres opsætning.
Forbigå compliance
“Det tager vi efter launch” er det klassiske svar. Problemet er at cookies, consent, DPA’er og moms ikke kan efterrepareres uden risiko. Få det på plads før go-live.
Afslutte projektet for tidligt
Post-launch er en del af migreringen, ikke en ekstra service. Sæt budget og tid af til de første 30 dage efter go-live.
Konklusion
En webshop-migrering er ikke et designprojekt og heller ikke bare en teknisk flytning. Det er et forretningsprojekt med direkte betydning for synlighed, omsætning, drift og kundeoplevelse.
Den dårlige migrering fokuserer på at komme live. Den gode migrering fokuserer på at komme godt videre.
Hvis du planlægger grundigt, kortlægger alt, respekterer redirects, tester feeds og integrationer, håndterer compliance seriøst, kommunikerer tydeligt om kundelogin og tager post-launch alvorligt, kan migreringen blive en af de bedste investeringer i webshoppen.
Denne guide har en parallel Shopify-migreringstjekliste du kan arbejde dig igennem punkt for punkt - med 6 faser fra foranalyse til hypercare og alle de konkrete kontrolpunkter samlet ét sted.
Står du foran en migrering og vil have en second opinion inden du går i gang, så book en gratis snak - jeg har hjulpet med nok af dem til at vide hvor det typisk går skævt.
Flere guides
Start Shopify-webshop - den komplette guide (2026)
Alt jeg ved om at starte en webshop på Shopify i Danmark. Plan-valg, tema, betaling, fragt, legal, SEO og launch. Skrevet til webshop-ejere, ikke udviklere.
Laes mereShopify internationalisering - den komplette guide
Sådan går du fra dansk Shopify-shop til international forretning uden at drukne i Markets-setup, moms eller valutafejl. Praksisnær gennemgang af Shopify Markets, Translate & Adapt, flersproget SEO, EU-moms, multi-currency og launch pr. marked.
Laes mere