Updating a theme in PrestaShop is a process that requires an understanding of the platform’s structure and a careful approach. Unlike modules, themes in PrestaShop cannot be updated through the admin panel using a ZIP archive. This is due to architectural reasons — the theme is deeply integrated with files, modules, and hooks.
As a result, theme updates are done manually via FTP and usually performed by professionals familiar with PrestaShop’s internal structure. In this article, we’ll explain how to update a theme correctly and safely, step by step.
1. Why Theme Updates Are Not Straightforward
A theme in PrestaShop is tightly linked to modules, hook positions, caching, and custom overrides. Therefore, PrestaShop does not support updating a theme via ZIP upload in the admin panel — the feature is not available because of the complexity and tight integration of the theme with the system.
Updating is only possible manually via FTP by replacing files while keeping all overrides and custom configurations intact.
2. Understanding the Structure of a PrestaShop Theme
Once extracted, a theme typically consists of two parts:
-
Theme files — everything except the
/dependencies/folder -
Theme modules — located in the
dependenciesfolder, to be installed into/modules/
Common folders in a PrestaShop theme:
-
/_dev/ — source files for SCSS, JS, and images. These are compiled by Webpack.
-
/assets/ — production-ready CSS, JS, and media files.
-
/config/ — contains the main configuration file
theme.yml. -
/modules/ — templates for theme-related or overridden modules.
-
/plugins/ — custom Smarty plugins.
-
/templates/ —
.tplfiles grouped by context (catalog, checkout, cms, etc.). Includes a_partialsfolder for shared elements likeheader.tpl,footer.tpl, etc.
The dependencies folder
This contains all the modules required by the theme. These need to be manually copied into the main /modules/ directory of your store.
3. Override Logic: Key to Safe Updates
PrestaShop is built on an override system. Any changes to themes should be done via child themes and not directly to core or default theme files.
Direct edits to original theme files will be overwritten during updates. This breaks PrestaShop's best practices and leads to maintenance issues later.
Safe updating means:
-
Use a child theme for customizations.
-
Use override classes for modules.
-
Store custom styles in
custom.csswithin the child theme.
4. Step-by-Step Theme Update
Step 1: Create a Backup
Before any changes, create a full backup using your hosting panel.
Step 2: Update Theme Files
-
Connect to your server via FTP.
-
Go to
/themes/your_theme_name/ -
Replace all files with the new version, excluding the
dependenciesfolder.
Step 3: Update Modules
-
Go to the
dependenciesfolder of the new theme. -
Copy its contents to the
/modules/directory in your store’s root, overwriting old files. -
In the admin panel, go to “Modules → Module Manager” and check for updates.
Step 4: Clear Cache
-
Navigate to “Advanced Parameters → Performance”
-
Click “Clear Cache”
Step 5: Test Everything
-
Open the homepage, product pages, cart, and checkout.
-
Make sure all modules display properly and styles are applied.
5. Troubleshooting
-
White screen — enable Dev Mode to view PHP errors.
-
Missing modules — recheck hook positions and placements.
-
Styles not applied — clear browser cache (Ctrl + F5) and verify CSS/JS load correctly.
Updating a theme in PrestaShop is a manual but manageable process. If best practices and override structures are followed, and a backup is created in advance, everything will go smoothly.
Keep it simple: update files, check modules, clear cache, test thoroughly. Most importantly — never modify the original theme, so you don’t lose your changes in the future.