A slow site is revenue evaporating in real time. According to data published by Google, 53% of mobile visitors abandon a page that takes more than 3 seconds to load, and each additional second of load time can cut conversion rate by 7% or more depending on the sector. On the PrestaShop stores I take on for audits, slowness comes from the same handful of recurring causes in the vast majority of cases. Here's the complete, step-by-step methodology to turn a slow store into a high-performance machine.
1. Initial audit: pinpointing the problem precisely
Before any optimization, you have to measure. Run Google PageSpeed Insights, GTmetrix, and WebPageTest on the key pages (homepage, category, product page, cart): these three tools give complementary angles. Precisely identify the problematic Core Web Vitals (LCP for the load time of the largest visible element, INP for interaction responsiveness, CLS for visual stability) and pinpoint the heaviest resources slowing down each page (often unoptimized images or poorly loaded third-party scripts).
2. Server-side cache and compression
Enable PrestaShop's native cache in the back office's performance settings, often disabled by default or misconfigured after a migration. Configure Smarty caching to avoid systematically recompiling templates on every request. Enable Gzip or Brotli compression server-side, which cuts transferred file weight by 60 to 80% on text-based content (HTML, CSS, JS). Set up PHP OPcache to avoid recompiling PHP code on every request — a gain often overlooked but very significant.
3. Optimized images, the biggest impact area
Images typically account for 50 to 70% of a total e-commerce page's weight. Systematically convert your images to WebP format (or AVIF where supported), which cuts weight by 25 to 35% compared with JPEG at equivalent visual quality. Enable lazy loading so images only load when they enter the viewport. Serve images through a CDN (Cloudflare, BunnyCDN) to bring content geographically closer to your visitors. Set yourself a strict cap of 200KB maximum per product page image, adjusting compression as needed.
4. Database optimization
Regularly optimize MySQL tables (the OPTIMIZE TABLE command) to defragment disk space and speed up queries. Systematically purge old abandoned carts (over 30 days) that needlessly bloat order tables. Limit the retention period for connection logs and internal statistics, which can reach several gigabytes on an old store that's never been cleaned up.
5. Third-party modules: the silent enemy of performance
Systematically disable every installed module that isn't actively used: each active module adds hooks that run on every page load, even if it displays nothing visible. Run a quarterly audit of the modules with the heaviest execution time (visible in PrestaShop's performance debugger), and replace poorly coded modules with lighter alternatives where possible.
Expected result and realistic timeline
On the stores I migrate and optimize, I typically go from a mobile Lighthouse score of 35 to over 90, with LCP dropping below 2 seconds from an initial 5 to 8 seconds. This full body of work usually takes 1 to 3 weeks depending on catalog size and the number of modules to audit, for an observed conversion gain of 10 to 20% once the store has stabilized.