Core Web Vitals in PrestaShop: how images hurt LCP and what to fix first

5 min read Other languages: PL FR

Shop speed counts twice: Google takes it into account when assessing a page, and the shopper takes it into account when deciding whether to stay at all. In PrestaShop shops, the most common cause of a slow product page is images: too heavy, too large or loaded in the wrong order. This guide shows how to check whether images are hurting your Core Web Vitals, and what to fix first.

Core Web Vitals in short

MetricWhat it measuresGoodHow images affect it
LCP – Largest Contentful PaintWhen the largest element on screen appears2.5 s or lessDirectly: on a product page it is almost always the main image, on the home page a banner or slider
INP – Interaction to Next PaintHow fast the page responds to clicks200 ms or lessIndirectly: heavy JavaScript sliders and image zoom
CLS – Cumulative Layout ShiftWhether the layout “jumps” while loading0.1 or lessDirectly: images without dimensions push content around

Google assesses the 75th percentile of visits, separately for mobile and desktop. So the page has to be fast not only on your computer and fibre line, but also for a shopper with an average phone on a bus. To be fair: good Core Web Vitals do not replace good content and will not push a shop to the top on their own. A slow page, however, loses shoppers before they see the price.

How to check whether images are to blame

  1. PageSpeed Insights (pagespeed.web.dev): the top of the report is real-user data from the last 28 days, the bottom is a lab test. In the lab test, look for the “Largest Contentful Paint element” – if it is an img, you know where to start.
  2. Google Search Console › Core Web Vitals: shows groups of similar URLs with a problem, for example all product pages at once.
  3. Three page types: home page, category and product page. Each has a different LCP element and different problems.

Five typical image problems in PrestaShop

1. Files that are too heavy

A photo straight from the camera or the supplier weighs 2–5 MB. PrestaShop creates thumbnails from it, but with compression settings nobody has touched since installation. On top of that, the format stays JPEG or PNG. According to Google, WebP images are 25–34% smaller than JPEG at comparable quality, and a PNG of a product photo can be several times heavier than both.

2. Dimensions that are too large

The theme loads the large_default format (often 800 px) where the image is displayed at 250 px. The browser downloads several times more data than it needs. Check which image type your theme uses on product lists and on the product page.

3. Lazy-loading the main image

loading="lazy" is great for images below the first screen, but on the main product image it delays LCP. The main image should load immediately, ideally with fetchpriority="high". This is a common side effect of modules that add lazy-loading “to all images”.

4. Missing dimensions

An image without width and height attributes (or without aspect-ratio in CSS) only takes its space once downloaded, and pushes text and buttons down. That is how high CLS happens – along with clicks on the wrong button.

5. The home page slider

Five large slides loaded at once, plus a JavaScript library to rotate them. The first slide is the LCP element, and the rest compete with it for bandwidth. Limit the number of slides and load the next ones only after the first.

A quick image audit on the server

If you have SSH access, these commands in the shop’s root directory show the scale of the problem in seconds:

# how much space product images take
du -sh img/p

# how many JPG files are larger than 300 KB
find img/p -type f -name '*.jpg' -size +300k | wc -l

# large large_default thumbnails (first 20)
find img/p -type f -name '*-large_default.jpg' -size +150k | head -20

# are there any WebP files yet
find img/p -type f -name '*.webp' | wc -l

Image type names (large_default, home_default and so on) are listed in Design › Image Settings. If list thumbnails weigh 150 KB or more and there are no WebP files at all, you know where the biggest gain is.

The order of fixes

  1. Main product image and home page banner: the right size, WebP, no lazy-loading, fetchpriority="high".
  2. Category thumbnails: WebP and lazy-loading for everything below the first screen.
  3. Image dimensions in the theme templates – no more jumping layout.
  4. Slider: fewer slides, lighter files.
  5. Only then module scripts and styles.

After the changes, the lab test shows the difference straight away. Real-user data in PageSpeed Insights and Search Console covers 28 days, so you will see the full effect after about four weeks.

Lighter images without manual work

CTW Image Optimizer automatically converts your shop’s images to WebP – existing and newly added ones – and shows how much they weighed before, after, and how much space you saved. It works on PrestaShop 1.7 to 9.x, including versions where the core does not support WebP.

See CTW Image Optimizer

Sources

← All articles

Contact form

Regarding module: CTW Image Optimizer – automatic WebP conversion