Blog

How to Improve Your Page Speed Score with WordPress + Elementor (Without Breaking Everything)

We’ve been doing a lot of performance tuning lately, and one thing that consistently shows up is a bloated WordPress + Elementor setup dragging performance scores into the red.

Elementor’s flexibility is great — no argument there — but the trade-off is often speed. Out of the box, Elementor can load a lot of frontend assets, extra CSS, inline scripts, and third-party plugin baggage. Add a few years of site growth, some well-intentioned plugin installs, and maybe a legacy theme, and you’ve got yourself a 40/100 on PageSpeed Insights.

In this post, we’ll walk through a real-world tuning process to improve the speed score on an Elementor-powered WordPress site — without compromising the design or gutting functionality. If you’re a marketer or site owner, this is the kind of work your dev team should already be doing. If you’re a developer, this might give you a few workflow ideas.

Let’s get into it.


Start With a Plugin Audit

This is where most performance issues hide. Every plugin adds weight, and Elementor sites in particular tend to accumulate them quickly — especially all the Elementor “helper” addons that promise more widgets, more control, more features. It’s death by a thousand cuts.

The first step is to go plugin by plugin and ask: is this actually doing anything useful on the front end? If you’re not sure, use a combination of browser dev tools, server logs, and even SQL query monitors like Query Monitor to trace what’s actually running.

We disabled the following in a recent audit:

  • Activity log
  • Split test for Elementor (wasn’t being used anymore)
  • Dynamic Conditions
  • Ele Custom Skin (no templates were leveraging it)
  • Enable Media Replace (temporarily removed for staging)
  • Imagify (replaced with a more effective optimizer)

The key is to disable, test, and repeat. You don’t want to pull the plug on something essential without checking — especially on a live site — but you’d be surprised how many plugins are just sitting there doing nothing but loading CSS and JS files sitewide.

We also updated all core page builder tools to their latest stable versions: Elementor, ElementsKit, Polylang connector, Essential Addons, and so on. Don’t underestimate how much bloat or unoptimized code can live in old plugin versions.


Image Optimization: EWWW vs. Everything Else

We migrated from Imagify to EWWW Image Optimizer and set up Easy IO. It’s not a glamorous part of site tuning, but image optimization is foundational. You’ll never get a decent desktop or mobile score if you’re serving uncompressed JPEGs or missing WebP alternatives.

We also ensured all missing next-gen formats were generated. Tip: just toggling “Serve WebP” in an optimizer plugin isn’t enough. You need to confirm they actually exist and are served via rewrite rules or CDN headers.

One note — if you’re trying to debug image optimization and you’ve still got NextGEN Gallery active somewhere in the background, make sure it’s not overriding or blocking optimized delivery.


WP Rocket: Your Best Friend (Until You Misconfigure It)

Caching and minification are crucial, but you have to go in with a scalpel, not a hammer. Too many site owners just enable every toggle in WP Rocket (or LiteSpeed, or W3 Total Cache), and then wonder why layout shifts are worse and functionality is broken.

Here’s how we approached it:

Minify CSS

Enabled, but we excluded known problematic frontend CSS files:

/wp-content/plugins/elementor/assets/css/frontend.css
/wp-content/plugins/elementor-pro/assets/css/frontend.css
/wp-content/plugins/elementskit-lite/widgets/init/assets/css/widget-styles.css
/wp-content/plugins/essential-addons-for-elementor-lite/assets/frontend/eael-general.min.css
/wp-content/plugins/jet-menu/assets/css/jet-menu-public.css
/wp-content/plugins/jet-tabs/assets/css/jet-tabs-frontend.css

We also added a CSS safelist to preserve layout-critical classes:

.elementor-sticky
.elementor-section
.elementor-container
.elementor-row
.elementor-column
.elementor-widget
.elementor-heading-title
.elementor-button
.elementor-icon
.elementor-image
.elementor-spacer
.elementor-nav-menu
.elementor-menu-toggle
.elementor-hidden-phone
.elementor-hidden-tablet
.elementor-hidden-desktop
.header
.footer

Minify and Defer JavaScript

We excluded:

https://assets.adoberesources.net/loader.js
https://fast.wistia.com/assets/external/E-v1.js

JetMenu and JetTabs were also excluded from delayed execution due to layout issues when deferred.

We enabled deferred loading for the rest and delayed JS execution for any non-critical scripts. Always test these settings against your site’s navigation menus, modals, and dynamic content.


Targeting Desktop First

In this case, we focused on improving desktop scores first. Mobile tuning often involves more aggressive steps (image loading strategies, reducing DOM depth, handling font loading differently), so we prioritized cleaning up the big wins on desktop — especially for marketing teams focused on B2B traffic.

If your site is still sitting at 40/100 after this kind of cleanup, chances are you’re dealing with deeper architectural issues like outdated themes, legacy shortcodes, or 3rd-party script payloads from CRMs, chatbots, or embedded analytics.


General Cleanup Tips

  • Remove unused widgets and sections inside Elementor. Hidden blocks still get rendered.
  • Use fewer containers and avoid deep nesting. DOM size is a real issue.
  • Disable default font loading under Elementor Settings > Advanced.
  • Serve fonts locally or via CDN instead of from Google.
  • Reduce the number of third-party scripts running above the fold.

Final Thoughts

You don’t need to rebuild your site or abandon Elementor to fix your performance scores. But you do need to take a deliberate, structured approach. That means plugin audits, image handling, asset control, and testing — not just toggling “minify everything” and hoping for the best.

Performance work is rarely flashy. It’s iterative and often involves undoing decisions made with good intentions. But the results speak for themselves: lower bounce rates, better SEO, and happier users.

If your Elementor-powered WordPress site is dragging, and PageSpeed Insights is flashing red, we can help. We’ve done this work for startups, agencies, and national orgs alike. Reach out and let’s see what’s slowing your site down — and what we can do about it.

Need help with your site speed? Contact us