The Complete Magento Upgrade Checklist 2026
A Magento upgrade checklist that prevents broken deployments — audit extensions, rehearse on staging, follow the correct command order, and keep a rollback you have actually tested.
A disciplined Magento upgrade checklist is what separates a routine maintenance window from a weekend of emergency debugging. Magento upgrades fail in predictable ways — an abandoned extension with no compatible release, a PHP version mismatch, commands run in the wrong order, or a rollback plan nobody tested. This Magento upgrade checklist walks the full sequence: pre-upgrade audit, staging rehearsal, the upgrade itself, regression testing, and the production window.
Search intent: procedural — Magento developers and agencies planning a 2.4.x version or security upgrade. We cover the pre-upgrade audit, extension compatibility, staging rehearsal, correct command sequence, what to test, and the production cutover. It pairs with our server requirements and CI/CD deployment guides.
Magento Upgrade Checklist: Before You Touch Anything
The first section of the Magento upgrade checklist is pure reconnaissance, and it determines whether the rest goes smoothly. Record your exact current version (see the Adobe release lifecycle policy for supported lines) with bin/magento --version — not “2.4.7” but the precise patch level, because patch level determines which upgrade paths and isolated patches apply. Confirm the target version and check its requirements against your infrastructure: PHP, MySQL, search engine and Redis versions all shift across 2.4.x releases, and a version mismatch surfaces as a cryptic Composer failure rather than a helpful message.
Then inventory customisation. List every third-party extension with its version, note every core override or preference in your custom modules, and identify theme customisations that may depend on templates the upgrade changes. This inventory is the single most valuable artefact in the Magento upgrade checklist, because it tells you where breakage will occur before you cause it.
The extension audit is where upgrades die. Check every third-party module for a release compatible with your target version before committing to the upgrade. An abandoned extension with no compatible version means a decision — replace it, fork and patch it, or postpone — and that decision is far cheaper made in planning than discovered mid-deployment with the site in maintenance mode.
Magento Upgrade Checklist: Rehearse on Staging
No step in the Magento upgrade checklist is skipped more often or more expensively than the staging rehearsal. Build staging from a genuine production clone — current database, current media, same PHP and service versions — because an upgrade that succeeds against sample data proves very little. Real catalogues surface real problems: data migrations that take hours, extension conflicts, and custom code depending on changed core behaviour.
Rehearse the complete process on staging and time it. That timing is what lets you size the production maintenance window honestly rather than guessing. Note every manual fix required, because those become part of your production runbook. If the rehearsal fails, you have lost nothing; if you skip it, you discover the same failure with customers watching.
Magento Upgrade Checklist: The Correct Command Sequence
Magento upgrades follow a specific command order, and deviating from it causes most of the “upgrade broke everything” reports. The sequence below is the canonical path for a Composer-based upgrade — the core of any Magento upgrade checklist.
# 0. backup FIRST - database + media + code mysqldump -u user -p dbname | gzip > backup-$(date +%F).sql.gz tar czf media-$(date +%F).tar.gz pub/media # 1. maintenance mode on bin/magento maintenance:enable # 2. update the metapackage to the target version composer require magento/product-community-edition=2.4.9 --no-update composer update --with-dependencies # 3. schema + data upgrade, then compile bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f # 4. reindex + clear, then reopen bin/magento indexer:reindex bin/magento cache:flush bin/magento maintenance:disable
Three ordering rules worth internalising. setup:upgrade must run before setup:di:compile, because compilation depends on the updated schema and module list. Static content deployment comes after compilation. And in production mode, never run compilation or static deployment against a live directory without maintenance mode enabled — customers will hit half-generated assets. Adobe’s upgrade guide documents the supported paths in detail.
| Phase | Action | Common failure if skipped |
|---|---|---|
| Audit | Version, requirements, extensions | Composer conflict mid-upgrade |
| Backup | Database, media, code | No rollback path |
| Staging | Full rehearsal on prod clone | Unknown window length, surprise breakage |
| Maintenance | Enable before upgrading | Customers hit broken pages |
| setup:upgrade | Schema + data scripts | DI compile fails |
| di:compile | Generate DI + interceptors | Class-not-found errors in production |
| Testing | Checkout, payment, admin | Broken revenue path discovered by customers |
Magento Upgrade Checklist: Testing and Going Live
Post-upgrade testing should follow the money. Work the complete purchase journey on staging: browse a category, filter with layered navigation, view a configurable product, add to cart, apply a coupon, and complete a real checkout with each active payment method. Payment integrations are the most fragile part of any Magento upgrade checklist because they combine third-party code with core checkout changes.
Then verify the operational layer: admin login and 2FA, order placement and invoicing, email delivery, cron execution (bin/magento cron:run and check schedules are running), indexer status, and search results. Check the logs in var/log/ for new errors that are not yet visible in the UI.
For the production window: schedule during genuine low traffic, communicate the window, keep the tested rollback immediately available, and have someone monitoring order flow for the first hours afterwards — a store that looks fine but has stopped taking orders is the failure mode that costs most. Finally, apply any outstanding security patches for the new version, since an upgrade does not automatically include isolated patches published after that release; our APSB26-73 guide shows how those work. Our Magento team plans and executes upgrades with tested rollback.
What we have learned running Magento upgrades
The extension audit predicts the whole project. We spend disproportionate time on it deliberately, because an abandoned module with no compatible release changes the scope entirely — from a maintenance task into a replacement project. Finding that in planning rather than mid-deployment is the difference between a scheduled window and an emergency.
Staging on sample data is not a rehearsal. Upgrades that pass against a small demo catalogue routinely fail against a real one, where data migration scripts run for hours. We clone production properly and time the run, because that timing is what makes the maintenance window a commitment rather than a guess.
Test the rollback, not just the upgrade. Teams take a backup and assume recovery works. We verify the restore path before the window opens — the moment you need a rollback is the worst possible time to discover the dump was incomplete or nobody has the credentials.
Frequently Asked Questions About the Magento Upgrade Checklist
What order do Magento upgrade commands run in?
Enable maintenance mode, update the metapackage with Composer, then run setup:upgrade, setup:di:compile and setup:static-content:deploy in that order, followed by reindex, cache flush and disabling maintenance. The ordering matters — di:compile depends on the updated schema from setup:upgrade, and static content comes after compilation.
What is the most common cause of failed Magento upgrades?
Incompatible third-party extensions. A module with no release supporting your target version causes Composer conflicts or runtime errors, and if discovered mid-deployment it forces a decision under pressure. Auditing every extension for target-version compatibility before starting is the highest-value step in any Magento upgrade checklist.
Do I need staging to upgrade Magento?
Yes, and it should be a genuine production clone — real database, real media, matching PHP and service versions. Upgrades that succeed against sample data routinely fail against real catalogues, where data migrations take far longer and extension conflicts surface. The rehearsal also tells you how long the production window needs to be.
What should I test after a Magento upgrade?
Follow the money first: category browsing, layered navigation, configurable products, cart, coupons and a real checkout with every active payment method. Then admin login and 2FA, order placement and invoicing, email delivery, cron execution, indexer status and search. Finally review var/log for errors not yet visible in the UI.
Does upgrading Magento apply the latest security patches?
Not necessarily. Upgrading brings you to that release’s code, but isolated security patches published after the release still need applying separately — and they are not cumulative, so they target specific patch levels. After any upgrade, check for outstanding Adobe bulletins for your new version and apply the relevant isolated patches.
How long does a Magento upgrade take?
It depends on catalogue size, extension count and how much data migration the target version requires — which is precisely why the staging rehearsal is timed. Rehearsing against a production clone converts the maintenance window from a guess into a measured figure you can commit to and communicate.
Planning a Magento Upgrade?
Our team runs upgrades end to end — extension audit, staged rehearsal, tested rollback and post-upgrade patching.