PrestaShop updates: how to apply them without fear
Fear of breaking the store leaves many of them un-updated for years. With a method, updating becomes routine.
Many stores are not updated because “last time something broke”. The result is worse: a store with known vulnerabilities that becomes harder and harder to update. This is the method we use.
Patches and major versions
- Patches (9.1.4 → 9.1.5): bug and security fixes. Apply them soon.
- Minor (9.0 → 9.1): new features and internal changes. They require testing.
- Major (8 → 9): changes to PHP, Symfony and the default theme. They are a project, not an afternoon.
The method
- Copy the store to a test environment, with anonymised real data.
- Pre-check with the official update assistant: requirements, modified core files and incompatible modules.
- Update the copy, with the option to keep modules marked as incompatible so you can check whether they really fail.
- Testing: every back office screen, home page, categories, product pages, cart, checkout with each payment method, emails, invoices.
- A list of what had to be done, to repeat it the same way in production.
- Production, at a low-traffic time, with a fresh backup and the list in front of you.
config/config.inc.php (a firewall, for example) or rules to a .htaccess, they disappear without warning and the store keeps working. The assistant lists the modified core files: review that list before you start.“Incompatible” modules
The assistant marks as incompatible the modules that its catalogue says do not support the target version, and with the default option it uninstalls them, which means their configuration is lost. Before accepting, check on the copy whether they really fail and whether there is a new version of the module.
Afterwards
Regenerate thumbnails if the theme changed, clear caches, check the logs for a few days and keep an eye on orders: if something fails, you will see it there first.