Is there a problem that needs an urgent fix?Urgent fix?Get emergency help →
Blog

Practical Magento 2 guides on upgrades, security, speed and migration, written by the MageBooster team.

Core Web Vitals on Hyvä: LCP under 2 seconds on mobile

Clean Hyvä pages reached a mobile LCP of 1.5 to 1.6 seconds in our benchmark. Here is what it takes to keep a real store under 2 seconds.
Core Web Vitals on Hyvä: LCP under 2 seconds on mobile
Update

Hyvä now runs natively on Magento 2.4.9 and on Mage-OS. We have tested both. What this means for your store →

In short

In our benchmark, clean Hyvä pages reached a mobile LCP of 1.5 to 1.6 seconds, against 2.3 to 2.5 seconds for Luma on the same server. Hyvä gives you a light starting point, but LCP under 2 seconds on a real store also depends on the server, the CDN, the main image and every script you add. Here is how we keep it there.

Largest Contentful Paint, or LCP, measures how long it takes for the biggest element on screen to appear. On a Magento store that is usually the main product photo, a category banner or the homepage hero.

A mobile Lighthouse run on a Hyvä category page: LCP 1.6 s, total blocking time 10 ms.
A mobile Lighthouse run on a Hyvä category page: LCP 1.6 s, total blocking time 10 ms.

Google treats an LCP of 2.5 seconds or less as good. We aim lower, at under 2 seconds on mobile, because real shoppers on mid-range phones and patchy connections are slower than any lab test. This post explains what Hyvä does for LCP, and what you still need to do yourself. It reflects the speed work behind every Hyvä store we build.

What our measurements show

We compared a clean Magento 2.4.9 with Hyvä 1.5.2 against Magento’s Luma theme. Both ran on the same server with the same catalogue, tested with Lighthouse 13, using the median of three mobile runs.

MetricHyväLuma
Mobile LCP1.5–1.6 s2.3–2.5 s
JavaScript~26 KB463–524 KB
Requests15–19251–275
Mobile Lighthouse score93–10088–99

That is roughly 35% faster LCP on mobile for Hyvä. The full method and all page types are in our Hyvä vs Luma benchmark.

One honest note belongs here. A clean Luma store on a fast server behind Cloudflare, in production mode, also scores well. Real Luma stores with extensions and tracking scripts usually score much lower. The real difference is how much the browser has to load, not the lab score.

Why Hyvä helps LCP

A Luma page has to download, parse and run around half a megabyte of JavaScript before much of the page works. RequireJS loads modules in chains, and the main thread stays busy while the image waits for its turn.

Hyvä uses Alpine.js and Tailwind CSS instead. With about 26 KB of JavaScript, the browser reaches the main image sooner and has less work competing with it.

On real low-end phones, half a megabyte of JavaScript matters more than the lab shows. That is also why Hyvä tends to do well on Interaction to Next Paint, or INP: less script means a main thread that is ready to respond to taps.

Step one: a fast server response

LCP cannot start before the HTML arrives. If the server takes a long time to answer, no frontend can make up for it.

Our stack for Hyvä stores looks like this:

  • Magento 2.4.9 on PHP 8.4, in production mode with static content deploy.
  • Redis or Valkey for cache and sessions, and OpenSearch for catalogue search.
  • nginx with a separate PHP-FPM pool per store.
  • Cloudflare in front, and indexers on schedule so saves in the admin do not slow the storefront.

Full-page cache is what makes most page views fast. A cached category or product page is served without running the full Magento application. We cover hosting choices in more detail in our guide to the best Magento hosting.

Step two: get the LCP image right

On most Magento pages the LCP element is an image. Four habits make the biggest difference.

  1. Never lazy-load the main image. Lazy loading is right for images further down the page, but the first product photo or hero should load straight away.
  2. Tell the browser it matters. The fetchpriority="high" attribute on the main image helps the browser download it before less important files.
  3. Serve the right size. A phone does not need a desktop-sized photo, so use the resized images Magento creates for each image role.
  4. Use a lighter format. We serve WebP for product and theme images, as described in our post on WebP images behind Cloudflare.

Always set width and height on images as well. That does not change LCP directly, but it prevents layout shift while the page loads.

Step three: guard the page against new weight

Most Hyvä stores are fast on launch day. The risk comes later, as tracking tags, chat widgets, review widgets and marketing pixels are added one at a time.

Each script competes with the main image for bandwidth and processor time. We keep a few rules:

  • Load third-party scripts after the page is usable, unless they are needed for the first view.
  • Load each tracking tool once, ideally through one tag manager, not through several modules.
  • Check new extensions for leftover Luma JavaScript before they go live.
  • Re-test home, category and product pages after every change to scripts or extensions.

Fonts matter too. One self-hosted font family with a few weights is usually enough, and it avoids extra connections to other servers.

Step four: measure it properly

Lab tests are only useful if they test the real thing. We use Lighthouse 13 from the command line with headless Chrome, take the median of three runs, and test the real URL behind the CDN after warming the cache.

One trap cost us time: our nginx blocks bot user agents containing “lighthouse” or “headless”, which returned a 403 and a meaningless result. Running the tests with a normal browser user agent fixed it. We list all the traps in how we test Hyvä speed with Lighthouse.

Lab results are a guide, not the final verdict. Field data from real visitors, as reported in Search Console and the Chrome UX Report, is what Google uses for Core Web Vitals.

What this looks like on real stores

On our Hyvä demo store, the median mobile Lighthouse scores are 96 for the homepage, 90 for a category and 92 for a product page. On desktop they are 100, 100 and 98.

For a client store, a German shop selling in nine countries, the move to Hyvä took the mobile Lighthouse score of a product page from 72 to 94, and a category page from 88 to 95. Those numbers come from a staging build, in our measurements.

For every Hyvä store we launch, we commit to a minimum mobile Lighthouse Performance score of 89 on home, category and product pages. That applies on a Hyvä-optimised server, with images and scripts agreed in advance.

FAQ

Does Hyvä guarantee good Core Web Vitals?

No theme can guarantee that on its own. Hyvä gives you a much lighter starting point, but the server, images and third-party scripts still decide the final result.

Why is my Hyvä store slower than the benchmark?

The usual causes are a slow server response, an unoptimised main image, or scripts added after launch. A Magento audit shows which of these applies to your store.

Is LCP the only metric that matters?

No. INP and Cumulative Layout Shift are also Core Web Vitals. Our Core Web Vitals checklist covers all three.

Want LCP under 2 seconds on your own store? See our Hyvä packages, or talk to us about Magento speed optimisation.

Installation guides: Magento 2.4.9 on Ubuntu Mage-OS Hyvä
Spotted a mistake on this page? Tell us and we will fix it right away.

Free Site Audit

Send your store details. We check speed, security and extensions, then reply with three quick wins within 3 working days.

Let's talk

Get a quote

Tell us about your store and we’ll reply within one working day. Prefer to chat? Say hello from WhatsApp

MageBooster Book a UnoPim demo See UnoPim live with products like yours. A new PIM or a move from Akeneo: we reply with a plan, a timeline and a quote.
✓ Official UnoPim partner✓ AI agent set up for your team✓ Connected to Magento
MageBooster Start your Hyvä project From scratch or from your current store. We reply with a project plan, a timeline and a quote.
✓ Design and structure by us✓ Hyvä-optimised server✓ Bonus modules included
Partner with us