Real-world case study: how we took a WooCommerce furniture store from PageSpeed 40 to 98, achieving sub-1-second loads and +108% conversion rate increase.
EN

From 40 to 98 PageSpeed: How We Transformed a WooCommerce Store

5.00 /5 - (24 votes )
Last verified: May 1, 2026
11min read
Case study
Core Web Vitals
WooCommerce expert

Every second counts in e-commerce. Research consistently shows that a one-second delay in page load time can reduce conversions by 7 percent. For a WooCommerce store processing thousands of orders per month, that translates directly to lost revenue. This case study documents how our team at WPPoland transformed a struggling European furniture e-commerce store from a PageSpeed score of 40 to 98 - and what that meant for their bottom line.


#The Client: A European Furniture E-Commerce Store

Our client operates a mid-size online furniture store serving customers across Central and Western Europe. With a catalog of over 3,500 products, 12,000 product images, and average order values exceeding EUR 420, the stakes were high. Their WooCommerce store had grown organically over five years, accumulating technical debt with every plugin installation, theme customization, and third-party integration.

By early 2026, the store was hemorrhaging revenue. Competitors with faster sites were outranking them in search results, and mobile users - who accounted for 64 percent of their traffic - were abandoning the site in droves.


#The Challenge: Death by a Thousand Plugins

When we first audited the site, we found a familiar but severe pattern of performance degradation:

  • 38 active plugins, many with overlapping functionality
  • Shared hosting environment with no server-level caching
  • Unoptimized database with over 2.3 million expired transients
  • 12,000 product images served as uncompressed PNG and JPEG files
  • No CDN - all assets served from a single origin server in Germany
  • Render-blocking JavaScript from 14 plugins loading on every page
  • 5-step checkout process with 22 form fields

The result was a site that felt broken on mobile. Pages took 8 seconds to load, the layout jumped around as elements rendered, and the checkout process was so cumbersome that 68 percent of visitors bounced before completing a purchase.

#Before Metrics

MetricValueRating
PageSpeed Score (Mobile)40Poor
Largest Contentful Paint (LCP)8.2sPoor
Interaction to Next Paint (INP)680msPoor
Cumulative Layout Shift (CLS)0.35Poor
Conversion Rate2.3%Below Industry Avg
Bounce Rate68%Critical
Time to First Byte (TTFB)2.4sPoor
Total Page Weight6.8 MBExcessive

#Our Approach: The 7-Phase Optimization Methodology

We follow a systematic, data-driven approach to WordPress speed optimization. Each phase builds on the previous one, and we measure the impact of every change in isolation before moving to the next.

#Phase 1: Technical Audit (Days 1–3)

Before touching a single line of code, we spent three days profiling every aspect of the site:

  • GTmetrix Waterfall Analysis to identify the longest request chains
  • WebPageTest multi-location tests from Frankfurt, London, and Warsaw
  • Chrome DevTools Performance Panel recording to profile main-thread activity
  • Database query logging using the Query Monitor plugin to find slow queries
  • Plugin profiling to measure each plugin’s impact on page load

The audit revealed that 73 percent of the load time was attributable to three factors: unoptimized images (31 percent), excessive JavaScript (26 percent), and slow database queries (16 percent).

#Phase 2: Server Optimization (Days 4–7)

The foundation of any fast website is the server. We migrated the client from shared hosting to a dedicated VPS with the following stack:

  • LiteSpeed Web Server with HTTP/3 and QUIC support
  • Redis Object Cache for persistent WordPress object caching
  • MariaDB 11.4 with optimized my.cnf configuration
  • PHP 8.3 with OPcache preloading enabled

The LiteSpeed configuration included specific tuning for WooCommerce:

# LiteSpeed cache rules for WooCommerce
<IfModule LiteSpeed>
  CacheLookup on
  RewriteRule .* - [E=Cache-Control:no-autoflush]
  RewriteRule ^/cart.* - [E=Cache-Control:no-cache]
  RewriteRule ^/checkout.* - [E=Cache-Control:no-cache]
  RewriteRule ^/my-account.* - [E=Cache-Control:no-cache]
</IfModule>

The Redis configuration was tuned for WooCommerce session handling:

// wp-config.php additions for Redis
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_MAXTTL', 86400);
define('WP_REDIS_PREFIX', 'wc_store_');
define('WP_REDIS_SELECTIVE_FLUSH', true);

Impact after Phase 2: TTFB dropped from 2.4 seconds to 180 milliseconds.

#Phase 3: Database Cleanup (Days 8–11)

Five years of operation had left the database in a critical state. We performed a methodical cleanup:

  1. Removed 2.3 million expired transients - the wp_options table had grown to 847 MB
  2. Optimized 47 slow queries identified during the audit phase
  3. Added missing indexes to wp_postmeta and wp_wc_order_stats tables
  4. Cleaned orphaned post meta - 340,000 rows of metadata for deleted products
  5. Converted tables to InnoDB where MyISAM was still in use

The custom indexing significantly improved product search and filtering:

-- Custom indexes for WooCommerce product queries
ALTER TABLE wp_postmeta ADD INDEX idx_meta_lookup (meta_key, meta_value(32));
ALTER TABLE wp_wc_product_meta_lookup ADD INDEX idx_price_stock (min_price, max_price, stock_status);
ALTER TABLE wp_woocommerce_order_items ADD INDEX idx_order_type (order_id, order_item_type);

Impact after Phase 3: Database query time dropped by 84 percent, and the wp_options table shrank from 847 MB to 12 MB.

#Phase 4: Image Optimization (Days 12–15)

With 12,000 product images, this phase had the largest individual impact on page weight:

  • Converted all images to AVIF format with WebP fallback for older browsers
  • Implemented responsive srcset with breakpoints at 320, 640, 960, 1280, and 1920 pixels
  • Added lazy loading with native loading="lazy" for all below-the-fold images
  • Set explicit dimensions on every <img> tag to eliminate CLS from image loading
  • Implemented blur-up placeholders using Low Quality Image Placeholders (LQIP)

The image processing pipeline was automated using a custom WP-CLI command:

wp media regenerate --image_size=all --format=avif --quality=75

Impact after Phase 4: Average page weight dropped from 6.8 MB to 1.2 MB. LCP improved from 5.1 seconds (post-server optimization) to 1.4 seconds.

#Phase 5: JavaScript Audit (Days 16–19)

The JavaScript audit was surgical. We categorized every script on the site:

CategoryScriptsAction
Critical (checkout, cart)4Kept, optimized
Analytics & tracking3Moved to Web Worker
Unused plugin scripts14Removed entirely
UI enhancements6Deferred, conditionally loaded

For the analytics scripts, we implemented a delayed loading pattern:

// Delay non-critical scripts until user interaction
const loadDeferredScripts = () => {
  const scripts = document.querySelectorAll('script[data-defer-src]');
  scripts.forEach(script => {
    const newScript = document.createElement('script');
    newScript.src = script.dataset.deferSrc;
    newScript.async = true;
    document.body.appendChild(newScript);
  });
};

['mouseover', 'touchstart', 'scroll', 'keydown'].forEach(event => {
  window.addEventListener(event, loadDeferredScripts, { once: true });
});

We also eliminated render-blocking CSS by inlining critical styles and deferring the full stylesheet:

<link rel="preload" href="/wp-content/themes/theme/style.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/wp-content/themes/theme/style.css"></noscript>

Impact after Phase 5: INP dropped from 680ms to 62ms. Total JavaScript payload reduced by 78 percent.

#Phase 6: Checkout Optimization (Days 20–23)

A fast site means nothing if the checkout is a conversion killer. We redesigned the entire checkout flow:

  • Reduced from 5 steps to 2 steps (shipping + payment on one page, confirmation on the next)
  • Removed 14 unnecessary form fields (company name, phone 2, fax, etc.)
  • Added express payment options (Apple Pay, Google Pay, Klarna)
  • Implemented address autocomplete using the Google Places API
  • Added real-time form validation to prevent errors at submission
// Remove unnecessary WooCommerce checkout fields
add_filter('woocommerce_checkout_fields', function ($fields) {
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_phone_2']);
    unset($fields['billing']['billing_fax']);
    unset($fields['order']['order_comments']);
    return $fields;
});

// Add express payment gateway support
add_action('woocommerce_review_order_before_payment', function () {
    if (class_exists('WC_Payment_Gateway')) {
        echo '<div id="express-checkout-buttons" class="express-payment-wrapper">';
        do_action('woocommerce_express_checkout_buttons');
        echo '</div>';
    }
});

Impact after Phase 6: Cart abandonment rate dropped by 34 percent. Average checkout completion time reduced from 4 minutes 12 seconds to 1 minute 38 seconds.

#Phase 7: CDN and Edge Caching (Days 24–28)

The final layer of optimization ensured that the performance gains were consistent across all European markets:

  • Cloudflare Pro with custom page rules for WooCommerce
  • Edge caching for static product pages with 4-hour TTL
  • Browser caching headers with cache-busting via content hashing
  • Brotli compression enabled at the edge for all text-based assets
  • Early Hints (103) for critical resources
# Cloudflare page rules
URL: *example.com/product/*
Cache Level: Cache Everything
Edge Cache TTL: 4 hours
Browser Cache TTL: 1 hour

URL: *example.com/cart*
Cache Level: Bypass

URL: *example.com/checkout*
Cache Level: Bypass

Impact after Phase 7: Global TTFB dropped to under 100 milliseconds. Users in Western Europe experienced sub-800ms full page loads.


#The Results: After Metrics

After four weeks of systematic optimization, the transformation was dramatic:

MetricBeforeAfterImprovement
PageSpeed Score (Mobile)4098+145%
Largest Contentful Paint (LCP)8.2s0.8s-90%
Interaction to Next Paint (INP)680ms45ms-93%
Cumulative Layout Shift (CLS)0.350.02-94%
Conversion Rate2.3%4.8%+108%
Bounce Rate68%34%-50%
Time to First Byte (TTFB)2.4s0.09s-96%
Total Page Weight6.8 MB1.1 MB-84%

#Business Impact: The Numbers That Matter

Technical metrics are satisfying, but business metrics are what justify the investment:

  • +108% conversion rate increase - from 2.3% to 4.8%
  • +156% mobile revenue - mobile users could finally shop without frustration
  • -52% bounce rate reduction - visitors stayed and browsed instead of leaving
  • ROI achieved in 6 weeks - the optimization project paid for itself in under two months
  • +23% average order value - faster product browsing led to more items per cart
  • +41% organic traffic - improved Core Web Vitals contributed to better search rankings within 8 weeks

The client estimated that the annual revenue increase attributable to the optimization exceeded EUR 380,000, against a project cost that was a fraction of that figure.


#Lessons Learned

Every optimization project teaches us something new. Here are the key takeaways from this engagement:

#1. Server Infrastructure Is the Foundation

No amount of front-end optimization can compensate for a slow server. The migration from shared hosting to a tuned LiteSpeed VPS accounted for 35 percent of the total performance improvement.

#2. Database Hygiene Is Non-Negotiable

WooCommerce stores generate enormous amounts of transient data. Without regular cleanup, the wp_options table becomes a bottleneck that affects every single page load. Automated weekly cleanup should be standard for any WooCommerce store.

#3. Fewer Plugins, Faster Store

Of the 38 plugins installed, 14 were either unused, redundant, or replaceable with lightweight code snippets. Every plugin adds database queries, JavaScript, and CSS - even when its functionality is not needed on the current page.

#4. Images Are the Low-Hanging Fruit

Converting to AVIF and implementing responsive images reduced page weight by over 80 percent. This single change, which can be largely automated, delivers the most visible improvement to end users.

#5. Checkout UX Is a Revenue Lever

The checkout redesign, while not a traditional “performance” optimization, had the most direct impact on revenue. Reducing friction in the purchase flow is as valuable as reducing load times.

#6. Measure Everything in Isolation

By implementing changes in phases and measuring after each one, we could quantify the exact impact of every optimization. This data-driven approach prevents wasted effort and builds a clear narrative for stakeholders.


#Timeline Summary

WeekPhaseKey Activities
Week 1Audit + ServerFull technical audit, server migration, Redis setup
Week 2Database + ImagesTransient cleanup, query optimization, AVIF conversion
Week 3JavaScript + CheckoutPlugin removal, script deferral, checkout redesign
Week 4CDN + QACloudflare setup, edge caching, comprehensive testing

#Is Your WooCommerce Store Leaving Money on the Table?

If your store scores below 70 on PageSpeed Insights, you are losing customers every single day. Our WooCommerce optimization service follows the same proven methodology described in this case study, tailored to your specific store and infrastructure.

We offer a free initial performance audit - a detailed report showing exactly where your store is losing speed and how much revenue that costs you. No obligations, no sales pitch, just data.

Contact WPPoland to schedule your audit, or learn more about our WordPress speed optimization services.


Next step

Turn the article into an actual implementation

This block strengthens internal linking and gives readers the most relevant next move instead of leaving them at a dead end.

Related cluster

Explore other WordPress services and knowledge base

Strengthen your business with professional technical support in key areas of the WordPress ecosystem.

How long does a WooCommerce speed optimization project take?
A comprehensive optimization project typically takes 3-5 weeks, depending on the size of the store and the number of products. Our 7-phase methodology ensures nothing is missed.
What is the most impactful optimization for WooCommerce stores?
Server infrastructure and database optimization together account for roughly 60 percent of performance gains. Moving from shared hosting to a properly configured VPS with object caching is the single biggest improvement.
Can you optimize WooCommerce without changing the theme?
Yes. Most of our optimizations are server-side, database-level, and asset-pipeline changes that do not require a theme swap. However, poorly coded themes may limit how far you can push scores.
What PageSpeed score should a WooCommerce store target?
We recommend targeting 90 or above on mobile. Product pages with dynamic content may score slightly lower than static pages, but sub-2-second LCP is achievable on all page types.
Does WooCommerce optimization affect SEO rankings?
Page speed is a confirmed Google ranking factor. Stores that improve Core Web Vitals typically see 15-30 percent increases in organic traffic within 3 months.

Need an FAQ tailored to your industry and market? We can build one aligned with your business goals.

Let’s discuss

Related Articles

How we took a slow WooCommerce site from score 45 to 100. A technical deep dive into Speculation Rules, AVIF, and Critical CSS in 2026.
performance

100/100 Core Web Vitals on WordPress

How we took a slow WooCommerce site from score 45 to 100. A technical deep dive into Speculation Rules, AVIF, and Critical CSS in 2026.

Master every aspect of WooCommerce performance optimization - from database tuning and Redis caching to cart fragment fixes and headless architecture. Practical steps with measurable results.
wordpress

WooCommerce Performance Optimization: The Complete Guide 2026

Master every aspect of WooCommerce performance optimization - from database tuning and Redis caching to cart fragment fixes and headless architecture. Practical steps with measurable results.

A practical guide to Speculation Rules API, prefetch, prerender, and modern optimization techniques. Code that works in 2026.
performance

Speculation Rules API for WordPress and WooCommerce

A practical guide to Speculation Rules API, prefetch, prerender, and modern optimization techniques. Code that works in 2026.