How we shaved 59.4% off product page load speed

On an Elementor + WooCommerce WordPress build

By Chris · 8 August 2025
  • Our client's speed was slipping so we designed and implemented a quick fix strategy
  • Achieved measurable results in under a week, outperformed main competitors, transformed UX
  • Includes replicable tips you can implement

Site speed is a crucial ranking factor. Slow sites have poor user experience and lower conversions. Fast sites engage users, improve SEO visibility, and lead to more sales.

A key part of our WordPress SEO service is identifying and fixing things that are impacting site speed. This post showcases a targeted set of fixes for our client’s slow product pages that trimmed nearly 60% off load speeds.

If you’ve noticed your site speed slipping, these are real, actionable fixes that you can implement to get things back on track.

The Results

The most noticeable result is for the user: now instead of waiting 5s+ for the page to load, it’s near-instant.

There were dramatic improvements from a metric point of view, too:

  • All Lighthouse performance metrics better than main competitors
  • Speed Index dropped by 59.4%
  • Total blocking time fell from 2s+ to 0ms

Within a week we saw upward movement in keyword positions and site sales.

The Method

We started with a page speed and Core Web Vitals audit using Lighthouse, Chrome DevTools, and real-world metrics from the client’s analytics and Search Console data to benchmark current position and identify blockers.

Then we implemented these fixes:

1. Improved Cache Efficiency with Cloudflare + WP Super Cache

We configured:

We added this code snippet to .htaccess to optimise cache lifetimes, so static assets (like fonts, CSS and JS) could be served faster and more consistently:

<IfModule mod_headers.c>
  <FilesMatch "\.(css|js|woff2|woff|ttf|eot)$">
    Header set Cache-Control "public, max-age=31536000"
  </FilesMatch>
</IfModule>

2. Removed Redundant Scripts

The site runs Elementor, and there’s an inherent trade-off when using theme builders: they offer tons of functionality, but they impact performance. Especially when running out-of-the-box settings.

On this site, tons of scripts and styles were being loaded on product pages that weren’t actually being used.

2.a Dequeued Elementor widgets

We reviewed the product page template and wrote a function to remove all unused widgets:

function dequeue_unused_elementor_widgets() {
wp_dequeue_style('elementor-widget-accordion');
wp_dequeue_style('elementor-widget-alert');
wp_dequeue_style('elementor-widget-audio');
wp_dequeue_style('elementor-widget-carousel');
wp_dequeue_style('elementor-widget-countdown');
wp_dequeue_style('elementor-widget-cta');
wp_dequeue_style('elementor-widget-form');
[etc]
}
add_action('wp_enqueue_scripts', 'dequeue_unused_elementor_widgets', 100);

2.b Font Awesome Optimisation

By default, Elementor loads three Font Awesome sets: solid, regular, and brands. Our client site only used solid, so we wrote a function to remove the others:

add_action('wp_enqueue_scripts', function () {
wp_dequeue_style('elementor-icons-fa-regular');
wp_dequeue_style('elementor-icons-fa-brands');
}, 100);

2.c Switched to System Fonts

Google Fonts add extra delays, and because the visual impact was minimal, we dequeued Google Fonts via a function and switched to system fonts instead:

add_action('wp_enqueue_scripts', function () {
wp_dequeue_style('elementor-google-fonts');
}, 100);

2.b Dequeued Trustpilot & Stripe

The Trustpilot script was called on product pages despite only sending review prompts after checkout. After confirming it wasn’t needed on product pages we safely removed it

Stripe was also called despite only being needed at checkout, so we stripped it.

2.e Disabled reCAPTCHA Where Not Needed

The site used reCAPTCHA on contact forms but the functionality was loading sitewide. We restricted it to only load on form pages.

2.f Dequeued LayerSlider

This slider plugin was only used on the homepage, so we stopped it from loading on other page templates.

3. Preconnected to Key Origins

To reduce connection overhead we preconnected to third-party domains that are still used elsewhere on the site like Trustpilot and Stripe. Even though these scripts aren’t needed on product pages, they still load on relevant routes, so early connection helps reduce latency.

<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
<link rel="preconnect" href="https://cdn.trustpilot.com" crossorigin>
<link rel="preconnect" href="https://js.stripe.com" crossorigin>

This allowed the browser to establish early connections, shaving more time off page load.

4. Testing + Validation

To make sure the fixes were actually woring we tested after each step using:

  • Lighthouse and Chrome DevTools
  • ReqBin (to confirm cache-control headers)
  • Incognito and logged-out sessions
  • Cloudflare’s Cache Analytics

Want Your Site to Run Faster?

The fixes above were just one part of our ongoing SEO management, but it’s a great example of how targeted optimisations can produce fast, tangible results.

In under a week, we drastically improved product page performance, reduced unnecessary bloat, and created a faster, cleaner user experience.

If you’re looking for similar results for your site feel free to borrow the tips above, or get in touch with our technical SEO team to see how we can help 👍

Table of Contents

Featured Posts

Will AI kill SEO?

TL;DR probably not

Read more

Search history

SEO has changed so much, but it also hasn’t changed at all

Read more
Chat on WhatsApp