BASAD.
Back to Blog
9 min readBASAD Studios

How to Speed Up Your E-shop and Increase Conversions

Every 100ms of delay costs you conversions. How to measure e-shop speed, what to fix first, and where most stores silently lose customers.

e-commerceperformanceconversionsCore Web Vitals
How to Speed Up Your E-shop and Increase Conversions

A slow e-shop is not just a technical problem — it is a business problem. Google's 2023 research found that every 100 ms of load time delay reduces the conversion rate by 0.3 to 1%. A Deloitte study showed that improving speed by 0.1 seconds led to an 8.4% increase in conversions and a 9.2% increase in average order value for retail e-commerce. Yet most store owners only start investigating slow loading when revenue starts dropping — and even then they look in the wrong places.

Measure first, then fix

Before any optimisation, you need to know exactly where the problem lies. The most common mistake is to upgrade hosting or compress a few images and then wonder why nothing improved.

The core tools you should know:

Google PageSpeed Insights (pagespeed.web.dev) — enter your store's URL and get a score from 0 to 100 for both mobile and desktop. The important numbers come from real-user data (CrUX data), not just the lab test. A score below 50 on mobile is a critical state.

Core Web Vitals are three metrics Google uses as a ranking signal:

MetricWhat it measuresGood value
LCP (Largest Contentful Paint)How fast the main content loadsunder 2.5 s
INP (Interaction to Next Paint)How fast the page responds to clicksunder 200 ms
CLS (Cumulative Layout Shift)How much the page jumps during loadunder 0.1

Google Search Console → "Web Experience" section shows your real-visitor data, not a simulated test.

Real-world example: Autodíly Procházka, a car parts retailer based in Pardubice, had a PageSpeed score of 38 on mobile. The audit revealed the main issue was an LCP of 6.8 s caused by the first hero product image — a 2.1 MB file that wasn't preloaded. Fixing that single problem moved the LCP to 2.9 s and the overall score to 61.

Image optimisation: the biggest speed gain for the least effort

Images account for 50–70% of the total page weight on a typical e-shop. Product photos, banners, icons, logos — the vast majority of stores serve them incorrectly.

Format: Switch to WebP. It is supported by all modern browsers and is on average 25–35% smaller than JPEG at equivalent visual quality. If you are on Shopify or WooCommerce, there are plugins that handle conversion automatically. Custom builds should convert images at upload time.

Dimensions: Serve images at the size they are actually displayed. A product photo shown at 400×400 px does not need to be 2000×2000 px. Use the srcset attribute to serve different sizes for different screen widths.

Lazy loading: Images below the fold do not need to load immediately. The loading="lazy" attribute on <img> tags tells the browser to wait until the user scrolls closer. Exception: the first image on a page (hero or first product) should never be lazy-loaded — preload it instead using <link rel="preload">.

Compression: Tools like Squoosh, ImageOptim, or automated pipelines (Sharp for Node.js) can reduce file sizes by 40–80% without visible quality loss.

Practical tip: Run a quick audit — open Chrome DevTools (F12), go to the Network tab, filter by Img, and reload the page. Sort by file size. The top five images likely account for 80% of image weight. Start there.

JavaScript bloat: what is dragging your store down

The average e-shop page today contains 400–600 kB of JavaScript. Ten years ago it was 50–80 kB. Most of this growth brings no value to the customer — it is analytics scripts, chatbots, A/B testing tools, review widgets, and tracking pixels.

Each of these scripts:

  • blocks or slows down page rendering
  • consumes device CPU (critical on older phones)
  • adds network requests

What to audit and who the usual suspects are:

Script typeTypical weightDo you really need it?
Google Tag Manager (with 15 tags)80–150 kBAudit what you have in GTM
Facebook Pixel50 kBOnly if you are actively running ads
Hotjar / Microsoft Clarity60–120 kBOnly if you actively read the data
Live chat widget80–200 kBConsider how many conversions it generates
Page builder (Elementor, etc.)200–400 kBThe biggest offender
Third-party review widgets30–80 kBConsider a native implementation

Page builders deserve a special mention. Tools like Elementor or Divi generate enormous amounts of redundant CSS and JavaScript. If your store runs on WordPress with Elementor, the page builder alone can account for 30–50% of total page weight.

Real-world example: Fashion boutique Elegance Praha migrated from WooCommerce with Elementor to a hand-coded custom theme. Without any other changes, JavaScript weight dropped from 890 kB to 180 kB. The mobile PageSpeed score went from 41 to 79. Conversion rate improved by 14% in the first month.

Server-side rendering vs. client-side for product pages

This is an architectural decision that significantly affects performance — and many e-shops get it wrong.

Client-side rendering (CSR): The browser downloads an empty HTML file, downloads JavaScript, executes it, and only then does the JavaScript fetch product data and render the page. The result: slow first load, poor LCP, and indexing issues.

Server-side rendering (SSR): The server returns complete HTML with product data already embedded in the response. The browser renders immediately. JavaScript is added afterwards for interactivity.

For e-shop product pages, SSR is almost always the right choice. Data changes infrequently (stock, price), pages are indexed by Google, and customers arrive for the first time with nothing cached.

Practical tip: If you are using Next.js, use getStaticProps for product pages with revalidation every 60–300 seconds (ISR). For products with highly dynamic prices or stock levels, use getServerSideProps. Avoid useEffect for loading basic product data — that is the classic CSR mistake that tanks your LCP.

Checkout optimisation: where customers actually leave

Average cart abandonment sits at 70%. Some of this is inevitable — people comparison shop, close tabs, get interrupted. But a large portion is caused by a poor checkout experience.

Factors that drive customers away:

Mandatory registration is a conversion killer. The Baymard Institute found that 26% of customers abandon checkout when forced to create an account. Always offer guest checkout — you can offer registration after the order is confirmed.

Number of checkout steps: the ideal is 2–3 steps (cart → shipping and payment → confirmation). Every extra step causes drop-offs. Shipping, payment, contact details, and billing address can often fit on a single page.

Cost transparency: customers hate surprises. Show shipping fees and any payment surcharges as early as possible — ideally in the cart itself. If a customer discovers a card processing fee in the final step, they will leave.

Payment methods: What customers in Central Europe expect:

  • Credit and debit cards (Visa, Mastercard)
  • Bank transfer / QR payment
  • Cash on delivery (still 15–25% of orders in many segments)
  • Apple Pay / Google Pay (growing fast, especially on mobile)
  • Buy now, pay later (useful for higher average order values)

Real-world example: Sports retailer RunCzech added Apple Pay and Google Pay buttons. On mobile devices, checkout conversion increased by 22% — customers no longer had to type their card number on a small keyboard.

Mobile performance: priority number one

On average, 60–70% of e-shop traffic comes from mobile devices. Yet most stores are optimised primarily for desktop.

Mobile testing must happen on real devices, not just Chrome DevTools simulation. A mid-range phone on an average 4G connection is a realistic model of your customer. The PageSpeed Mobile test simulates exactly these conditions.

Common mobile-specific problems:

Tap targets too small: buttons and links need at least a 44×44 px tap area. A tiny "add to cart" button means customers have to tap multiple times, which is frustrating enough to cause abandonment.

Font loading: system fonts load instantly; custom web fonts add 50–300 ms of latency. Limit yourself to 1–2 custom fonts and use font-display: swap.

Unnecessary redirects: every redirect from http:// to https://, from www. to non-www., or from a mobile subdomain to the main domain adds 100–300 ms. Servers should respond directly without redirect chains.

Quick wins vs. long-term fixes

Not every optimisation requires the same investment. Here is a realistic breakdown of what can be done quickly and what requires deeper work:

ProblemFix effortPotential performance impact
Compress and convert images to WebPLow (plugin or script)High
Add lazy loading to imagesLow (one attribute)Medium
Remove unused tracking scriptsLow (GTM audit)Medium to high
Add guest checkoutLow (configuration)High (conversions)
Add Apple Pay / Google PayLow (payment gateway integration)High (mobile conversions)
Move static files to a CDNMediumMedium
Preload critical fonts and imagesMediumMedium
Migrate from CSR to SSR for product pagesHighVery high
Rebuild theme without a page builderHighVery high
Optimise database queriesHighVery high (large catalogues)

Always start with low effort and high impact — that quadrant gives you the best return for the least money. Architectural changes make sense only after you have exhausted the simpler options.

Practical tip: Set up automated monthly Core Web Vitals monitoring through Google Search Console or tools like Sentry Performance. Performance degrades over time — every new plugin, every new tracking script adds a little more weight. Without monitoring you will not notice until the problem is serious.

At BASAD Studios, we build e-shops with performance as a first-class requirement from day one — no unnecessary page builders, properly optimised images, SSR where it makes sense. If you feel your store could be earning more, get in touch or check out our e-commerce service.