Skip to content
← All articles

Guides · · 5 min read

Upgrading to PrestaShop 9: what breaks and how to prepare

PrestaShop 9 brings PHP 8.1+, Symfony 6.4 and a new product page. Here is what usually breaks during the upgrade from 1.7 or 8, the order of steps that keeps the live store safe, and a checklist to start with.

Illustration of moonlit lavender hills with an upgrade card showing the path from PrestaShop 1.7 through 8.2 to 9 and a checklist of modules, theme, PHP and checkout

PrestaShop 9 is the biggest change to the platform in years. It is faster, runs on current PHP and gets security updates for a long time. But for most stores the upgrade is not one click in the back office. Modules, the theme and the server all have to be ready first, and if one of them is not, the store can break in the middle of a working day.

This guide explains what changes in PrestaShop 9, what usually breaks, and the order of steps that lets you upgrade without stopping sales.

What changes in PrestaShop 9

Only the changes that matter for an upgrade:

  • PHP 8.1 or newer. PrestaShop 9 needs at least PHP 8.1; 9.0 works up to PHP 8.4, 9.1 and 9.2 up to 8.5. Stores on PrestaShop 1.7 usually run PHP 7.x, so the server has to change too.
  • Symfony 6.4. The framework under the back office moves to Symfony 6.4 LTS. Modules that use Symfony services, controllers or forms have to follow.
  • The old product page is gone. The new product page, introduced in 8.x, is now the only one. The old page was removed together with its hooks, so modules that added tabs or fields to it stop showing them.
  • More of the back office runs on Symfony. Pages that moved from the old controllers lose their old hooks, and modules that changed those pages need updates.
  • A new theme, Hummingbird. It is built on Bootstrap 5. Classic-based themes still work, so switching themes is a choice, not a requirement.
  • A new Admin API for integrations, next to the old Webservice.

Can you upgrade directly from 1.7?

No. From PrestaShop 1.7 you first upgrade to 8.1 or 8.2, check that everything works, and only then move to 9. The official Update Assistant module (formerly 1-Click Upgrade) follows the same path and only offers versions that match your server's PHP version.

Not sure which version your store is on? Check it by its address: it takes a few seconds and also lists the modules visible on the store's pages.

Because of the PHP gap the usual route is:

  1. PrestaShop 1.7 on PHP 7.x → PrestaShop 8.2 on PHP 7.4 or 8.1.
  2. Switch the server to PHP 8.1 or newer.
  3. PrestaShop 8.2 → PrestaShop 9.

From PrestaShop 8.1 or 8.2 you can go straight to step 2.

What usually breaks

Modules

Modules cause most upgrade problems. Typical cases:

  • The module declares that it supports versions only up to 8.x, so PrestaShop 9 refuses to install or enable it.
  • It uses PHP functions or syntax that newer PHP versions no longer accept, and the page shows a blank screen or error 500.
  • It extended the old product page, so its fields disappear from product editing.
  • It relies on Symfony or Twig parts that changed in Symfony 6.4.
  • It is no longer maintained, and there is no PrestaShop 9 version at all.

Make a list of every installed module with its author and version, then check each one: is there a PrestaShop 9 version, is it free or a paid update, is the module still used at all? Many stores find that a third of their modules can simply be removed.

Overrides

Overrides replace core classes, and when the core class changes, the override either breaks or quietly brings back old behaviour. Look in the override/ folder before the upgrade. Every file there needs a reason to stay.

The theme

A theme based on Classic usually survives the upgrade. Problems come from template changes made directly in the theme files, old JavaScript libraries, and modules that add their own templates through the theme. Test the theme on a copy: home page, category with filters, product page with combinations, cart and checkout.

Integrations

Connections to ERP, accounting, warehouses, couriers and marketplaces need the most careful testing, because errors there do not show on the screen. An order that does not reach the warehouse is only noticed when a customer writes. Test that orders, stock and prices still move both ways.

The safe order of work

  1. Make a full copy of the store, files and database, on a staging server with the target PHP version.
  2. Audit modules, overrides and the theme on that copy. Remove what is not used, and buy or ask for PrestaShop 9 versions of the rest.
  3. Run the upgrade on the copy with the Update Assistant, going through 8.2 if you start from 1.7.
  4. Fix what breaks (the most common upgrade errors and their fixes) and test the whole customer journey: search, filters, product page, cart, every payment and shipping method, order emails and invoices.
  5. Test the back office: creating and editing products, orders, refunds, and any module settings.
  6. Plan the live switch for a quiet time, with a fresh backup and a way back.
  7. Watch the first days after the switch: error logs, orders, payments and search console.

On the live store you repeat only steps 3 and 6, because everything else was solved on the copy.

Should you upgrade now?

Upgrade soon if your store runs on PrestaShop 1.7 or on PHP 7.x: neither gets security updates any more, and payment modules gradually stop supporting old versions. If you are on 8.2 and everything works, you can plan the move calmly, but do the module audit early. It shows how big the job really is. What 1.7's end of life means in practice is explained in PrestaShop 1.7 end of life, and which PHP each version needs in PrestaShop and PHP versions.

Checklist

  • List of all modules with versions and PrestaShop 9 support (a free module can make it for you)
  • Unused modules and overrides removed
  • Hosting supports PHP 8.1 or newer
  • Staging copy with the target PHP version
  • Upgrade path chosen: through 8.2 or direct from 8.x
  • Theme and checkout tested on the copy
  • Integrations tested: orders, stock, prices
  • Backup and a way back for the live switch

Need a hand?

We upgrade PrestaShop stores to version 9 for a fixed price from €900, always on a copy first, so the live store keeps selling. Our own Image Map module runs on PrestaShop 1.7 to 9.1, so we deal with these version differences every day. If you are not sure where your store stands, run our free PrestaShop 9 readiness check first. It shows what an upgrade would involve before you commit to it, and how to read it is explained step by step.

Have a project in mind?

Tell us what you are building. You will get a concrete proposal with price and timeline within 24 hours.

Get a proposal