The audit, the seven fixes in order of impact, and the results: LCP cut from 6.2 s to 1.4 s, and Google Ads enquiries roughly doubled in the first month.

Performance
94MOBILE PAGESPEEDfrom 54
LARGEST CONTENTFUL PAINT1.4swas 6.2s
PAGE WEIGHT890KBwas 4.8MB
ENQUIRY RATE (ADS)3%+was 1.2%

Short answer

The site was slow because of the page builder. Rebuilding the theme without Elementor, converting images to WebP, hosting fonts locally, cutting plugins, and adding caching and a CDN took mobile PageSpeed from 54 to 94 and LCP from 6.2 s to 1.4 s.

TL;DR

Skim this first.

  1. 01The page builder was the root cause. Most of the other problems grew around it.
  2. 02Seven fixes, done in order of expected impact, biggest first.
  3. 03Page weight fell from 4.8 MB to 890 KB, and HTTP requests from 72 to 18.
  4. 04Same NZ$800 a month on Google Ads, with the enquiry rate up from about 1.2% to just over 3%.
On this page
  1. The brief
  2. Before & after
  3. The audit
  4. The fixes, step by step
  5. What each fix contributed
  6. The business result
  7. Tools I used on this project
  8. Is your WordPress site slow?
  9. Key takeaways

Snowden Electrical is an electrical contractor in Auckland. Their WordPress site scored 54 on mobile PageSpeed. After the work below it scored 94, and the phone started ringing more often.

The brief

James Snowden’s site had been built by a local agency about 18 months earlier. He was paying for Google Ads, but visitors were leaving before the page finished loading, and fewer than 1% of paid clicks turned into enquiries.

His request was simple: make it fast, whatever that takes.

Before & after: the numbers

Snowden Electrical homepage, mobile and desktop
MetricBeforeAfter
PageSpeed (mobile)5494
PageSpeed (desktop)6897
Largest Contentful Paint6.2 s1.4 s
Cumulative Layout Shift0.180.02
Interaction to Next Paint340 ms68 ms
Page size4.8 MB890 KB
HTTP requests7218

Mobile tested on a Moto G Power over fast 4G, measured 48 hours after deployment.

The audit: what I found

I ran the site through PageSpeed Insights, GTmetrix and the Performance panel in Chrome DevTools. Seven problems stood out:

  • A 1.8 MB uncompressed PNG hero image, which alone pushed mobile LCP to 6.2 seconds.
  • Elementor loading 14 JavaScript files on every page, including pages that didn’t use it.
  • 11 active plugins, four of them doing the same jobs: two SEO plugins, duplicate caching and several form handlers.
  • Google Fonts adding two render-blocking requests.
  • No caching, so every visit ran PHP and MySQL from scratch.
  • Full-size images in small slots, such as a 1,400 px file in a 150 × 150 px space.
  • No CDN, with every asset served from a shared host in the US.
The root cause was the page builder. Elementor made the site quick to build but slow to load, and most of the other problems grew around it.

The fixes, step by step

I ordered the fixes by expected impact, biggest first.

01Rebuilt the theme without a page builder

I rebuilt the theme in custom PHP with a template for each page type and removed Elementor’s 189 KB core script bundle. That alone cut HTTP requests from 72 to 31.

02Converted images to WebP and lazy-loaded them

The hero went from a 1.8 MB PNG to a 180 KB WebP. Every image got explicit width and height attributes, images below the fold load lazily, and the hero is preloaded.

03Hosted Google Fonts locally

Serving the font files from the same server, with the @font-face rules inlined in the main stylesheet, brought text on screen about 400 ms sooner.

04Cut plugins from 11 to 5

Yoast and Rank Math were fighting each other, so both went. A social-sharing plugin became inline SVG icons, and a one-page form builder and an unused legacy slider were removed.

05Turned on caching with WP Rocket

Full-page caching with a 10-hour lifetime, combined and minified CSS and JS, and browser caching headers. Repeat visits are now served static HTML in under 60 ms.

06Added the Cloudflare CDN

Static files from the US host were adding about 180 ms for New Zealand visitors. Cloudflare’s free tier serves them from an Auckland edge, and time to first byte fell from 480 ms to under 100 ms.

07Fixed layout shift (CLS 0.18 → 0.02)

Three things made the page jump: images without dimensions, web fonts swapping in late, and a cookie banner that appeared after 1.5 seconds and pushed content down. Image dimensions, preloaded fonts with font-display: swap, and a fixed-overlay cookie banner fixed all three.

What each fix contributed

Approximate points each fix added to the mobile score:

Theme rebuilt without Elementor
WebP hero and image sizes
Local Google Fonts
WP Rocket caching
Cloudflare CDN
Plugin audit

These overlap, so they add up to more than the 40-point gain.

The business result

The speed work mattered because of what it did for enquiries.

Same NZ$800 a month on Google Ads. Enquiry rate up from about 1.2% to just over 3% in the first 30 days.

Snowden Electrical · Auckland

Organic search moved too. Within six weeks the site went from page 3 to page 1 for “electrician Auckland”, helped by the Core Web Vitals gains and the schema markup added during the rebuild.

Tools I used on this project

Google PageSpeed InsightsMain score, using real-world Core Web Vitals data.
GTmetrixWaterfall chart to find the slowest resources.
Chrome DevToolsPerformance panel to trace LCP and layout shifts frame by frame.
SquooshImage compression and WebP conversion.
WP RocketCaching, minification and lazy loading.
CloudflareFree CDN with an Auckland edge location.

Is your WordPress site slow?

Run your homepage through PageSpeed Insights on mobile and compare it with these thresholds:

Score under 70

Worth fixing. Look at LCP, image sizes and render-blocking files first.

CLS above 0.1

Usually images without dimensions or fonts loading late.

INP above 200 ms

Too much JavaScript on the main thread, often from a page builder.

Mohtsham Ahmad

WordPress developer and web strategist. I build fast custom themes, page-builder sites and WooCommerce stores for businesses in New Zealand, Australia and the USA.

Key takeaways

Keep these.

  1. 01
    A badly configured page builder is the most common cause of a slow WordPress site.

    This hand-coded theme needed 18 requests; the Elementor version needed 72.

  2. 02
    Fix the LCP element first.

    On most business sites it’s the hero image.

  3. 03
    Host your fonts yourself.

    Google Fonts costs a DNS lookup, a TLS handshake and a render-blocking request.

  4. 04
    A slow site is a sales problem.

    This one converted at 1.2% when it could have converted at 3%.

Free audit

Send me your URL for a free performance audit, with fixes ranked by impact. No obligation.

or email hello@mohtsham.com