How To Speed Up Your Slow Elementor Website In 24 Steps: Advanced Guide For Passing Core Web Vitals Updated For 2025

Slow elementor website

This is a comprehensive list of Elementor speed optimizations.

Before starting this tutorial, I highly recommend testing your site in the Chrome Dev Tools Network reportKeyCDN’s Performance Test. These tell you whether your Elementor site is slow from CSS/JavaScript, images, fonts, or TTFB (which is also 40% of LCP in core web vitals).

Experiments are covered in steps 1-4, fonts are covered in steps 3-6, CSS/JavaScript in 7-14, images in 15-17, and TTFB/memory usage are mainly related to hosting/CDN in steps 18-20.

It’s true, Elementor adds more CSS/JavaScript than Gutenberg. But this usually only becomes an issue when you install extra Elementor plugins and don’t properly optimize your site. Then you check your coverage report and see this. A slow host/CDN/cache plugin won’t help either.

Since this is a blog about WordPress speed, I replaced Elementor with GeneratePress which is more lightweight. However, I’m not here to convince you to do that. You can still get excellent PageSpeed scores with Elementor, it just requires extra steps and knowing what to look out for.

Hope this helps (lmk if you have questions).

 

1. Activate Elementor Experiments

Head to Elementor → Settings → Experiments, then activate the following:

Elementor experiments 2

Inline Font Icons – font icons (i.e. Font Awesome + eicons) will load inline as SVGs without loading the entire library. This means less CSS requests and render-blocking CSS issues in PSI.

Lazy Load Background Images – you originally had to use an optimization plugin that came with a “lazy-bg” helper class (or similar) and add it to your background images. This is easier.

Optimized DOM Output – addresses avoid an excessive DOM size item in PSI by removing unnecessary div wrappers (elementor-inner, elementor-row, and elementor-column-wrap).

Improved Asset Loading – only loads lightbox and screenful libraries, the dialog library, and share links library when they’re being used on a page, resulting in less JavaScript on your site.

Improved CSS Loading – only loads widget CSS and animations where they’re being used (while loading them inline), resulting in less CSS and render-blocking resources on your site.

Usage Data Sharing – sharing data with plugin developers requires a small amount of server resources which are used to send the data. Therefore, I recommend disabling this in all plugins.

Elementor with without experiments font optimization
This test was done before “lazy load background images” was released (which reduces image requests)

 

2. Change CSS Print Method To “External File”

While there are pros & cons for each, external CSS files can be cached and they don’t increase the size of HTML. You can test the results for your site, but I generally recommend external file.

Elementor css print method

 

3. Disable Default Fonts/Icons

In the next couple steps, we’re going to only load fonts you need (locally using woff2) while preloading them. And the first step is to disable both Google Fonts and Font Awesome icons.

Elementor disable google fonts font awesome

Disable default fonts elementor

When changing font/CSS settings, you should regenerate CSS & data in Elementor’s Tools settings, then test results in a Waterfall chart like GTmetrix or Chrome Dev Tools. You can immediately tell if fonts are hosted locally, using the faster woff2 format, and the brown bar in GTmetrix indicates blocking time which can be reduced via preloading.

Fonts gtmetrix waterfall chart

 

4. Host Fonts Locally Using woff2

If fonts.gstatic.com or other third-party fonts load on your site, host them locally instead.

Step 1: Go to the Google Fonts website (or another font site) and download your fonts. Make sure you only select the weights you need since too many weights will increase the file size.

Step 2: Convert them to woff2 using CloudConvert (woff2 files are smaller than .ttf).

Step 3: Upload the fonts as custom fonts (Tony Teaches Tech has a video tutorial). If you’re not using Elementor Pro, OMGF downloads them automatically when you click “save & optimize” in the settings. It can also load fonts early (preloading them) or you can choose not to load them at all [screenshot]. Web Squadron has another video tutorial if you need more clarification on this.

Elementor custom font types

 

5. Preload Fonts

The final step is to preload fonts loading above the fold.

Copy their files names, then preload them which you can do in most optimization plugins. You should also preload eicons and Font Awesome Icons if you use them. Once fonts are preloaded, you should see blocking time decrease (which is shown as the brown bar in the Waterfall chart).

Elementor eicons

Check your Console report for errors since preloading unused fonts decreases performance.

Chrome dev tools preload error

 

6. Leave Google Fonts Load As “Swap” (If Using Google Fonts)

Setting Google Fonts Load to “swap” fixes ensure text remains visible during webfont load. However, Font Awesome recommends font-display: block since it makes them non render-blocking. You can also change font-display property in Elementor Pro’s custom fonts. Zach Leatherman has a detailed analysis if you want to dive into definitions and pros/cons of each.

Elementor google fonts load swap

To add font-display: swap manually, find your font’s CSS file or search for the font using String Locator if you’re not sure where it’s located. Then simply add font-display: swap to the font face.

@font-face {
font-family: "Lato Regular";
font-weight: 300;
font-style: normal;
src: url("fonts/Lato-Regular-BasicLatin.woff2") format("woff2");
font-display: swap;
}

 

7. Disable Gutenberg’s wp-block-library

Since you’re using Elementor, you can disable Gutenberg which adds an extra CSS file to your site (/wp-includes/css/dist/block-library/style.min.css). You can find this in your source code:

Gutenberg wp block library css 1

You can use the Disable Gutenberg plugin or the script manager in Perfmatters. If you’re only using Gutenberg in certain sections of your site, both options let you control where it’s loaded.

Disable gutenberg plugin

 

8. Remove Unused CSS With Elementor Exclusions

The fastest way to remove unused CSS is with FlyingPress, Perfmatters, or LiteSpeed Cache.

WP Rocket’s is slower because it loads used CSS inline instead of a separate file. This is bad because it increases HTML size and can’t be cached. While nearly every single optimization plugin and “speed expert” agrees separate file is better (including Vikas Sharma who is very active in Facebook Groups), WP Rocket seems more interested in scores over browsing speed.

Wp rocket used css

Regardless of which plugin you use, you’ll need to add Elementor exclusions.

Exclude Flexbox container stylesheets:

/wp-content/plugins/elementor/assets/css/frontend-lite.min.css
/wp-content/plugins/elementor-pro/assets/css/frontend-lite.min.css

Exclude sticky menu selectors:

#elementor-device-mode
.elementor-sticky--active

This is what it looks like in Perfmatters. For used CSS method, file is worse for scores, but faster for visitors. For stylesheet behavior, remove is fastest but you’ll need to exclude files/selectors if they break your site. And if “remove” is causing too many issues, “delay” is the next best setting.

Remove unused css elementor

Some plugins like WP Rocket have documentation on how remove unused CSS works with specific settings, but there are no Elementor-specific exclusions. If something on your site is breaking, right click it and inspect it in Chrome Dev Tools. Find the file (or CSS selector) and exclude it. You can also do this when delaying JavaScript in step #11.

 

9. Use Transform + Translate In Animations

Not that I endorse animations, but use transform + translate to prevent layout shifts (CLS).

You can use Happy Addons to add these. CSS transform lets you change the width/height of animations while CSS translate lets you move elements around without causing layout shifts.

Css transform translate elementor

 

Since your header/footer load across your entire site, they should be lightweight, especially your header because it loads at the top. CSS is much more lightweight than Elementor’s code. After doing this, “Elementor” appeared about 150 times in my source code (compared to 2,008).

Elementor source code

I hired WP Johnny to do this, but he’s a busy guy. My developer (Pronaya) can also do this who you can hire through his freelancer profile. I’ve worked with him for 10 years so yes, he’s legit. He lives in Bangladesh so there’s a time change, but his communication has always been 100%.

Pronaya wordpress speed optimizer

This is also part of Vikas’ recommendations:

Speed up elementor tips

 

11. Delay JavaScript With Elementor Exclusions

When using WP Rocket or the “delay all JavaScript” setting in plugins like Perfmatters and FlyingPress, you’ll usually need to exclude Elementor files or it could break your site. You can also use Flying Scripts to add JavaScript files manually, but “delay all” is usually more powerful.

Perfmatters has an exclusion list and so does WP Rocket. Check the plugin’s documentation since “delay all” doesn’t play nicely with Elementor unless you exclude files. Perfmatters also says it “might vary slightly based on the elements and templates you’re using in Elementor. If you’re not using a lot of animations, you might not need any exclusions for Elementor at all.”

Elementor:

jquery.min.js
jquery.smartmenus.min.js
webpack.runtime.min.js
webpack-pro.runtime.min.js
frontend.min.js
frontend-modules.min.js
elements-handlers.min.js
elementorFrontendConfig
ElementorProFrontendConfig
imagesloaded.min.js

Elementor search:

webpack-pro.runtime.min.js
webpack.runtime.min.js
elements-handlers.min.js
jquery.smartmenus.min.js

Elementor Pro

a/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js
/jquery-migrate(.min)?.js
/elementor/
/elementor-pro/
/wp-includes/js/imagesloaded.min.js
ElementorProFrontendConfig
elementorFrontendConfiga

This is what it looks like in Perfmatters:

Delay javascript elementor

If you want to add JS files manually, open your “third-party code” and “remove unused JavaScript” reports in PageSpeed Insights and start there. I also have a list of JS files to delay.

You can use both defer/delay JavaScript at the same time, but just like you need to exclude files in other steps, you may need to do the same when deferring JavaScript while also excluding jQuery. Check your Console report in Chrome Dev Tools for errors.

 

12. Test Plugins For CSS, JS, High Memory Usage

This is the “trap” I was talking about.

Install the wrong plugin and it can add a ridiculous amount of CSS/JavaScript which you can check in the Chrome Dev Tools coverage report (or Perfmatters script manager). While most of these files are related to DethemeKit, even Elementor Pro adds quite a bit of CSS/JavaScript.

Elementor css javascript

Plugins running ongoing background tasks aren’t good since they increase memory usage. This is common with security, image optimization, analytics, backup, and some SEO plugins. Even Elementor increases memory usage (that’s why I don’t suggest using it on shared hosting).

WP Hive is great for telling you whether a plugin increases memory usage. Just install the Chrome Extension, browse the WordPress plugin repo, and it will tell you on the right side. However, take “minimal impact on PageSpeed” with a grain of salt since it seems to only test plugins out of the box. But once you start adding content with Elementor, it does impact scores.

Wp hive high memory usage plugins

Pretty much every Elementor plugin also uses jQuery. You can see this by enabling display dependencies in Perfmatters, view the script manager, and scroll down to Misc → jQuery:

Elementor jquery plugin

There’s also Query Monitor and my list of slow plugins.

Plugin Category Memory Impact PageSpeed Impact
All In One SEO SEO x x
Broken Link Checker SEO x
Disqus Comments x
Divi Builder Page Builder x x
Elementor Page Builder x x
Elementor Premium Addons Page Builder x
Elementor Pro Page Builder x x
Elementor Ultimate Addons Page Builder x
JetElements Page Builder x x
Jetpack Security x x
NextGEN Gallery Gallery x x
Popup Builder Popup x x
Site Kit by Google Analytics x
Slider Revolution Slider x x
Social Media Share Buttons Social Sharing x
WooCommerce WooCommerce x x
Wordfence Security x
wpDiscuz Comments x x
WPML Translate x x
Yoast SEO SEO x

 

13. Disable Plugins Where They’re Not Used

Elementor plugins are notorious for loading across the entire site.

If you only need them on specific pages/posts, you can reduce CSS/JavaScript by unloading them in Perfmatters or Asset CleanUp. I use Perfmatters since it has a lot more optimizations.

Once you’ve enabled the script manager (Settings → Perfmatters → Extras → Script Manager), go to the script manager settings and enable testing mode. This lets you test the script manager without it breaking your site, but remember to disable it when you’re ready to publish changes.

Perfmatters test mode

View the script manager and unload plugins where they’re not used (everywhere but pages, posts, current URL, Regex, etc). This obviously depends on which plugins you use and where.

Disable elementor plugins perfmatters
Disable Elementor plugins if they’re not used in certain areas of your site
Disable plugins perfmatters
Do the same with other plugins

 

14. Use Less Elementor Widgets/Columns

This video by Oooh Boi has some great tips for using less Elementor widgets/columns which results in less code. Definitely worth watching the full 15 minutes if you haven’t seen it already.

Elementor layout

Main part starts at 3:23.

Elementor also has a video on this:

 

15. Upload Images In WebP

The reason you want to upload WebP images manually is to avoid using plugins (which taxes the server) and because image CDNs like Cloudflare Polish don’t always serve WebP images. Even when Cloudflare must have thought the savings weren’t high enough and didn’t convert them, I found converting them manually generally resulted in a file size reduction of over 50%.

You can check if images are  being served in WebP using Chrome Dev Tools:

Test webp images chrome dev tools

 

16. Use Optimole (Or An Image CDN) To Optimize Images

Optimole does a better job than other plugins, and Cloudflare Mirage/Polish are even better.

While most plugins compress images and convert them to WebP, not all of them support AVIF, mobile image resizing, or viewport/network-based optimizations (such as downgrading image quality on slow connections). So if you must use an image optimization, I recommend Optimole.

Image CDNs are preferred because they don’t use server resources or take up storage. Instead, images are optimized on the fly (by your CDN, not your server) without needing to take backups.

Imagify ShortPixel Optimole SiteGround CDN Bunny Optimizer Cloudflare Mirage/Polish
Compression
WebP Via plugin
Mobile resizing x SP Adaptive Images x
AVIF support x x x
Serve images from CDN x SP Adaptive Images Cloudfront
CDN locations 450 176 114 300
No server use x x x x
No bloat x x Offloading x
Plugin rating 4.4/5 4.5/5 4.8/5
Price Free 20MB/mo or $9.99/mo Free 100 credits/mo or $3.99/mo Free 5,000 visits/mo or $19.08/mo $14.99/mo $9.5/mo or $.03/GB w/ FlyingCDN Varies on Cloudflare Enterprise

To address these, I crop/resize images and upload them in WebP. Besides optimizing above the fold images in the step 17, everything is done by my cache plugin/CDN. Just make sure you add image dimensions in Elementor’s Layout tab or you may get the ‘explicit width/height’ warning.

I have a full tutorial on optimizing images if you still need help:

Optimize images in wordpress

 

17. Preload Viewport Images And Exclude Them From Lazy Load

Above the fold images should be excluded from lazy load or it adds resource load delay and hurts LCP. They should also be preloaded to make them high priority which also improves LCP.

The easiest way is preloading critical images in Perfmatters or FlyingPress. Just set the number of images that usually load above the fold (usually 2-3) and both are done automatically. Other plugins make you exclude images by URL or class, then manually preload  images which can be time consuming. There are plugins to help, but it’s still more work than Perfmatters/FlyingPress.

LiteSpeed Cache and WP Rocket make it relatively easy to exclude images from lazy load, but won’t preload them. You could also use a plugin to add classes to Elementor to make this easier.

Above the fold images
Above the fold images should be excluded from lazy load and preloaded

 

18. Use LiteSpeed Hosting With NVMe Storage

ChemiCloud uses LiteSpeed servers, NVMe SSDs, Redis, and more CPU/RAM which can scale through their Turbo Boost add-on. You’ll configure LiteSpeed Cache (which is free and does a great job with core web vitals) on top of QUIC.cloud’s CDN or Cloudflare APO. This beats other hosting setups in terms of TTFB, price, support, and scalability. With a 5/5 TrustPilot rating, it’s obvious other hosts are popular from marketing, but fall short when you actually look at specs.

Notes

View Spreadsheet

ⓘ links are used for clarification. See how TrustPilot reviews are calculated in my full spreadsheets.

Chemicloud gtmetrix reportWhich web server do you use recommendLitespeed cache litespeed serverLitespeed litespeed cache quic. CloudLitespeed pagespeed scores
Chemicloud vs sitegroundChemicloud pro feedbackChemicloud speed ui supportSiteground vs chemicloud comparisonWhich web server do you useLitespeed on litespeed serverLitespeed cache vs. Wp rocketDivi litespeed

Bad Hosts

Mainstream hosts like SiteGround, Hostinger, WPX, and SlowDaddy don’t live up to the hype. They use slow SATA SSDs, no Redis, and skimp on CPU/RAM/inodes (causing CPU issues and forced upgrades). It gets more expensive with renewals, add-ons, price increases, and wasted time dealing with incidents like SiteGround’s DNS causing 2M sites to get deindexed in Google. The only reason you see “glowing reviews” is because SiteGround threatens people who write bad reviews, controls Facebook groups, and untruthful affiliates. Hostinger writes fake reviews and scams people, so don’t believe “unlimited” storage/websites/bandwidth on their website. WPX isn’t ideal for dynamic/international sites (they literally say they target a TTFB of <400ms). Slow technology + limited resources + prices + incidents + poor support… these aren’t worth it.

 Siteground cpu dance your faultSiteground to cloudways dns issueSiteground slow ttfb leaveSiteground affiliate payoutHostinger is the worst
 Siteground membership cpu limits fastcometSiteground renewal pricesMove on from siteground messSiteground bluehost godaddy ttfb affiliateHostinger banned from facebook groups

Siteground no value

 

19. Use Rocket.net + Cloudflare Enterprise For A 100ms Global TTFB

If the fastest hosting means the fastest TTFB, Rocket.net averages 100ms.

That’s who I use and they’re specifically good for international audiences and WooCommerce/dynamic sites (hence the 100ms global TTFB) thanks to free Cloudflare Enterprise, 32 CPU cores + 128GB RAM, NVMe SSDs, Redis/Redis Pro, and LiteSpeed’s PHP.

Average ttfb speedvitals
Average TTFB of 40 locations measured in SpeedVitals

10 things to know about TTFB:

  1. Hosting/CDN are the 2 biggest factors.
  2. TTFB is 40% of LCP and also part of FCP/INP.
  3. Which means it impacts 4/6 user metrics in PSI.
  4. SpeedVitals measures TTFB in 40 global locations.
  5. Test your site 3 times in SpeedVitals for accurate numbers.
  6. Doing this ensures your caching/CDN are working properly.
  7. Check your average TTFB of all 40 locations in your 3rd test.
  8. PSI + GTmetrix only test TTFB in 1 location (use SpeedVitals or KeyCDN).
  9. Google flags your TTFB if it’s over 600ms, but 100-200ms is obviously better.
  10. WP Hosting Benchmark also tests hosting performance (here are my results).

View Spreadsheet

Aside from my biased opinions, they’ve blown up in Facebook groups where Ben Gabler (CEO) did an AMA. They have all 5/5 star TrustPilot reviews where you’ll see people who switched to Rocket.net from other hosts (but not the other way around) even when you search SG’s 13,000 TrustPilot reviews. You can see more migration results if your search their TrustPilot for “TTFB.”

Move to rocket. Net from sitegroundSiteground cloud cpu usage upgrades
Kinsta to rocket. Net resultsRocket. Net vs cloudways cpu usageRocket. Net no competitionRocket. Net trustpilot review
Siteground to cloudways to rocket. Net 2Rocket. Net vs siteground commentMoved to rocket. Net vs sitegroundSiteground cloud hosting bad reviewKinsta to rocket. Net ttfb redisRocket. Net vs kinstaRocket. Net vs kinsta priceRocket. Net faster than cloudwaysRocket. Net vs. Cloudways comparisonBluehost to cloudways to rocket. NetSiteground to rocket. Net post 2Rocket. Net vs cloudways vultr hf trustpilot review

Rocket. Net woocommerce elementor

Rocket. Net 2023 wordpress hosting benchmarks
Rocket.net was a top performer in Kevin Ohashi’s 2023 WP Hosting Benchmarks

Here’s an interview I did with Ben (he also did one with Admin Bar).

Notes

  • CDN integrations – Cloudflare Enterprise is arguably the fastest CDN for improving TTFB between it’s large network and robust features. However, most hosts only use free Cloudflare, only have a few Enterprise features (incomplete integration), or claim their own CDN is better. Rocket has the closest thing to true Cloudflare Enterprise due to Ben’s experience as StackPath’s Chief Product Officer.
  • LiteSpeed PHP – not to be confused with LiteSpeed servers, but LiteSpeed’s PHP is “similar to FCGI, but is more efficient” according to the official php.net website.
  • Mirage/Polish – automatically optimize images (compression, WebP, etc) using Cloudflare without adding bloat or using resources like plugins do (1 less plugin).
  • WooCommerce optimized – Rocket.net is specifically good for WooCommerce with Redis Object Cache Pro‘s Relay integration, APO, Argo Smart Routing, NVMe SSDs, no PHP worker limits, and smart caching uses less resources when purging.
  • DNS – Rocket.net uses Cloudflare’s DNS which is consistently a top performer on dnsperf.com. SiteGround’s CDN makes you use their internal DNS which caused 2 million domains to be blocked by Google. Kinsta uses Amazon Route 53 DNS, and Cloudways charges for DNS Made Easy… which are both slower than Cloudflare’s.
  • Does a close data center matter? – with a 100ms global TTFB, not really. If you use a CDN without features like full page caching and smart routing, then it does.

It’s $1 your 1st month with free migrations. Or reach out to Ben and schedule a demo. The dashboard is easy and Cloudflare Enterprise is automatic… the only thing I did initially was upgrade PHP versions, ask support to add Redis, and remove CDN/image optimization plugins.

 

20. Use Full Page Caching

Whether you take my hosting/CDN recommendations, you should be using full page caching.

I recommend Cloudflare APO (or better, Cloudflare Enterprise) or QUIC. SiteGround’s CDN supports full page caching but I have no clue why you would use it instead of APO which has more PoPs and is $5/mo, other than SiteGround wants you to pay them instead of Cloudflare.

View Spreadsheet

Cloudflare apo impact on ttfb fcp si

 

21. Configure Hosting Settings

Some of these are found under Elementor → System Info, but you’ll want to open up your hosting dashboard and configure the following (obviously some of them depend on your host):

  • PHP Version – higher versions are faster, but make sure plugins are compatible.
  • Memory limit – Elementor recommends 768 MB for best performance. Some hosts like Cloudways use PHP-FPM and let you change PHP-FPM memory limits.
  • Redis/Memcached – Redis has advantages, and Redis Object Cache Pro is even better. Once enabled in your hosting account, you may need to connect it using your cache plugin (LSC/W3TC) or a Redis plugin. See your host’s documentation.
  • OPcache – improves PHP performance and can also reduce CPU usage, so use it.
  • Caching layers – if they have something like Varnish or Nginx caching, use it.
  • Brotli – not many hosts support Brotli (most use Gzip), but it’s a bonus if they do.
  • Cron Jobs – replace wp-cron with a real cron job (most hosts have documentation on this). Aim for 5 or 10 minute intervals since something like “60 minutes” means all scheduled tasks in the past hour will run at the same and can cause CPU spikes.
  • Hotlink protection – stops people from copying your images onto their website when they’re still hosted on your server (can be enabled in your host/Cloudflare).
  • TLS – if your host has TLS settings, use TLS 1.3 and set minimum version to 1.2.
  • Resource usage – just a reminder to keep an eye on resource usage & errors logs.

Wp hosting benchmark tool
WP Hosting Benchmark is good for measuring certain aspects of hosting performance

 

22. Rethink Your Optimization Plugin

Use LiteSpeed Cache if you’re on a LiteSpeed server, FlyingPress in all other cases.

WP Rocket only released 1 new feature after 2020 if you check their changelog, lacks many important features, and RocketCDN/Imagify also lack features. They’ve basically gone “stale.” I used WP Rocket before FlyingPress and immediately noticed my site was faster after switching.

SiteGround Optimizer is fine for caching, but it’s one of the worst plugins for core web vitals. I usually recommend disabling all settings (except dynamic caching + Memcached, then use FlyingPress or Perfmatters for everything else. Plus, it’s loaded with compatibility issues their support (Hristo) likes to blame on third-party themes/plugins if you check the support forums.

Omm switches to flyingpress

 

23. Lazy Render Elementor Sections

You’ll need FlyingPress or LiteSpeed Cache to do this.

Lazy render is like lazy loading images only for any element on the page using CSS selectors. While #footer and #comments are both common, you can also lazy render Elementor sections.

View your site, then right click the Elementor section you want to lazy render. Inspect it in Chrome Dev Tools, right click the code, copy the CSS selector, and paste it into FlyingPress/LSC.

Copy elementor section css selector
Copy the CSS selector of the Elementor section you want to lazy render
Lazy render elementor section
Paste it into FlyingPress or LiteSpeed Cache

 

24. Remove Bloat, Database Bloat, Unused Modules

Here’s a summary:

  • Remove bloat using FlyingPress, Perfmatters, or Debloat.
  • Use the Disable WooCommerce bloat plugin for WooCommerce.
  • Remove database bloat (including unused tables) with WP-Optimize.
  • Disable all unused modules/settings in plugins if you don’t use them.
  • Only allow Heartbeat when editing pages/posts (source: Perfmatters).

The FlyingPress bloat settings should look something like this:

Flyingpress bloat settings 2

The problem with cleaning your database with cache plugins is they don’t take backups (WP-Optimize takes them via UpdraftPlus), they delete all post revisions (WP-Optimize can keep a few), and they don’t remove unused tables left behind by old plugins (while WP-Optimize does).

Wp optimize unused database tables

Ultimate Addons, Premium Addons, Rank Math, and many other plugins are module-based, meaning you can deactivate features you don’t use. WP Johnny also found Ultimate Adds For Elementor and uses too many autoloads, so again, you gotta be careful which plugins you use.

Disable unused modules

 

Conclusion: Elementor Is Slow(er), But Your Site Doesn’t Have To Be

My blog is all about speed so I use GeneratePress (Elementor wouldn’t make sense for me).

Fastest wordpress theme starter templates
I ran a test on the fastest WordPress themes using different starter templates/layouts

Another post by Vikas in case I didn’t cover everything (from 2011, but still relevant):

Elementor speed tips

Why is my Elementor website slow?

Elementor adds extra CSS, JavaScript, fonts, and div wrappers to your site. Elementor plugins don't help either, including Elementor Pro which adds even more CSS/JavaScript.

How can I speed up my Elementor site?

You can speed Elementor by activating the performance settings and disabling unused fonts, font icons, and Gutenberg. There are Elementor-specific exclusions when removing unused CSS and delaying JavaScript in cache plugins, both of which can help significantly.

Why is the Elementor Editor slow?

High memory usage slows down the Elementor editor. Besides upgrading memory, a common reason for high memory usage is plugins running ongoing background tasks.

Why is Elementor slow on mobile?

If your Elementor mobile site is slow, try using mobile caching, resize images for mobile with your image optimization plugin or CDN, and reduce latency with a faster DNS/CDN.

Why is WooCommerce slow on Elementor?

Elementor and WooCommerce both add extra CSS/JavaScript while increasing memory usage. Using a sufficient host with object caching (i.e. Redis) along with full page caching and CDN features like Argo Smart Routing can speed up the delivery of dynamic content.

Cheers,
Tom

You Might Also Like:

53 Comments...

  1. Wow – you know your stuff Dude – This is one of the best articles with reasons why that I have ever read on the net. Will be trying out some of your recommendations later. I always find that people write for SEO, by which I mean they write to get their article found, which always sounds wooden, you have written an article that actually explains the why and shows us how to implement these changes. 10/10 from me!

    Reply
    • THANK YOU Duncan. “Write to get found”…. so true and probably why people don’t trust organic search anymore.

      Let me know how it goes. Open to suggestions / new Elementor features.. as it’s been a while since I’ve updated this.

      Reply
  2. Really Really Great article. Thanks!
    I have been using Elementor for 2 years and the drawback I found is its performance.
    I thought about using different site buider for different purposes, but rather than doing that I am thinking of ways to improve the elementor speed.
    I will try the steps in the article.

    Thanks!

    Reply
  3. Since you created this excellent tutorial, Elementor have added a new Flexbox Container under Experiments. What are your thoughts on this? Is it worth using or will it add more bloat?

    Reply
  4. I am new to Blogging and created my site with Elementor. I joined a WP Meet Up site and one of the participants recommended switching to GenerateBlock / Press. Says site will run much faster. I see from comments above, you are switching to GeneratePress. Wanted to know how difficult it is to switch from Elelmentor to GeneratePress?
    Note: been doing some you tube surfing on topic, but have not found anything detailed enough to chance “blowing up my site”.

    Reply
    • Not overly difficult but obviously required quite a bit of work. I only have a few pages though, the rest are blog posts. Designed my site by looking at GenerateBlocks (https://generateblocks.com/library/) then going off those templates. Probably took 1 month to complete but I also spent several extra months rewriting a bunch of content.

      Reply
  5. haha this article is wack. Once we do everything you suggested we are left with a bare bones site and might as well do away with anything nice and just have a static old site.

    I tried using all the page-builders that are recommended by the “experts” and have given cacaburg 5 chances and always revert back to elementor.

    And its almost the end of 2022 and Elementor is still king. Cacaburg is still trying to position itself as a future site builder, but ive been hearing that for about 3 years now. Cacaburg is caca.

    Also, with flex containers and massive improvements to elementor – its actually changed the way elementor is used. Divception occurred with sections and columns. Much like tables were used in the very early stages of web design in the late 90s, the section widgets is the “tables” of yesteryear. Im glad Elementor introduced Flexbox.

    Reply
  6. Great article really. I did a lot of that to my own website and I learned a few more things thanks to you ‍♂️❤️

    Reply
  7. Really great article and checklist. My site is faster and I have only don eigth of your suggestions. Will contunue checking all of.

    Reply
    • Awesome! I’m going to revise this post soon with some minor updates but most everything is in there already. Lmk if you have questions.

      Reply
  8. Hi, I am using Elementor pro to create my e-commerce webshop(with Woocommerce). I first tried the free NEVE theme and receive a Perfermance score of 63 in Lighthouse. This is not prefect, so I tried “Hello Elementor” theme , of course I have to edit the header with Elementor insead of WP, the rest stays the same . Very suprising me , the perfermance is 46 !

    So by only change the theme (edit Header in Elementor Pro), there is a large drop on perfermance, that shocks me. It is the reason that Header from Elemtor is bad or just the theme doesnt work well with woocommerce? Would you have other fast theme to suggest , some people say shoptimizer.

    Reply
  9. really great and very helpful article. I love all those points and the survey result you shared here.
    My number of clients everytime asking which one is the best hosting server and now onward i will definately share this blog url with let them to see the Poll Survey result and decide by self which one is best hosting :)

    Thanks again.

    Reply
  10. Hey! Great article. When I go into Theme Customizer, I do not see “Performance”. (Trying to load my fonts locally) I have Hello Elementor installed. My only options are Site Identity, Menus, Homepage Settings, Additional CSS, & Yoast Breadcrumbs. Any ideas?

    Reply
  11. Believe me, this is the best article I read till date. Perfect to the point. Well elaborated. Guts needed to say that some hosting providers spams to get conversion.
    I am a newbie to blogging. Just started on June’21. Taking help of YouTube, articles like yours, have built website by my own.
    Having no technical knowledge, still learning, experimenting everyday for a better speed, theme, lookout of the website.
    Hope will come up with some information and facts about my experience also some day in future.
    By the way, I have bookmarked your article. It will help me a lot.

    Reply
    • Thank you. Yes, most YouTubes are full of it and either leave out or aren’t aware of what these companies are doing. I’ll be publishing some videos soon to hopefully get the word out.

      Reply
    • I don’t think I emphasized 1 single plugin here, Perfmatters/Asset CleanUp or WP Rocket? Those are pretty standard for speed optimization unless you’re using LiteSpeed or SG Optimizer on SG.

      Reply
  12. I have already bookmarked this article before commenting, but I wanted to know about font-awesome. Can you tell me how can I remove font-awesome from my site without any code changes?

    Reply
    • I don’t think you can disable Font Awesome without code changes. No settings or plugins do this that I’m aware of.

      Reply
  13. I am using Elementor and sure it does add extra code, I am seeing good results (<2 sec) using WP Rocket (caching), Smush Pro (image optimization), and WP Asset Cleanup for stripping the fat from WordPress and removing unused scripts and styles (see image below). I do need to work on my optimizing my fonts a little better. Anyway thanks for the article, I’m always looking for new ways to improve my web vitals. I watched a recent video of someone using Nitropack and they are getting amazing results. 98 on mobile and 100 on desktop in page speed insights on a Elementor site. But of course there is a monthly cost for this service.

    Reply
    • Nitropack cheats scores and doesn’t improve load times as much as other (better) cache plugins do. There’s a lot of talk about this… I would do your research before using it.

      Reply
  14. Hi,

    Great article.

    i am at wpxhosting and there is not much ram ( just 256 ) for elementor. and I preferred to remove it because I was using Woocommerce on the same site and it was slow.

    Reply
    • Ah yes, Elementor and WooCommerce is a tough combination. I’m pretty much done removing Elementor from my site (header, footer, menu, sidebar are all hard coded now) and can definitely tell my site loads way faster. Go for it! It’s worth it.

      Reply
  15. Awesome stuff Tom. Implemented a lot of things you recommended and saw a significant increase in loading speed on our Elementor website. Now looking into Oxygen as well.

    Thanks a lot!

    Reply
    • Thanks Daniel, just started converting mine a few days ago. New GTmetrix/Lighthouse totally punishes websites using page builders.

      Reply
  16. We were having major issues with Elementor on our website too. Took quite some time to figure things out and in the end the only thing that really worked was deferring lots of junk javascript with the Asset Cleanup plugin. It’s still slow, but that’s going to be the nature of our site.

    Reply
  17. Hi thanks for sharing the tips. We decide move to Wordpress after previously developing using wix.

    Still considered it either elementor or oxygen.

    Reply
    • Disclaimer: I’m an Elementor user, so I’m a bit biased to say this.

      The main thing you will have to choose between either Elementor or Oxygen is basically the speed in which you can create a site, the technical know-how you need to start using the tool (heard Oxygen needs some HTML and CSS knowledge to get started, I started Elementor with some coding know-how but not HTML & CSS), how big and mature the community is, and the performance trade-offs you will have to decide to make with convenience.

      Personally, I decided to stick around with Elementor for a while because it allows me to make designs fast for myself and my clients, and I can still make decently fast (for me) websites with it. But I’m open to that changing down the line.

      Reply
    • Because it belongs there. It’s the heaviest plugin I use and creates a lot of CSS/JS. Many page builder speed tests confirm this. I’ll be moving to Oxygen soon.

      Reply
  18. hi
    i dont think gtmetrix matters that much, what about google page insight test?
    my mobile version score is always 40% :(

    Reply
    • I mean, there’s a whole debate about what matters and what doesn’t. It really depends on the specific recommendation in the testing tool and if you fix it, will it improve load times? That is the primary metric to measure.

      Reply
    • GTMetrix is actually switching to lighthouse pretty soon. They are changing their metrics to include web vitals in anticipation of the web vitals update which I believe is coming some time next year. So, I suggest you start trying to optimize for those metrics now. Currently they can be found in search console and Google will be relying upon they more after the update. You can read more about it here>> https://web.dev/defining-core-web-vitals-thresholds/

      Reply
  19. Very Informative article. Changing Shared hosting to Cloud hosting do make a difference. But still i think elementor pretty heavy, it creates so much junk code for no reason. But if compared with other builder, elementor is pretty great. Also Check out Oxygen and Thrive Builder. they are pretty great too as well..

    Reply
  20. Should I use Assets Clean Up or Perfmatters? I’m talking about the selective disable feature. Im currently using assets clean up, but I feel it ads a TON of loading time to single-page when editing them, because it has to load every script on thei rlist at the bottom of the page.

    Do you have any specific recommendation? Thanks :)

    Reply
    • Both are very good, if you plan on using Regex I would go with Perfmatters anyway because of the bloat removal options which isn’t included with Asset CleanUp. Otherwise, Asset Cleanup does a great job.

      Reply
  21. Hey Tom! Did you know that GTmetrix working without throttling? And if you begin to use it, then you’ll know that speed of your site is slow.
    What about Pingdom — I have an official letter from’em what they didn’t measure the speed of the website. They are just broken about year or more.

    Reply
  22. Solid post. I’m doing much of what you mentioned but using Namehero cloud host. Was thinking about upgrading to their Plus plan that goes up to 2G RAM and 2 core from 1 respectively. I know you said you cut your load time from switching to Cloudways from Siteground, but what plan did get? $10/mth or $22/mth plan?

    Reply
    • DigitalOcean $80/month plan for me, but I have a good amount of traffic and am obsessed with speed. Most sites can go much lower, even the $10/mont starting DO plan with 1 CPU loads very fast.

      Reply
  23. Amazing WebsiteSetup Editorial!!
    I appreciate the fact that you have explained all the information in depth.
    Well researched & well-listed posts, especially those who didn’t know how to fix slow elementor website of such platforms, they will get support for sure. Keep focusing on such topics.

    Reply

Leave a Comment