Core Web Vitals by ecommerce platform: who is fastest?

CrUX field data for Polish online shops: about half pass Core Web Vitals on phones. Shopify and PrestaShop lead, Shoper lags on INP. Which platform is fastest?

Published: Reading time: 11 min read

Shops on Shopify and PrestaShop pass Google's Core Web Vitals (opens in a new tab) most often; shops on Shoper least often. We found 2,182 online shops among the .pl domains in the Tranco list of popular sites (opens in a new tab), the same list behind our study of AI crawlers on the Polish web, and looked each one up in the Chrome UX Report (opens in a new tab), Google's record of how fast sites are for real Chrome users. 1,975 had enough traffic to be measured on phones. Of those, 53% pass all three metrics: 63% of Shopify shops, 60% of PrestaShop shops and 33% of Shoper shops, whose pages load quickly but respond slowly to a tap.

The platform explains less than the choice of it suggests. On most platforms, loading times differ more between shops than between platforms, and each platform fails in its own way: WooCommerce shops on loading, Shoper and headless storefronts on responsiveness, and on desktops IdoSell and Shoper shops on layouts that shift.

Who runs what: one in four shops runs on PrestaShop (opens in a new tab) (25.7%). Open-source platforms on the shop's own server run more than half of them, Polish SaaS platforms such as Shoper (opens in a new tab) and IdoSell (opens in a new tab) another 27.4%, and Shopify (opens in a new tab) only 5.9%.

shops found among .pl domains
2,182
pass Core Web Vitals on phones
53%
of Shopify shops pass, the most
63%
of Shoper shops pass, the fewest
33%

Which ecommerce platforms Polish online shops run on

PrestaShop leads by a distance, then WooCommerce. Shoper and IdoSell, the two largest Polish subscription platforms, sit level with Magento and with shops built from scratch. Everything below AtomStore, from SOTESHOP and shopGold to Shopware (opens in a new tab) and Sylius (opens in a new tab), is under 2% each and folds into "other platforms".

PrestaShop runs one in four large Polish online shops

Share of the .pl shop origins in the Tranco list, by platform · 95% intervals

PrestaShop26%
WooCommerce17%
Shoper10%
Custom build10%
IdoSell10%
Magento / Adobe Commerce9.4%
Other platforms7.9%
Shopify5.9%
Headless2.1%
AtomStore1.7%
Source: Outofplace crawl, 23 Sept 2026; Tranco list Y8YYGDownload CSVDownload PNG
Show the data
ItemValue95% intervaln
PrestaShop26%24%–28%2,182
WooCommerce17%15%–18%2,182
Shoper10%9.2%–12%2,182
Custom build10%9%–12%2,182
IdoSell10%8.8%–11%2,182
Magento / Adobe Commerce9.4%8.2%–11%2,182
Other platforms7.9%6.8%–9.1%2,182
Shopify5.9%5%–6.9%2,182
Headless2.1%1.6%–2.8%2,182
AtomStore1.7%1.2%–2.3%2,182
PrestaShop runs one in four large Polish online shops. Share of the .pl shop origins in the Tranco list, by platform · 95% intervals

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

Open source still runs most of it

Grouped by how the software is run, open-source platforms on the shop's own server or hosting account are 54% of the sample. That is the part of the market where speed is the shop's own job: the platform is only a starting point, and the theme, the plugins and the server decide the rest. On a SaaS platform most of that belongs to the vendor.

More than half of the shops run open-source software they host themselves

Shop origins by kind of platform · n = 2,182

  • Open source, self-hosted
  • Polish SaaS
  • Global SaaS and suites
  • Custom or headless
All shopsn = 2,18254%27%12%
Source: Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show the data
ItemOpen source, self-hostedPolish SaaSGlobal SaaS and suitesCustom or headlessn
All shops54%27%6.4%12%2,182
More than half of the shops run open-source software they host themselves. Shop origins by kind of platform · n = 2,182

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

The top of the market runs on something else

Sort the shops by popularity and the picture flips. Among the 100 largest, Magento leads with 27%, custom builds follow at 25% and headless storefronts at 12%; sportano.pl and gymbeam.pl run Magento, eobuwie.pl and modivo.pl a Nuxt (opens in a new tab) storefront, zooplus.pl Next.js (opens in a new tab). PrestaShop, the leader overall, runs just 6% of them. From the 501st shop down it is the other way round: PrestaShop 26.5%, WooCommerce 18.9%, and the Polish SaaS platforms own the long tail.

Big shops build their own or run Magento; the long tail runs PrestaShop and Polish SaaS

Share of shops on each platform within each size band, shops ranked among themselves by popularity · n = 100, 400 and 1,682

ItemTop 100 shops101–500501 and below
PrestaShop6%27%27%
WooCommerce6%11%19%
Shoper3%5.8%12%
Custom build25%14%8.4%
IdoSell8%6.5%11%
Magento / Adobe Commerce27%19%6%
Shopify5%3.8%6.4%
Headless12%2.5%1.4%
AtomStore3%2.8%1.3%
Other platforms5%7.8%8.1%
Source: Outofplace crawl, 23 Sept 2026; Tranco list Y8YYGDownload CSVDownload PNG
Show as an image
Big shops build their own or run Magento; the long tail runs PrestaShop and Polish SaaS. Share of shops on each platform within each size band, shops ranked among themselves by popularity · n = 100, 400 and 1,682

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

Custom and headless storefronts are a top-100 phenomenon

Shops by kind of platform within each size band

  • Open source, self-hosted
  • Polish SaaS
  • Global SaaS and suites
  • Custom or headless
Top 100 shopsn = 10041%15%37%
101–500n = 40060%19%16%
501 and belown = 1,68253%30%
Source: Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show the data
ItemOpen source, self-hostedPolish SaaSGlobal SaaS and suitesCustom or headlessn
Top 100 shops41%15%7%37%100
101–50060%19%4.5%16%400
501 and below53%30%6.8%9.9%1,682
Custom and headless storefronts are a top-100 phenomenon. Shops by kind of platform within each size band

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

Which ecommerce platform is fastest?

A shop passes when three in four of its page loads (the 75th percentile, p75) are good on all three metrics: Largest Contentful Paint (opens in a new tab) (LCP, loading) within 2.5 seconds, Interaction to Next Paint (opens in a new tab) (INP, responsiveness) within 200 milliseconds and Cumulative Layout Shift (opens in a new tab) (CLS, visual stability) at 0.1 or less. Google recommends good Core Web Vitals (opens in a new tab) "for success with Search".

On phones, Shopify leads with 63% and PrestaShop follows with 60%; their intervals overlap with each other and with those of IdoSell (57%) and custom-built shops (57%). WooCommerce (48%) and Magento (46%) sit below the average of 53%. Headless storefronts, AtomStore and Shoper are at the bottom, Shoper with 33%. The two SaaS platforms at either end show how much the vendor decides: on a subscription platform the vendor runs the servers and writes much of the storefront code.

Shopify and PrestaShop shops pass Core Web Vitals on phones most often

Share of shops whose p75 LCP, INP and CLS are all good on phones, by platform · CrUX, 28 days to 21 Sept 2026 · 95% intervals · platforms with at least 30 shops with data

Shopify63%
PrestaShop60%
IdoSell57%
Custom build57%
WooCommerce48%
Magento / Adobe Commerce46%
Headless40%
AtomStore39%
Shoper33%

All shops: 53%

Source: Chrome UX Report (Google); Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show the data
ItemValue95% intervaln
Shopify63%54%–71%120
PrestaShop60%55%–64%462
IdoSell57%51%–64%218
Custom build57%50%–64%199
WooCommerce48%42%–54%284
Magento / Adobe Commerce46%39%–53%190
Headless40%26%–54%43
AtomStore39%25%–55%36
Shoper33%27%–39%223
Shopify and PrestaShop shops pass Core Web Vitals on phones most often. Share of shops whose p75 LCP, INP and CLS are all good on phones, by platform · CrUX, 28 days to 21 Sept 2026 · 95% intervals · platforms with at least 30 shops with data

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

The small Polish platforms we can't chart, each with fewer than 30 shops with field data, mostly do well: 23 of SOTESHOP's 25 shops pass on phones, and 19 of shopGold's 27. Their samples are too small to rank.

On desktops, 59% of the shops pass, and the order changes. INP passes almost everywhere on a desktop (98% of shops), so the platforms that lost on responsiveness catch up: headless storefronts go from 40% on phones to 70% on desktops. IdoSell goes the other way, from 57% to 47%, because its shops' layouts shift on wide screens.

On desktops headless shops catch up and IdoSell drops back

Share of shops passing all three Core Web Vitals, phones against desktops · CrUX, 28 days to 21 Sept 2026

  • Phones
  • Desktops
All shops53% · 59%
Shopify63% · 75%
PrestaShop60% · 64%
IdoSell57% · 47%
Custom build57% · 74%
WooCommerce48% · 49%
Magento / Adobe Commerce46% · 49%
Headless40% · 70%
AtomStore39% · 53%
Shoper33% · 49%
Source: Chrome UX Report (Google); Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show the data
ItemPhonesDesktops
All shops53%59%
Shopify63%75%
PrestaShop60%64%
IdoSell57%47%
Custom build57%74%
WooCommerce48%49%
Magento / Adobe Commerce46%49%
Headless40%70%
AtomStore39%53%
Shoper33%49%
On desktops headless shops catch up and IdoSell drops back. Share of shops passing all three Core Web Vitals, phones against desktops · CrUX, 28 days to 21 Sept 2026

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

How fast each platform is for real users

The median Polish shop passes each metric on its own. On phones its p75 LCP is 1.9s, its INP 155ms and its CLS 0.01. The trouble is that only just over half the shops pass all three at once.

LCP on phones, median shop1.9s · Good
INP on phones, median shop155ms · Good
CLS on phones, median shop0.01 · Good

By platform, the median shop loads within 2.5 seconds everywhere, from 1.6s on Shopify to 2.2s on AtomStore. The spread inside a platform matters more: the middle half of WooCommerce shops alone runs from 1.7s to 2.8s, a wider span than the one between the fastest and the slowest platform.

Every platform's median shop loads within 2.5 seconds on phones

p75 LCP of each shop on phones, in seconds · dot: median shop, line: middle half of shops · CrUX, 28 days to 21 Sept 2026

Shopify1.6s
Custom build1.8s
Shoper1.8s
Headless1.9s
All shops1.9s
PrestaShop2s
IdoSell2s
Magento / Adobe Commerce2.1s
WooCommerce2.2s
AtomStore2.2s
Source: Chrome UX Report (Google); Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show the data
ItemValueRangen
Shopify1.6s1.3s–2s122
Custom build1.8s1.3s–2.3s201
Shoper1.8s1.4s–2.2s223
Headless1.9s1.6s–2.3s44
All shops1.9s1.5s–2.4s1,974
PrestaShop2s1.6s–2.4s476
IdoSell2s1.7s–2.3s218
Magento / Adobe Commerce2.1s1.7s–2.6s194
WooCommerce2.2s1.7s–2.8s300
AtomStore2.2s2s–2.6s36
Every platform's median shop loads within 2.5 seconds on phones. p75 LCP of each shop on phones, in seconds · dot: median shop, line: middle half of shops · CrUX, 28 days to 21 Sept 2026

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

Responsiveness is where the platforms part. Shoper is the only one whose median shop misses the 200 ms INP line on phones, at 228ms; headless storefronts come next at 185ms. Shoper's pages load fast: 86% of Shoper shops pass LCP, second only to Shopify. The delay is in what happens after a tap: INP grows when the phone's processor is busy running the page's scripts. For headless shops that is no surprise, since the whole storefront is a JavaScript application running in the browser.

Shoper is the only platform whose median shop fails INP on phones

p75 INP of each shop on phones, in milliseconds · dot: median shop, line: middle half of shops · CrUX, 28 days to 21 Sept 2026

WooCommerce139ms
PrestaShop141ms
IdoSell146ms
All shops155ms
Custom build160ms
AtomStore161ms
Shopify165ms
Magento / Adobe Commerce167ms
Headless185ms
Shoper228ms
Source: Chrome UX Report (Google); Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show the data
ItemValueRangen
WooCommerce139ms108ms–192ms284
PrestaShop141ms108ms–186ms462
IdoSell146ms125ms–180ms218
All shops155ms119ms–203ms1,935
Custom build160ms124ms–202ms199
AtomStore161ms133ms–188ms36
Shopify165ms137ms–209ms120
Magento / Adobe Commerce167ms127ms–203ms190
Headless185ms160ms–250ms43
Shoper228ms173ms–278ms223
Shoper is the only platform whose median shop fails INP on phones. p75 INP of each shop on phones, in milliseconds · dot: median shop, line: middle half of shops · CrUX, 28 days to 21 Sept 2026

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

Where shops fail: loading, responsiveness or layout

Across all shops, INP fails most often on phones: 73% pass it, against 79% for LCP and 84% for CLS. The platforms have their own weak spots. Only 40% of Shoper shops pass INP. WooCommerce and AtomStore shops fail on loading: only 64% of WooCommerce shops and 64% of AtomStore shops are within the LCP threshold. Magento is below average on all three.

Shoper and headless shops fail on responsiveness, WooCommerce on loading

Share of shops whose p75 is good for each metric on phones, and for all three · CrUX, 28 days to 21 Sept 2026

ItemLCPINPCLSAll three
All shops79%73%84%53%
Shopify93%70%94%63%
PrestaShop80%81%86%60%
IdoSell84%83%77%57%
Custom build81%75%88%57%
WooCommerce64%79%89%48%
Magento / Adobe Commerce73%72%75%46%
Headless80%53%84%40%
AtomStore64%78%67%39%
Shoper86%40%78%33%
Source: Chrome UX Report (Google); Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show as an image
Shoper and headless shops fail on responsiveness, WooCommerce on loading. Share of shops whose p75 is good for each metric on phones, and for all three · CrUX, 28 days to 21 Sept 2026

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

On desktops the weak spot is layout. Only 69% of the shops keep CLS at 0.1 or less there, and IdoSell (50%), Shoper (55%) and Magento (59%) do worst. CrUX doesn't say which element moves; the usual causes are images without dimensions and content inserted above what is already on screen, as Google's guide to CLS (opens in a new tab) explains.

Time to first byte: where hosting shows

Time to first byte (TTFB) isn't a Core Web Vital, but every page load waits for it, and it shows how a shop is hosted. The median Shopify shop gets its first byte to a phone in 0.4s, and 98% of Shopify shops stay within 0.8 s, the rough target in Google's guide to TTFB (opens in a new tab). WooCommerce shops take 1.3s, and only 16% stay within it. IdoSell is nearly as slow here (1.3s, 3.2% within the guide), yet 84% of its shops pass LCP, more than the average: a slow first byte hurts, but it doesn't decide the result on its own.

Shopify shops get the first byte fastest, WooCommerce shops slowest

p75 TTFB of each shop on phones, in seconds · dot: median shop, line: middle half of shops · CrUX, 28 days to 21 Sept 2026

Shopify0.4s
Headless0.8s
Custom build0.9s
Shoper0.9s
All shops1s
PrestaShop1.1s
Magento / Adobe Commerce1.1s
IdoSell1.3s
AtomStore1.3s
WooCommerce1.3s
Source: Chrome UX Report (Google); Outofplace crawl, 23 Sept 2026Download CSVDownload PNG
Show the data
ItemValueRangen
Shopify0.4s0.4s–0.5s121
Headless0.8s0.7s–1.1s44
Custom build0.9s0.6s–1.2s200
Shoper0.9s0.7s–1.1s223
All shops1s0.7s–1.4s1,960
PrestaShop1.1s0.8s–1.4s471
Magento / Adobe Commerce1.1s0.8s–1.6s194
IdoSell1.3s1.1s–1.5s218
AtomStore1.3s1.1s–1.6s36
WooCommerce1.3s1s–2s294
Shopify shops get the first byte fastest, WooCommerce shops slowest. p75 TTFB of each shop on phones, in seconds · dot: median shop, line: middle half of shops · CrUX, 28 days to 21 Sept 2026

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.

Core Web Vitals by platform on phones: shops with field data, the share passing all three, and the median shop's p75
PlatformWith dataAll threeLCPINPCLS
Shopify12263%1.6s165ms0.00
PrestaShop47760%2s141ms0.01
IdoSell21857%2s146ms0.04
Custom build20157%1.8s160ms0.00
All shops1,97553%1.9s155ms0.01
WooCommerce30048%2.2s139ms0.00
Magento / Adobe Commerce19446%2.1s167ms0.03
Headless4440%1.9s185ms0.02
AtomStore3639%2.2s161ms0.05
Shoper22333%1.8s228ms0.03
Download CSV

How to check your own shop's Core Web Vitals

The platform sets a starting point; the theme, the apps or plugins, the images and the hosting decide the rest. To see where your shop stands:

  1. Look up your field data

    Enter your shop's address in PageSpeed Insights (opens in a new tab). If the shop has enough Chrome traffic, the top of the report shows the same CrUX data this study uses, for the page and for the whole site. Search Console's Core Web Vitals report (opens in a new tab) groups your pages by status.

  2. Read phones first, at p75

    A metric passes when three in four visits are within its threshold. More shops fail on phones than on desktops, so start there.

  3. Fix the metric that fails

    Slow LCP usually starts on the server or with the main product or banner image (optimising LCP (opens in a new tab)). Poor INP comes from scripts that keep the phone busy when the shopper taps: widgets, tag managers, heavy theme code (optimising INP (opens in a new tab)). CLS comes from images without dimensions and banners that push the page down.

  4. Compare with your platform

    If your shop is well behind the median shop on the same platform in the table above, the platform isn't the problem: the theme, the add-ons or the hosting are.

  5. Check again after four weeks

    CrUX covers a rolling 28 days, so a fix shows in full only after four weeks.

How we detected each shop's platform

  1. Take every .pl domain

    The Tranco list Y8YYG (22 September 2026) holds 9,208 registrable .pl domains; 8,067 answered with an HTML homepage.

  2. Fingerprint the homepage

    Markers in the HTML, response headers and cookie names, never running the page's JavaScript. Each platform's markers come from the vendors' own showcase stores, which are kept out of the sample.

  3. Decide what counts as a shop

    A platform that only sells makes a site a shop. WooCommerce needs its cart; a site with no platform markers needs two independent shop signals, one of them a cart. That left 2,182 shops.

  4. Check a sample by hand

    Up to 20 shops per platform, 50 custom builds and 30 non-shops were checked against their evidence. Weighted by platform share, 97.1% of the labels were right.

Every platform we identified, its share of the shops and how its fingerprint held up when checked
PlatformShopsShareCheckedCorrect
PrestaShop56126%20100%
WooCommerce36717%2085%
Shoper22710%20100%
Custom build22210%5098%
IdoSell21810%20100%
Magento / Adobe Commerce2059.4%20100%
Shopify1285.9%20100%
Headless462.1%20100%
AtomStore361.7%20100%
SOTESHOP281.3%20100%
shopGold271.2%2095%
AptusShop150.7%15100%
13 more rows
Every platform we identified, its share of the shops and how its fingerprint held up when checked
PlatformShopsShareCheckedCorrect
Selly150.7%14100%
osCommerce130.6%1392%
Shopware120.6%12100%
OpenCart120.6%12100%
RedCart90.4%8100%
Sky-Shop90.4%9100%
Comarch e-Sklep70.3%6100%
Sellingo60.3%6100%
Salesforce Commerce Cloud50.2%5100%
nopCommerce40.2%4100%
Sylius40.2%3100%
SAP Commerce30.1%3100%
Wix Stores30.1%367%
Download CSV
What the fingerprints miss

Large brands on Salesforce Commerce Cloud or SAP Commerce often answer crawlers with a bot challenge; those count as challenges, not as shops of an unknown platform. WooCommerce is the weakest fingerprint (85% correct in the check), because the plugin is often installed on sites that sell nothing. Of 30 homepages we classified as not a shop, 3 were shops after all.

How we measured

What the field data can't tell you

A platform's pass rate describes the shops that chose it, not the software alone. Large retailers with their own developers run Magento, custom builds and headless storefronts; small shops pick SaaS or cheap hosting; themes, apps, images and third-party scripts differ from shop to shop. CrUX sees only Chrome on Android and desktop, averages every page of a site, product pages and checkout included, and leaves out shops with too little traffic. We identified the platform from the homepage on 23 September, so a shop that moved platforms during the 28 days is filed under the new one.

Which ecommerce platform is fastest?

Among Polish online shops in September 2026, Shopify shops passed Core Web Vitals on phones most often (63%), ahead of PrestaShop (60%), IdoSell (57%) and custom-built shops (57%); the four are within each other's margins of error. Shoper shops passed least often (33%). The platform explains only part of it: on most platforms, loading times differ more between shops than between platforms.

Shopify vs WooCommerce: which is faster?

In Chrome UX Report data for Polish shops, 63% of Shopify shops passed Core Web Vitals on phones against 48% of WooCommerce shops. The gap is in loading: 93% of Shopify shops passed LCP against 64%, and the median Shopify shop sent its first byte to phones in 0.4s, the median WooCommerce shop in 1.3s. WooCommerce shops responded to taps slightly faster.

Shoper or IdoSell: which is faster?

On phones, 57% of IdoSell shops passed Core Web Vitals against 33% of Shoper shops. Shoper pages load faster (median LCP 1.8s against 2s) but respond to taps more slowly (median INP 228ms against 146ms). On desktops the two are level, and both lose most often on layout shifts.

What are Core Web Vitals?

Three metrics Google uses to describe how a page feels to real users: Largest Contentful Paint (LCP) for loading, Interaction to Next Paint (INP) for responsiveness and Cumulative Layout Shift (CLS) for visual stability. A page passes when, for three in four visits, LCP is within 2.5 seconds, INP within 200 milliseconds and CLS at 0.1 or less.

How do I check my online shop's Core Web Vitals?

Enter your shop's address in PageSpeed Insights. If your shop has enough Chrome traffic, the top of the report shows the same Chrome UX Report field data this study uses, for the page and for the whole site, on phones and desktops. Search Console's Core Web Vitals report groups your pages by status.

How can I tell which platform an online shop runs on?

View the page source and look for the platform's traces. PrestaShop sets a cookie named PrestaShop- followed by a hash and defines var prestashop; WooCommerce loads files from /wp-content/plugins/woocommerce/; Shopify serves assets from cdn.shopify.com; Magento pages carry text/x-magento-init scripts; Shoper answers with an X-Powered-By: DCSaaS header. A headless shop may show none of these.

Further reading

Web Vitals (opens in a new tab)What LCP, INP and CLS measure and the thresholds Google uses.web.dev
Chrome UX Report methodology (opens in a new tab)Which users, pages and sites the field data covers, and how it is aggregated.developer.chrome.com
Chrome UX Report API (opens in a new tab)The API behind the speed half of this study: one record per origin and device.developer.chrome.com
Optimise Interaction to Next Paint (opens in a new tab)Google's guide to the metric Polish shops fail most often on phones.web.dev
Search & AIAI crawlers vs the Polish web: robots.txt on 1,000 .pl sitesOur study of the same list: how the top 1,000 .pl sites treat AI crawlers.

Tell us what we’re building.

We reply within one business day.