Live case: colchoneriasgonzalez.com rebuilt onto PrestaShop 9.1.4 on Plesk (PHP 8.3), Hummingbird plus custom work, new database, controlled cutover.
A PrestaShop 9 migration is several host and cache problems stacked on the software upgrade. Treating it as a button in production is how shops go dark.
What actually broke
- MySQL collation assumptions versus MariaDB utf8mb4 on the new database.
- nginx 403 on the back office after renaming the admin folder — a Plesk/nginx path rule, not “PrestaShop 9 is broken”.
- Twig cache and keys that still pointed at the old admin directory after rename.
How it was handled
Collation aligned so PrestaShop 9 could write. Admin path and nginx rules matched the renamed folder. Twig cache cleared and keys regenerated. Front office and back office checked after cutover. No invented PageSpeed trophy; the goal was a store that opened and an admin that logged in.
If you need a PrestaShop 9 move, I plan staging, modules, redirects and host quirks first. Migrations · Request a quote.