eExtend is live: AI chatbot, translation and content in one subscription. 50% off. Code: Launch26 → Click here
What Should You Check Before Making Changes to a Live PrestaShop Store?

Making changes to a live PrestaShop store can improve performance and add valuable features, but even a small update can cause unexpected problems. From module compatibility and database backups to checkout functionality and SEO settings, there are several things to check before making changes.

In this guide, we’ll cover the essential steps to help you update your store safely, minimize downtime, and protect your business.

What You Need To Know Before Touching A Live PrestaShop Store

Before changing a live PrestaShop store, back up the files and database, test the change on a duplicate or staging copy running the same PHP and PrestaShop version, enable maintenance mode or whitelist your IP, and note your current cache, SEO and URL settings so you can restore them.

Only then deploy, and clear the cache afterwards. That sequence is the difference between a launch and an outage, because the mistakes made in that window are the expensive ones.

Consider the failure it prevents. A store owner flips a new theme on at 9 pm, then notices the checkout button missing on mobile. The old theme files were overwritten, the database has new module rows, and there is no staging copy to fall back to. Orders stop.

This PrestaShop checklist pairs each check with the specific failure it prevents: broken URLs that lose their index, abandoned carts from a guest checkout that refuses to complete, or a payment module that silently declines every card. Work through all nine before you announce anything.

Check 1: Back Up Your Database & Files First

A PrestaShop launch touches far more than the storefront. Configuration changes write to the database, and theme or module uploads write to the file tree. Take a full rollback point: a MySQL dump of the database, a copy of the entire store file tree, and a separate copy of the /img folder, since product images are often the hardest asset to recover after a failed deploy.

Export the database through phpMyAdmin, your hosting panel, or the command line (mysqldump), then download the resulting .sql file to your own machine or cloud storage rather than leaving it inside /backup on the same server. A backup that lives only on the store you are about to break is not a backup.

Without a verified rollback point, one bad module upload turns a routine launch into a full rebuild.

  • Test the restore path on a staging copy before launch day, not after a failure.
  • Label each backup with a date and the store version, so you restore the right one.
  • Confirm the file tree copy includes your active theme and any custom overrides.

Check 2: Clone to A Staging Environment and Test There

A staging clone lets you break things where nobody is buying. Duplicate the PrestaShop installation to a subdomain such as staging.yourstore.com, point it at a separate database, and copy the theme, modules and uploads folder across. Never let staging share a database with production: a module activation on staging would write straight into your live tables.

Staging that runs a different PHP version from live will pass tests that crash on the real server, and you will discover the mismatch during your first live order. Match the PHP version, MySQL version and PrestaShop version exactly, then disable indexing on the clone.

  • Create the subdomain and a fresh database before copying any files.
  • Update the database connection values in the staging configuration file.
  • Edit the shop URL entries in the database to the staging domain.
  • Keep guest checkout, real payment modules and transactional emails switched off.
  • Block search engines so duplicate content never reaches the index.

Staging that runs different software versions is not a test; it is a rehearsal for a different play.

Check 3: Put the Shop in Maintenance Mode (or Whitelist Your IP)

Maintenance mode replaces your storefront with a holding page while you work, but it should never lock you out of your own shop. In PrestaShop, this lives under Shop Parameters, then General, in the Maintenance tab. Enable the shop, add your message, and save.

The mistake that costs hours is skipping the IP whitelist field just below those toggles. Leave it empty, and you will see the same holding page your customers do, with no way back into the Front Office to verify anything.

  • Add your current IP address to the whitelist before you save the maintenance settings.
  • Confirm the Front Office still loads normally for you, then open it in a private window to see the customer view.
  • If your connection uses a dynamic IP, re-check the whitelist entry each time you sit down to work.

Maintenance mode without a whitelisted IP turns a five-minute change into a locked door.

Check 4: Review Your Theme, Module Overrides & PHP Version

A theme or module that worked on an older PrestaShop version may break silently the moment your host flips to a newer PHP major version. The front office can still load while the back office throws warnings, so the failure stays hidden until a customer hits it.

Work through these before you test anything else:

  • Check the Advanced Parameters > Information page in your back office. It lists your PHP version and flags any module marked as incompatible or outdated.
  • List every override file under /override/. Overrides that duplicate methods in an updated core file can halt execution without an obvious error message.
  • Compare each module's declared compatibility with your target PHP version. Modules abandoned long ago are the usual suspects.
  • Reinstall your theme against the new version rather than copying an old folder across by hand.
  • Enable PrestaShop's debug mode on staging only, load every page, and read the log. This surfaces the warnings your visitors would otherwise absorb.

A PHP mismatch found on staging is a quick fix; found after launch, it is an outage.

If your delivery logic depends on a custom module, such as the PrestaShop Delivery Pin Checker, confirm it loads and responds correctly on the target PHP version before you move on. A pin checker that fails silently on the checkout page means orders that never complete.

Check 5: Snapshot Your Settings (Cache, SEO & URLs, Performance)

PrestaShop hides dozens of switches that quietly change how your store behaves, and most of them live in Advanced Parameters and Shop Parameters. The cost of skipping this check is rework: you change one value to test something, forget to revert it, and spend an afternoon hunting a bug that isn't there. Write the originals down before you touch anything.

Open Advanced Parameters > Performance and record the current state of:

  • Template compilation and cache, including whether caching is enabled at all
  • CCC (Combine, Compress and Cache) for your HTML, JavaScript and stylesheets
  • Apache optimisation and any server-side cache option
  • Smarty cache settings tied to your theme

Next, note your Shop Parameters > Traffic & SEO configuration: whether friendly URLs are on, and how your URL structure is defined. A rebuild that resets URL rewriting can break every existing link Google has indexed, sending organic traffic to 404 pages.

Store the snapshot in a shared document, not a sticky note. When someone has to hand over the shop later, that single list is what stops hours of guessing.

Check 6: Enable Debug Mode on Staging, Not Live

PrestaShop hides errors from shoppers by default, which is good for customers and terrible for you. When a module or an override breaks during testing, you get a blank page instead of an explanation. Debug mode swaps that silence for a full stack trace, so you can see exactly which file failed.

Before you do anything, confirm you are on the staging clone rather than the production server. Then open your store's configuration file and switch the debug constant from its "off" value to "on". Reload the page that was breaking. The real error, the file path and often the failing query appear immediately.

Leaving debug mode on after launch hands strangers a map of your file system, your module paths and your database structure.

That is what makes this a go-live blocker rather than a testing nicety:

  • Error output reveals server paths that attackers use to probe for weak folders.
  • Stack traces can expose query fragments, table names or configuration values.
  • Customers see raw PHP warnings where product prices should be, which looks like a compromised shop.

Do not toggle this constant on the live store "just for five minutes". Re-read the file right before you switch DNS or remove maintenance mode, and treat the debug value as the last setting you verify.

Check 7: Test Checkout, Payments and Emails End-to-end

Checkout is where a skipped test turns into a lost sale, because the customer is already holding their card when the flow breaks. Run a full order for every path a real buyer takes, and confirm the confirmation email actually arrives.

  • Complete an order as a guest, with no account created.
  • Complete the same order as a registered customer, logged in from the start.
  • Place one order through each payment method you have enabled, including any offline options such as bank wire or cheque.
  • Check that the order confirmation email lands in the inbox, not the spam folder, and that the invoice generates correctly.
  • Verify stock levels decrease, and the order appears in the Orders tab with the right status.

Payment modules and email templates are the usual suspects when this check fails. If you sell to customers in specific regions, a PrestaShop Delivery Pin Checker can validate the delivery address before payment, catching a bad postcode at the point it still matters.

Test on staging with a sandbox or test mode enabled wherever your payment provider supports it. Never place a real transaction against a live gateway during setup, because the resulting refund and reconciliation work will cost you more time than the test saved.

The order flow is the one thing you cannot test in production, because every failure there is a customer who has already decided to buy and then could not.

How To Roll Back Fast if Something Breaks On Live

Something will eventually misbehave the moment real customers are watching. The stores that recover fastest are not the ones with the most elegant settings; they are the ones with a rehearsed rollback order.

Work down this list and stop as soon as the shop is healthy again:

  1. Restore the file backup. If a theme edit or a module override broke the front office, pull the files back first.
  2. Disable the offending module. In the Modules manager, use the disable action on the suspect module and clear the cache straight away.
  3. Restore the database only if data is wrong. Reinstalling a full dump undoes genuine orders placed since the backup, so treat this as the last resort.

Re-enable the previous module version rather than debugging a live shop. If you kept the original zip, uninstall the new version and install the old one, then confirm the Modules page reports no override conflicts.

Once the front office loads, clear the PrestaShop cache again and place a real test order through the payment provider. Only then remove maintenance mode and tell your team the shop is trading.

What This Checklist Achieves

A PrestaShop pre-launch checklist is the difference between a store that opens for business and one that opens a support ticket. Every item below pairs an action with the failure it prevents, because most launch-day problems trace back to a single skipped step rather than a mystery bug.

For e-commerce, downtime damage scales fast, and industry estimates range from $5,600 to over $15,000 per minute depending on organisation size. A store stuck in maintenance mode during a lunchtime traffic spike loses orders that competitors happily take. Work through these nine checks, and you close those gaps before a customer finds them for you.

The PrestaShop Pre-Launch Checklist

Run these in order. Several checks depend on the ones above them, so skipping ahead usually means repeating work.

  1. Switch on maintenance mode while testing anything live-facing. PrestaShop includes a maintenance setting under Shop Parameters, then General, with an IP allowlist so you can browse the storefront normally while visitors see a holding page. Skipping it means customers browse half-configured categories, abandoned carts pile up, and you lose the first impression you only get once. Add your own IP to the list before enabling it, or you will lock yourself out too.
  2. Test the full order lifecycle end to end: browse, add to cart, checkout, pay, receive confirmation, then view the order in the back office. This is the check most often assumed rather than performed. A payment module that authorises correctly but never flips the order status to "Payment accepted" leaves customers with a charge and no confirmation email. That produces disputes, not just refunds.
  3. Place test orders with every shipping carrier and zone you actually ship to. PrestaShop calculates shipping from carrier, zone, weight and price rules, and a mis-set range quietly shows the wrong rate or no carrier at all. If you sell to customers who need to verify address coverage before ordering, a delivery pin checker module lets shoppers confirm serviceability at checkout rather than after a failed delivery. A missing carrier at checkout is a lost sale with no error message attached.
  4. Send every transactional email to a real inbox, not a preview panel. Order confirmation, payment accepted, shipped and refund templates all need testing on Gmail, Outlook and a mobile client. Emails that land in spam or render with broken images make customers assume the order failed. Check that the sender domain is properly authenticated before launch, since fixing deliverability after you have sent hundreds of order emails damages your domain reputation.
  5. Configure tax rules and verify a real invoice calculation. PrestaShop handles tax through tax rule groups applied by country and zone, so a single misapplied group produces invoices with the wrong VAT. Place a test order from a customer address in each tax region and compare the invoice against what you expect to charge. Incorrect tax on live invoices means corrections, credits, and in some jurisdictions, a compliance problem.
  6. Run a backup of both the database and the file system, and confirm you can restore it. A backup you have never tested is a file, not a safety net. Take it immediately before launch and again before installing or updating any module. Without a verified restore, an error during go-live turns a quick fix into a full rebuild of product data and customer accounts.
  7. Turn on and read the error logs before real traffic arrives. Enable PrestaShop's debug mode and check the server error log for the PHP version your host runs. Scan the back office for warnings about modules that need updating. Unread warnings at launch become white screens under concurrent traffic, and a blank storefront converts nobody.
  8. Check indexing settings and submit a sitemap. Confirm the store is set to be indexed, that friendly URLs are active, and that your sitemap generates correctly. Launching with indexing switched off means lost crawl time while you wonder why nothing appears in search. If you migrated from another platform, set up redirects from old URLs before Google discovers the dead ends.
  9. Walk the storefront on a real phone over mobile data. Not a desktop browser resized to a narrow window. Check that images load, menus open, and the checkout button stays reachable at the bottom of a long form. Most stores see a majority of traffic on mobile, and a checkout that works on desktop but traps users in a scrolling form is a silent conversion killer.

Checks That Deserve Extra Attention

Test payments with a live transaction, not just sandbox mode

Sandbox environments behave differently from live gateways. A payment module can pass every sandbox test and still fail live because of a callback URL, an SSL certificate or a merchant account restriction. Process one small real transaction with your own card, then refund it. That single test confirms the whole chain works, and it costs you a transaction fee instead of a launch-day outage.

Confirm Your Module Set Does Not Conflict

Two modules that each modify the same hook or override can behave perfectly in isolation and break together. Install your final module list before launch, then test the areas they touch. A cart rule module and a shipping module both editing totals is a common source of order totals that do not match the payment amount.

Rehearse The Rollback Plan

Decide in advance what you will do if something breaks after launch. Knowing which backup you restore, how long it takes, and who does it turns panic into a process. Write it down and keep it somewhere you can reach when the store is not loading.

Conclusion

None of these nine checks is hard, and together they take an afternoon. The point is not to be thorough for its own sake: each one targets a specific way stores lose money on launch day, from a missing carrier to an unindexed homepage. Get them done before you announce, and your first customers meet a working store instead of a holding page.

Frequently Asked Questions

Should I put my PrestaShop store in maintenance mode before updating modules?+–
Yes. Enable maintenance mode and add your own IP address to the allowlist first, so customers see a holding page while you keep browsing the storefront normally. This prevents shoppers from hitting errors or half-loaded pages during an update.
How do I back up a PrestaShop database before making changes?+
Use the database backup option in the PrestaShop back office, or export the database through your hosting control panel using phpMyAdmin or a mysqldump command. Download the resulting .sql file somewhere off the server, and test the restore path on a staging clone so you know the backup actually works before you need it.
Do I need a staging environment if I am only changing a theme or a module?+
Yes, because theme and module changes write to both the file tree and the database at the same time, which is exactly the combination that is hardest to unpick on a live store. A staging clone running the same PHP, MySQL and PrestaShop versions lets you break things where nobody is buying. If a change does go wrong on live, you already know which backup to restore and how long it takes.