Opgrader til Magento 2: fra Magento 1 og opdatering af Magento 2.4.x

Vil du opgradere til Magento 2, er det vigtigt at vide, at der er tale om to forskellige opgaver. Kører din webshop stadig på Magento 1, er en opgradering i praksis en ny webshop: tema og moduler skal bygges eller findes på ny, mens produkter, kunder og ordrer flyttes med et migreringsværktøj. Kører du allerede Magento 2, handler det om løbende opdateringer af Magento 2.4.x, som kan planlægges og testes, så risikoen for nedetid bliver lille.

Her gennemgår vi som Magento-udviklere hos CLKWEB, hvordan vi griber begge typer opgradering an: planlægning, test, moduler og hvordan du holder webshoppen åben undervejs.

Magento 1: hvorfor du bør opgradere til Magento 2 nu

Magento 1 nåede end of life i juni 2020. Siden da er der ikke kommet officielle sikkerhedspatches, og det betyder, at nye sårbarheder ikke bliver lukket fra centralt hold. En webshop på Magento 1 kører altså på software, der ikke længere vedligeholdes, og det bliver sværere at finde hosting, PHP-versioner og moduler, der passer til den.

Det er især et sikkerhedsproblem. En webshop håndterer kundedata, ordrer og betaling, og et hacket system kan koste både omsætning og tillid. Læs mere om, hvad du kan gøre i praksis, i vores guide til at beskytte Magento mod hackerangreb.

Konvertering fra Magento 1 er et nyt byggeri

Mange søger på "magento konvertering" i forventning om, at shoppen kan konverteres med et klik. Sådan fungerer det ikke. Magento 2 har en anden kodearkitektur end Magento 1, så:

  • Temaet skal bygges på ny. Det er samtidig en oplagt anledning til at vælge en hurtigere frontend som Breeze eller Hyvä.
  • Moduler fra Magento 1 virker ikke i Magento 2. Hver funktion skal enten erstattes af et Magento 2-modul, udvikles på ny eller droppes, hvis den ikke længere bruges.
  • Data som produkter, kategorier, kunder og ordrer flyttes med Magentos data migration tool. Værktøjet kræver typisk tilpasning, især hvis der er egne attributter eller tredjepartsmoduler med egne tabeller.

Sådan planlægger du en migrering fra Magento 1 til Magento 2

En god migrering starter med en gennemgang af den eksisterende shop, før der skrives en linje kode. Vi anbefaler denne rækkefølge:

  1. Kortlæg funktioner: Lav en liste over alle moduler og tilpasninger i den nuværende shop, og marker, hvad der stadig bruges.
  2. Find erstatninger: Undersøg, om der findes Magento 2-moduler til hver funktion, eller om det skal udvikles. Se fx vores Magento 2 moduler til fragt, checkout og ordrehåndtering.
  3. Byg tema og opsætning: Den nye shop sættes op på en testserver med design, betaling og fragt.
  4. Testmigrering af data: Kør migreringen flere gange mod testmiljøet, og kontrollér produkter, priser, kundekonti og ordrehistorik.
  5. SEO og redirects: Sammenlign URL'er mellem gammel og ny shop, og opret 301-redirects, hvor de ændrer sig, så du ikke mister placeringer i Google.
  6. Endelig migrering og go-live: Lav en sidste deltamigrering af nye ordrer og kunder lige før skiftet, og flyt domænet.

Det er netop den type projekt, vi arbejder med inden for Magento udvikling, hvor migrering fra en anden platform til Magento 2 er en fast del af opgaverne.

Magento opdatering: sådan opdaterer du Magento 2.4.x

Står du allerede på Magento 2, er opgaven mindre, men den skal gentages løbende. Adobe udgiver nye 2.4.x-versioner og sikkerhedspatches, og hvis du springer dem over i lang tid, bliver hvert spring større og mere risikabelt.

En Magento 2.4-opgradering foregår via Composer. I grove træk ser processen sådan ud:

  1. Tag en fuld backup af filer og database.
  2. Tjek systemkravene for den nye version, fx PHP-version, database og søgemaskine som OpenSearch.
  3. Opdater Magento-pakken og afhængigheder med Composer i et udviklingsmiljø.
  4. Kør setup:upgrade, kompilering og deploy af statiske filer.
  5. Test på staging, før noget kommer i produktion.

Backup er ikke kun noget, du tager før en opgradering. Med en remote backup ligger der dagligt en kopi af filer og database uden for selve serveren, så du kan gendanne til et tidligere tidspunkt.

Modulkompatibilitet og test på staging

Den største risiko ved en Magento opgradering er sjældent Magento selv, men moduler og tilpasninger. Et modul, der fungerede på den forrige version, kan give fejl, hvis det bruger kode, som er ændret.

Det skal du tjekke for hvert modul

  • Om leverandøren understøtter den nye Magento- og PHP-version.
  • Om der findes en ny version af modulet, der skal opdateres samtidig.
  • Om egne tilpasninger i temaet overskriver skabeloner, der er ændret i den nye version.

Hvad skal testes på staging?

Et staging-miljø er en kopi af webshoppen, som kunderne ikke ser. Her bør du som minimum teste søgning, kategorisider, produktsider, kurv, checkout med alle betalings- og fragtmetoder, ordreoprettelse i admin, e-mails og eventuelle integrationer til lager eller økonomisystem. Først når det hele virker, går opdateringen i produktion.

Undgå nedetid med zero downtime deployment

Ved en klassisk opdatering sættes shoppen i vedligeholdelsestilstand, mens koden kompileres og de statiske filer genereres. Det kan tage tid, og imens kan kunderne ikke handle.

Med zero downtime deployment bygges den nye version ved siden af den kørende shop, og der skiftes først, når alt er klar. Webshoppen forbliver tilgængelig, mens nye funktioner, opdateringer eller designændringer bliver rullet ud. Vores løsning fungerer med GitHub og sælges til kunder, der har fået bygget deres webshop hos os.

Bemærk, at nogle opdateringer ændrer databasen, og her kan et kort vindue med vedligeholdelse stadig være nødvendigt. Zero downtime deployment reducerer nedetiden markant ved almindelige udrulninger, men det erstatter ikke god planlægning af de store spring.

Hvem skal stå for opgraderingen?

En opgradering kræver kendskab til Composer, servermiljø, Magentos kodestruktur og de moduler, der er installeret. Mange webshop-ejere vælger derfor at lade et bureau stå for det, enten som et samlet projekt eller som en fast aftale, hvor sikkerhedsopdateringer bliver lagt ind løbende. Hos os kan det fx køres via en Magento support timebank, så du får hjælp uden binding.

Ofte stillede spørgsmål

Kan jeg opgradere fra Magento 1 til Magento 2 uden at bygge en ny shop?

Nej. Tema og moduler fra Magento 1 kan ikke bruges i Magento 2, så frontend og funktioner skal bygges eller erstattes. Data som produkter, kunder og ordrer kan derimod flyttes med Magentos migreringsværktøj.

Hvor ofte bør jeg opdatere Magento 2?

Sikkerhedspatches bør lægges ind kort efter, de udkommer. Større 2.4.x-versioner kan planlægges, men det er en god idé ikke at komme for langt bagud, da hvert spring så bliver større.

Mister jeg mine Google-placeringer ved en migrering?

Ikke nødvendigvis. Hvis URL'erne bevares eller får 301-redirects, og indhold og metadata følger med, er risikoen lille. Det skal planlægges før go-live, ikke bagefter.

Hvad koster en Magento 2-opgradering?

Det afhænger af antallet af moduler, tilpasninger og datamængde. Vi giver et konkret bud efter en gennemgang af din nuværende shop.

Står du med en Magento 1-shop, eller er din Magento 2-installation kommet bagud med opdateringerne? Kontakt os, så kigger vi på din webshop og giver dig et realistisk bud på opgaven.