Your store seems slow for visitors, but you don’t know where to start. The homepage can look fine while categories, product pages or the cart perform poorly. In that case, changing settings at random usually wastes time.

The right approach is to diagnose in the correct order. Measure first, then isolate the bottleneck: hosting, modules, database, images, cache or theme. This article focuses on the front office. A slow back office is a different topic.

By the end, you’ll know what to check, on which pages, and when to move from diagnosis to a technical intervention.

Start by measuring the slowness, not by changing settings at random

The first trap is simple: enable a cache, compress files or blame the theme without a reliable baseline. On 13 October 2026, the PrestaShop developer documentation recommends running benchmarks before any change so you have a reference and can verify whether changes actually improve the store: PrestaShop developer docs on optimisation.

This starting reference must focus on the front office. If your concern is visitor-side speed, don’t mix it with administration or back-office issues.

Distinguish lab scores from real user data

A score alone does not reveal the cause of a slow site. On 13 October 2026, Google explains how PageSpeed Insights works: the tool combines lab data and real user data. Field data comes from the Chrome User Experience Report and covers a rolling 28-day period.

Practically, lab data helps reproduce an issue in a standardised environment. Real user data tells you what your visitors actually experienced over time. Google's “Good” thresholds include an LCP of 2.5 s or less, an INP of 200 ms or less and a CLS of 0.1 or less. If a score is poor, you still need to identify which page and which resource concentrates the problem.

Choose pages to test: homepage, category, product, cart

Don’t test a single URL. At minimum, take a homepage, a category, a product page and the cart. This prevents the false diagnosis: “the site is fine” while only the highest-value pages are slow.

Keep the same selection before and after each change. Note which metrics really degrade, and check whether the slowness affects the whole store or only certain pages. That sorting will tell you whether to look first at the server, a module, the database or the theme.

Hosting and the PHP stack are often the first bottleneck

When several page types are slow at once, the server and PHP stack are often the place to check before anything else. The goal is not to recommend switching hosting reflexively. First isolate the bottleneck, then confirm by measurement.

If you’re unsure whether it’s a server issue, PHP configuration or application overload, keep the same method: one change, then a benchmark. Without that discipline you’ll change many things and won’t know which one actually improved the store.

Signs pointing to a server problem

The most useful signal is fairly transversal slowness: homepage, categories, product pages and cart all degrade together. In that case, blaming images or the theme immediately is often premature.

Another practical point: benchmark before modifying the environment. PrestaShop’s recommendation also applies here. Without before/after measurement, you might adjust hosting or PHP and still be unable to say whether the true problem has been fixed.

Technical settings to check on PHP and the filesystem

On 13 October 2026, the PrestaShop developer documentation cites two specific levers on PHP and the filesystem: realpath_cache, which avoids repeating file lookups, and OPCache, which stores compiled PHP bytecode in shared memory. These are concrete points to check before concluding the store is “naturally heavy”.

A common mistake is changing several parameters at once. Do the opposite: one change, benchmark, then validate. That’s the only way to know whether the slowness came from the environment or another layer.

Modules aren’t a problem because of their number, but because of what they load on your pages

Saying a site is slow “because there are too many modules” is often too vague to be useful. PrestaShop notes that some modules slow the store, especially if they hook into critical front-office pages. The real issue is not just the number, but what they execute, where they execute and with what caching.

Front-office hooks that are costly

Start with the pages that matter most to your visitors: categories, product pages, cart. A module hooked into these areas can weigh heavily if it loads code, queries or resources where it’s not necessary.

The PrestaShop 8 user documentation also reminds that certain features can be disabled if unused, because they can slow the store. That’s a good sorting criterion: anything left active should have a clear purpose on the concerned page.

Signals that a module is actually slowing the store

On 13 October 2026, PrestaShop lists several useful signals: excessive resource consumption, lack of caching, over-caching and a module enabled on too many pages. These signs are more reliable than simply counting installed modules.

If you suspect a specific module, first check its activation scope and the quality of its integration. You can also compare with the signs that reveal a badly coded PrestaShop module. A common mistake is bulk-disabling without a method, then losing track of the real culprit.

The database can slow mainly product pages and categories

The database isn’t automatically the culprit for a slow PrestaShop site. However, it becomes a credible lead when certain business pages suffer more than others. A common case: the homepage remains acceptable while categories and product pages pull performance down.

When to suspect the database

If slowness concentrates on pages that query the catalogue more—combinations, prices or product lists—the database deserves inspection. Conversely, if all pages are slow at the same level, you often need to look higher, at the server or modules.

The right method remains the same: measure first, then isolate. Asserting the database is necessarily to blame because it’s “large” often leads to wrong priorities.

What PrestaShop documentation recommends before a benchmark

On 13 October 2026, the PrestaShop developer documentation recommends, if possible, an innodb_buffer_pool_size larger than the database size. It also advises running an ANALYZE TABLE after import and before benchmarking. These two points help avoid a test skewed by a poorly prepared environment.

If the database contains lots of obsolete data, a supervised cleanup can simplify the analysis. The free PrestaShop database cleaner module can be a starting point, but it doesn’t replace before/after measurement.

Images mainly hurt the LCP when they’re served poorly, not just when they’re heavy

Reducing the image issue to compression is insufficient. An already optimised image can still slow a page if it’s loaded at the wrong time or with the wrong priority. That’s especially true for the resource that impacts LCP.

Don’t lazy-load the hero or LCP image

The web.dev recommendation is clear: images below the fold can be lazy-loaded, but not the hero or LCP image above the fold. That critical image should be loaded eagerly: web.dev guide on responsive images and load priority.

It’s a frequent error in e-commerce themes: everything is set to lazy-load “to be safe”, including the image that should arrive first. The result is that the visitor waits for the main element of the page when it should never be delayed.

What to defer and what to keep as priority

For truly secondary images, native lazy loading is a good starting point in most cases, notably because it avoids adding a dedicated JavaScript dependency: web.dev explanation of native image lazy loading.

Conversely, a genuinely critical image can receive fetchpriority="high", sparingly. The important word is sparingly. If you give high priority to too many resources, you move the problem instead of fixing it.

Cache, theme and action plan: what confirms the diagnosis

In PrestaShop, cache and asset compression help, but they don’t fix a slow architecture by themselves. The PrestaShop help centre indicates that Smarty cache speeds up load times by serving a cached page on subsequent visits. It also points out that CSS and JS compression are configured in the store’s Performance page.

On 13 October 2026, the PrestaShop developer documentation recommends using the “File System” cache type and enabling Smarty cache. It also warns not to enable the “Cache” section if MySQL (<8) or MariaDB runs on the same machine, because MySQL’s query cache is judged more effective there. In short, not all caches should be enabled everywhere without testing.

What a theme can break in the front office without being visually “bad”

A theme can look fine visually and still concentrate several causes of slowness: heavy assets, invasive JavaScript, unnecessary dependencies, poor image handling, misconfigured compression. The issue is therefore not only the design but everything the theme bundles and triggers.

When analysing a theme, view it as the meeting point between server, modules, images and cache. It’s often where separate problems become visible in the front office.

The verification order to decide whether to fix internally or call for help

Here’s the most useful order to keep the diagnosis clear:

  1. measure across several page types;
  2. check whether slowness is global or concentrated;
  3. inspect the server environment and PHP;
  4. isolate modules present on critical pages;
  5. examine the database if categories and product pages suffer more;
  6. correct image load priorities;
  7. validate cache and compression options;
  8. rete st after each change.

If your measurements remain unclear or multiple causes accumulate, stop at diagnosis before changing production. A series of small uncoordinated tweaks quickly clouds the analysis.

If you want these causes sorted in the right order, KLN-WEB offers a diagnostic for a slow PrestaShop site, focused on the front office. You get a free diagnosis, a reply within 24 h and a quoted hourly rate in advance.


Frequently asked questions

How can I tell if the slowness comes from hosting or a PrestaShop module?

Start by measuring several pages: homepage, category, product page and cart. If everything is uniformly slow, the server or PHP configuration are often the first checks. If slowness is concentrated on specific pages, look at the modules active in those zones, their caching and their activation scope.

Should I trust the PageSpeed score or real user data?

You should use both without confusing them. The lab score helps reproduce an issue in a standard environment. Real user data shows what your visitors experienced over a rolling 28-day period. A poor score alone doesn’t identify the cause: you still need to find the affected page and the bottleneck.

Do too many modules necessarily slow a PrestaShop site?

No. The number alone does not explain slowness. What really weighs is what modules load on critical front-office pages, their code quality, their use of cache and how widely they’re enabled. A small number of poorly integrated modules can cause more harm than a larger but well-managed set.

Can an oversized database slow the front office?

Yes, but not automatically. The database becomes a serious candidate when categories and product pages are noticeably slower than the homepage. You should confirm with measurement, prepare the benchmark correctly and avoid blaming the database by default until server, modules and theme have been ruled out.

Why do my images still slow the site even though they’re compressed?

Because weight isn’t always the issue. A critical image can still hurt LCP if it’s lazy-loaded when it should be loaded immediately, or if its load priority is mismanaged. Conversely, below-the-fold images can be deferred to avoid delaying essential content.