Hoe Magento 2 te Upgraden: Een Veilige Stap-voor-Stap Upgrade Gids

Het upgraden van Magento 2 hoeft niet eng te zijn. Deze stapsgewijze gids behandelt planning, compatibiliteitscontroles, Composer-opdrachten, testen en terugdraaien, zodat je winkel veilig en stabiel blijft.

Het up-to-date houden van Magento 2 is essentieel. Elke release brengt beveiligingsfixes met zich mee, en oudere versies ontvangen uiteindelijk geen patches meer. Toch stellen veel winkels upgrades uit omdat de laatste slecht is verlopen.

De meeste mislukte upgrades worden veroorzaakt door slechte voorbereiding, niet door Magento zelf. Deze gids toont een veilige, herhaalbare procedure.

Waarom upgraden?

  • Beveiliging: oudere versies stoppen met het ontvangen van beveiligingspatches. Een niet-gepatchte winkel is een doelwit voor kaartskimmers en aanvallen.
  • Compatibiliteit: nieuwe PHP, MySQL/MariaDB, OpenSearch en andere serviceversies vereisen nieuwere Magento-versies.
  • Prestaties en bugfixes
  • Ondersteuning voor extensies: leveranciers stoppen na verloop van tijd met de ondersteuning van oude versies.

Soorten upgrades

Type Voorbeeld Risico
Beveiligingspatch Een geïsoleerde beveiligingspatch toepassen Laag
Patch-release 2.4.x-p1 naar 2.4.x-p2 Laag tot gemiddeld
Kleine/functie release 2.4.x naar 2.4.y Gemiddeld tot hoog
Infrastructuurverandering Nieuwe PHP- of databaseversie samen met Magento Hoog

Controleer de release-opmerkingen en levenscyclusbeleid van Adobe om te weten welke versies worden ondersteund en tot wanneer.

Stap 1: Controleer systeemvereisten

Elke Magento-release ondersteunt specifieke versies van:

  • PHP
  • MySQL of MariaDB
  • OpenSearch (of Elasticsearch voor oudere versies)
  • Redis, Varnish, RabbitMQ
  • Componist

Vergelijk de vereisten van je doelsysteem met je server. Het upgraden van de infrastructuur is vaak onderdeel van het project.

Stap 2: Audit extensies en aanpassingen

Dit is waar de meeste problemen vandaan komen.

  1. Lijst alle modules:
bin/magento module:status
composer show | grep -v magento/
  1. Controleer voor elke derdepartijextensie of de leverancier uw doelaanpassing ondersteunt.
  2. Controleer aangepaste modules op verouderde code, verwijderde klassen en gewijzigde interfaces
  3. Controleer thema-overriding: sjablonen die van de kern zijn gekopieerd, moeten mogelijk worden bijgewerkt
  4. Verwijder extensies die je niet gebruikt

Stap 3: Bereid een staging-omgeving voor

Upgrade productie nooit als eerste. Je staging moet overeenkomen met productie:

  • Dezelfde PHP- en serviceversies als de doel setup
  • Een recente kopie van de productiedatabase (geanonimiseerd)
  • Dezelfde configuratie en extensies

Stap 4: Maak een back-up van alles

  • Database dump
  • Code (je Git-repository)
  • app/etc/env.php en app/etc/config.php
  • Media bestanden

En zorg ervoor dat je weet hoe je ze kunt herstellen. Een terugrolplan maakt deel uit van de upgrade.

Stap 5: Voer de upgrade uit op staging

Schakel de onderhoudsmodus in:

bin/magento maintenance:enable

Werk de Magento versievereiste bij met Composer (voorbeeld Magento Open Source):

composer require-commerce magento/product-community-edition 2.4.x-pX --no-update
composer update

De require-commerce opdracht komt van de Magento’s Composer root update plugin, die ook andere root afhankelijkheden bijwerkt. Als alternatief kunt u composer.json handmatig bijwerken en composer update uitvoeren.

Dan:

rm -rf generated/code/* var/cache/* var/page_cache/* var/view_preprocessed/*
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento indexer:reindex
bin/magento cache:flush
bin/magento maintenance:disable

Vervang 2.4.x-pX door uw doelspecificatie. Voor meer opdrachten, zie mijn Magento 2 opdrachten spiekbriefje.

Stap 6: Fouten corrigeren

Veelvoorkomende problemen:

  • Composer conflicten: een extensie vereist een oudere versie van een afhankelijkheid. Werk de extensie bij of vervang deze.
  • Compilatiefouten: aangepaste code gebruikt verwijderde klassen of gewijzigde methodehandtekeningen.
  • Database schema fouten: het declaratieve schema van een module conflicteert met de nieuwe versie.
  • Frontendproblemen: verouderde sjabloonoverschrijvingen in uw thema.

Stap 7: Grondig testen

Minimaal:

  • Home, categorie, product, zoekpagina’s
  • Voeg toe aan winkelwagentje, winkelwagentje, afrekenen met elke betaal- en verzendmethode
  • Klantregistratie, inloggen, accountpagina’s
  • Admin: bestellingen, facturen, kredietnota’s, productopslag, importen
  • E-mails (bestelbevestiging, wachtwoord reset)
  • Integraties: ERP, PIM, feeds, analytics, tracking
  • Cron-taken en indexers
  • Prestatie vergeleken met voorheen

Geautomatiseerde tests helpen enorm bij herhaalde upgrades.

Stap 8: Implementeren in productie

  • Kies een rustig moment (niet voor een verkoop of vakantie)
  • Gebruik je normale implementatiepipeline, geen handmatige wijzigingen op de server
  • Monitor logs (var/log/exception.log, var/log/system.log), fouten en conversieratio na de release

Rollbackplan

Als er iets ernstig misgaat:

  1. Zet de onderhoudsmodus aan
  2. Herstel de vorige code-release
  3. Herstel de databaseback-up (opmerking: bestellingen die na de back-up zijn geplaatst, hebben aandacht nodig)
  4. Flush caches en schakel onderhoud uit

Bestellingen die zijn geplaatst tussen de upgrade en een rollback vormen het grootste risico, dus houd het venster kort en test goed van tevoren.

Hoe vaak moet je upgraden?

Plan om beveiligingspatches snel na release toe te passen en voer grotere versie-upgrades minstens één keer per jaar uit. Kleine, regelmatige upgrades zijn veel gemakkelijker dan een grote sprong om de paar jaar.

Veelgestelde vragen

Hoe lang duurt een Magento-upgrade?

Een patchupgrade op een schone winkel kan uren duren. Een versie-upgrade met veel extensies en infrastructuurwijzigingen kan weken duren, inclusief testen.

Kan ik versies overslaan?

Ja, je kunt direct upgraden naar de doelversie, maar bekijk de release-opmerkingen van elke versie ertussen voor breaking changes.

Moet ik tegelijkertijd upgraden naar Hyvä?

Nee. Houd upgrades en frontend-projecten gescheiden waar mogelijk, om risico’s te verminderen. Wanneer je er klaar voor bent, zie mijn Luma naar Hyvä migratiegids.

Heeft u een veilige Magento-upgrade nodig?

Ik plan en voer upgrades van Magento 2 en Adobe Commerce uit, inclusief extensie-audits, infrastructuurupdates en testen. Bekijk mijn Magento 2 en Hyvä service of vraag een upgradeplan aan.