How To Speed Up A Slow Elementor Website (26 Ways)

Have a slow Elementor site?

This was already asked in the Elementor Facebook Group so I included their solutions (plus many others) in this tutorial. Elementor says the most common reasons for a slow website are your servers, media, third-party scripts, plugins, no CDN, and using a mediocre cache plugin.

Ever since GTmetrix included Lighthouse recommendations, you’ll see a lot of people in Facebook Groups (myself included) removing Elementor and replacing it with Gutenberg, Oxygen, and other alternatives. That’s because Elementor adds bloat (CSS, JavaScript, DOM elements) which affect multiple items in GTmetrix and PSI. Obviously, this may be a last resort.

It’s also ideal to skip shared hosting entirely and go straight to cloud. I listed a few solid recommendations in the hosting section. GoDaddy, EIG (Bluehost and HostGator), and SiteGround have a slow TTFB. Combine this with Elementor and it’s a recipe for a slow site.

Slow-Elementor

Elementor Speed Optimization

It’s a 44 minute video but worth watching.

 

1. Remove Unused Elementor CSS + JavaScript

Removing unused JavaScript and CSS can improve multiple items in PageSpeed Insights. This is a big reason why websites using heavy page builders were punished in the big GTmetrix update.

  • Perfmatters vs. Asset CleanUp – I compared these in this post. I use Perfmatters since the UX/UI is much easier. Perfmatters is paid, Asset CleanUp is free but also has a pro version which lets you unload custom CSS while Perfmatters does not. I like Perfmatters.
  • Activate The Script Manager – if using Perfmatters, activate the script manager under Settings → Perfmatters → Extras → Script Manager (enable). If using Asset CleanUp, activate Test Mode to prevent breaking things while testing changes. Perfmatters doesn’t have a Test Mode, but you can always undo a setting or create a staging site for testing.
  • Disable Unused Scripts – access your script manager in Perfmatters or Asset Cleanup to view the CSS and JavaScript loaded by Elementor. Try disabling elementor-sticky, dialog, share-link, swiper, animations, icons, and wp-block-library if you don’t use these features.

Remove Elementor CSS JavaScript

Remove Unused Elementor CSS JavaScript

Try disabling other scripts/plugins (examples below):

  • Disable contact form everywhere but contact page
  • Disable social sharing plugin everywhere but posts
  • Disable table plugin everywhere but content with tables
  • Disable rich snippet plugin everywhere but content with rich snippets
  • Disable fonts everywhere except certain areas (if you use multiple fonts)
  • Disable WooCommerce scripts/styles except on non-eCommerce pages (see #18)

 

2. Optimize DOM Output

This improves avoid excessive DOM size in PSI.

Enable it under Elementor → Settings → Experiments → Optimized DOM Output.

This removes unnecessary div wrappers (elementor-inner, elementor-row, and elementor-column-wrap) in your code. Check your Elementor website for visible errors after enabling this.

Elementor Optimized DOM Output

 

3. Improve Asset Loading

Improved asset loading is an experimental feature which requires Elementor Pro v3.0.9 and above. This only loads certain elements where they actually load (JS files in Elementor Core widget handlers, and Swiper in Elementor + Elementor Pro). Elementor plans to add more experimental features to improve speed, so review the changelog before updating the plugin!

Enable it under Elementor → Settings → Experiments → Improved Asset Loading.

Elementor Improved Asset Loading

 

4. Go Easy On Elementor Plugins

Don’t go crazy with third-party Elementor plugins.

Many designers rely on multiple Elementor addons to build their site only to realize they’re slowing it down. I ended up deleting Ultimate Addons, Premium Addons, and JetEngine since these plugins were only used in a few areas of my site and weren’t worth the extra load times.

Avoid Other Slow Plugins

Statistic, backup, portfolio, live chat, form, slider, JetPack, and other plugins can slow down your site. Query Monitor will find your slow plugins. But even Query Monitor and Broken Link Checker constantly run in the background and consume resources. Delete them if you’re done.

The WP Hive Chrome Extension lets you view plugins in the WordPress repository and see whether they have an impact on memory usage or PageSpeed Insights before even installing it.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link Checker
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. View Full List Of 73 Slow Plugins

 

5. Use Plugins With Modular Design

Modular design lets you disable plugin features you’re not using.

Some third-party Elementor plugins use modular design like Ultimate Addons and Premium Addons (but they can still be slow as mentioned above). Other plugins like JetEngine do not. Modules are enabled by default. View the settings and deactivate modules you’re not using.

Disable-Addons

 

6. Hard Code Your Header, Footer, Sidebar

This made a huge improvement for me.

I hired WP Johnny to do this (I’m not a developer). He hard coded my header, menu, footer, and sidebar. I immediately noticed my site loaded faster and got better GTmetrix scores. These appear across your entire website; hiring a developer to code them in CSS is definitely worth it.

Even if you plan on using Elementor to design pages, you really don’t need Elementor in these areas. Hard coding them removes a lot of unnecessary code. Right now, Elementor only appears about 150 times in my blog’s source code which is much less than it used to. This is also less than my homepage (for example) which is still built in Elementor. WP Johnny is usually busy; you can also try finding a developer on freelancer.com or upwork.com who can hard code these.

 

7. Reduce TTFB With Cloud Hosting

Most hosting recommendations are honestly garbage.

Join the WordPress Hosting Facebook Group to get unbiased feedback from knowledgeable people who’ve been around the block. I won’t tell you to switch hosts if you don’t need to, so run your website through Lighthouse and check for slow server response times (TTFB) over 600ms.

If your TTTFB is slow, many people in Facebook groups (including myself) use Cloudways WordPress Hosting. Specifically their DigitalOcean or Vultr High Frequency plan. Sure, it’s $10-$13/month, but we’re talking about speed, TTFB, and core web vitals – not being cheap.

Take a look at conversations, migration results, and polls posted in some of these Facebook groups. Or look at Backlinko’s PageSpeed Test where he found SiteGround has a slow TTFB. You already know GoDaddy and EIG brands (Bluehost and HostGator) are obviously not good. Hosting affects TTFB, LCP, and other web vitals which will be a ranking factor as of May, 2021.

Here are 22 people who moved to Cloudways and posted their results (click image to enlarge):

Cloudways Numbers
Another Happy Cloudways Customer

Recent Facebook polls taken on “the best hosting” (click image to enlarge):

Moving from SiteGround
eCommerce Hosting Poll

I use Cloudways DigitalOcean who is #1 in most recent Facebook polls.

Cloudways Shoutout

Not saying hosting is everything, but it helps.

2021 PSI Report

This is a simple Pingdom test to measure TTFB + load times of 16 WordPress hosts. I installed the same Astra Starter Site on 16 hosting accounts (using separate domains) while measuring Pingdom load times for 1 week at 30 minute check intervals, as well as TTFB in various tools. No caching or CDN (with same plugins) are being used since I’m strictly comparing the server. Some domains are still live (cwdoserver.com is hosted on a $10/month Cloudways DO plan and stgrndserver.com is on SiteGround GrowBig). I cancelled most accounts since it got expensive. Even when browsing through those 2 sites or running your own tests, you’ll see the difference.

WordPress-Hosting-2020-Pingdom-Test

I use Cloudways because:

  • My TTFB is consistently under 200ms.
  • Free migration service made it easy to try them.
  • They continuously update their speed technology.
  • Multiple caching levels (Redis, memcached, Varnish).
  • Support is great as reflected in their Trustpilot reviews.
  • Free SSL, staging, bot protection, cron job management.
  • Monthly pricing with no long-term contracts or high renewals.
  • They have a Cloudways Users Facebook Group to ask questions.
  • Choice of 5 cloud providers: DO, Vultr, AWS, Google Cloud, Linode.
  • Their community manager answered my questions when signing up.
  • Launching a server yourself and using their migrator plugin is also easy.
  • Ain’t nobody got time for shared hosting when trying to pass web vitals.

 

Affiliate Disclaimer – if you sign up for Cloudways using my affiliate link, I seriously appreciate it. I try to support my recommendations with real, unbiased evidence. I also make donations ($6,000 to GoFundMe so far) and your support would help. It’s easy to request a free migration and promo code OMM25 gets you 25% off the first 2 months.

 

8. Upgrade To PHP 7.4

Check your PHP Version in Elementor → System Info.

Upgrading PHP versions is one of the easiest ways to speed up your Elementor site. Kinsta’s PHP benchmarks show how higher PHP versions can run 2-3x faster. Elementor also recommends higher PHP versions and to increase memory limit to 256MB (see next step).

Elementor PHP Version

You can do this in your hosting account:

PHP-7.4

 

9. Enable Redis + Memcached

Redis and memcached are supported by most cloud hosts.

Cloudways supports both which can be activated in your account. SiteGround supports memcached which you can activate in SG Optimizer (use all 3 caching levels). Many people don’t take advantage of server caching, Redis, and speed services offered by their host. You should!

Hosting Application Services

 

10. Increase Memory Limit To 256MB

Check your memory limit in Elementor → System Info.

Both Elementor, WordPress, and WooCommerce recommend a 256MB memory limit.

Elementor Memory Limit

You can usually change memory limits in your hosting account:

Memory Limit

Otherwise, add this code to your wp-config.php file.

define( 'WP_MEMORY_LIMIT', '256M' );

 

11. Configure A Solid Optimization Plugin

WP Rocket and LiteSpeed are the gold standards for cache plugins.

I use WP Rocket but if you’re using a LiteSpeed server, you should be using LiteSpeed.

How your cache plugin is configured greatly impacts the speed of your Elementor site. WP Rocket and LiteSpeed come with features most cache plugins don’t have, meaning more optimizations and less plugins needed on your site. I have guides for nearly every cache plugin including the WP Rocket settings, W3 Total Cache settings, Autoptimize Settings, and others.

You can get 10% off WP Rocket by signing up for their email list on the coupons page.

WP Rocket settings (click on image to enlarge):

 

12. Optimize Images

There are quite a few ways to optimize images:

  • Properly size images – avoid oversized images (make them smaller).
  • Compress images – use an image optimization plugin like ShortPixel.
  • WebP – next-gen images recommended in Lighthouse. Done by WebP plugins.
  • Lazy load images, iframes, videos – done using various speed plugins. Exclude images above the fold from lazy load and don’t use it if you have fast scrolling users (eCommerce).
  • Strip EXIF data from images – strips useless data from images like date, time, location, and camera settings when a photo was taken. Done by most image optimization plugins.
  • Specify image dimensions – make sure a width and height is specified in each image’s HTML. WP Rocket has an option to add missing image dimensions in the Media settings.
  • Serve images from a CDN – image URLs should be served from a CDN URL. If they’re not, try the CDN rewrite in Perfmatters or the Bunny CDN plugin. Cloudflare doesn’t do this.
  • Disable hotlinking – same thing as Cloudflare’s hotlink protection (some cache plugins like WP Rocket also have this). Prevents other websites from embedding your images.
  • Use adaptive images – serve smaller (adaptive) images to mobile users. One of the few things you can do to improve mobile load times. Done through an adaptive images plugin.

GTmetrix Image Optimizations

 

13. Optimize Google Fonts

There are also quite a few ways to optimize fonts:

  • Check GTmetrix Waterfall > Fonts.
  • Combine fonts into 1 single request.
  • Load fonts from your theme, not a plugin.
  • Limit number of fonts, weights, font icons.
  • Load fonts locally (you can use OMGF) and use WOFF2.
  • Add the font-display property manually or using a plugin.
  • Preload fonts (using WP Rocket, Perfmatters, or Pre* Party).

Preload-Fonts

GTmetrix Font Files

 

14. Optimize Third-Party Code

Just like Google Fonts are a third party request, so is AdSense, Analytics, Maps, Tag Manager, embedded videos, and even Gravatars or social sharing plugins which generate extra requests.

Third Party Usage

Optimizing Third-Party Requests

  • Use the add-ons tab in WP Rocket to host files locally.
  • Lazy load videos and replace iframe to eliminate requests to YouTube.
  • Host Google Fonts locally and avoid creating requests to fonts.gstatic.com.
  • Delay loading comments (e.g. wpdiscuz) and Gravatars to speed up comments.
  • Host Gravatars locally using WP User Avatar to avoid requests from gravatar.com.
  • Try Grow by Mediavine for social sharing buttons to prevent social media requests.
  • Delay third-party code using WP Rocket’s delay JavaScript execution or Flying Scripts.

 

15. Add Preload, Prefetch, Preconnect

You’ve probably seen these in your cache plugin or Perfmatters.

  • Preload – often used for links and fonts. Preloading links downloads a page when users hover over a link. Preloading fonts helps browsers discover fonts in CSS files (copy your font URLs from the GTmetrix Waterfall tab then paste them into the font preloading option). Both can be done in WP Rocket, Perfmatters, and Pre* Party Resource Hints.
  • Prefetch – helps browsers anticipate requests from third-party sites. View third-party code loading on your site (in Lighthouse). Next, grab their URLs or see this of common domains to prefetch. Lastly, prefetch them using one of the 3 plugins mentioned above.
  • Preconnect – establishes early connections to important third-party origins (item found in Lighthouse). Common with CDNs and fonts.gstatic.com but can’t be done in WP Rocket (use one of the other plugins). It should be used sparingly and tested once implemented.

WP Rocket Prefetch Preload

 

16. Clean Your Database

Many speed plugins clean your database, but they don’t let you delete tables left behind by old, uninstalled plugins. That’s why I like WP Optimize.

View the tables left behind by plugins shown as “not installed.” You probably installed the plugin, deleted it, but it left behind pre-configured settings in your database. So if you don’t plan on using that plugin again, remove it. Otherwise, WP Rocket and other cache plugins are fine for regular database cleanups, but install WP-Optimize especially after deleting unwanted plugins.

WP-Optimize-Tables

 

17. Utilize CDNs

A few notes about CDNs:

  • If visitors are close to your origin server, you don’t need a CDN.
  • Cloudflare’s DNS is faster than a cheap DNS from GoDaddy or Namecheap.
  • Minifying with Cloudflare can often be better (more aggressive) than cache plugins.
  • Cloudflare’s Rocket Loader can be hit or miss and can break your site (test carefully).
  • If using Cloudflare, setup a cache everything page rule. For dynamic sites, use the WP Cloudflare Super Page Cache plugin to use Cloudflare’s cache without breaking your site.
  • Browser cache TTL should be about how often you publish a new post (e.g. 10 days).
  • Setting up Cloudflare requires changing nameservers, other CDNs will use a CDN URL.
  • Cloudflare’s automatic platform optimization is worth $5/month and can improve TTFB.

Recently, I stopped using Cloudflare and WP Rocket’s RocketCDN. I switched to BunnyCDN which was highly recommended in Facebook threads. Both Cloudflare and RocketCDN can actually have a negative impact on load times and TTFB. If you’re not getting great results with those, I recommend BunnyCDN. It’s affordable and easy to setup using their setup instructions.

Instructions – choose a CDN, sign up, create a pull zone, grab your CDN URL, then add it to your site (usually in your cache plugin). Make sure images are being served from the CDN URL.

 

18. Use Elementor’s Hello Theme

Elementor’s Hello theme comes with almost no styling or scripts. It’s better to start with minimal bloat then add features. Gutenberg, GeneratePress, and Oxygen are lightweight too.

Astra-Themes-Facebook-Poll

 

19. Disable WooCommerce Scripts, Styles, Cart Fragments

Just like you selectively disabled CSS and JavaScript in the first step, you can also use Perfmatters or Asset CleanUp to do the same thing with WooCommerce scripts and styles. Otherwise, these will load throughout your entire website (even on non-eCommerce pages).

Asset CleanUp WooCommerce

Perfmatters lets you do this with 1-click:

perfmatters woocommerce optimization

 

20. Find Bottlenecks In GTmetrix

Other than measuring scores + load times, you can uncover quite a few things in GTmetrix. Since every Elementor site is different, you want to find exactly what is slowing down yours.

Time To First Byte

OMM TTFB

Slow Plugins

Slow WordPress Plugin Waterfall

 

21. Explore Plugins By Gijo Varghese

Love this guy and his plugins; he even has his own Facebook Group.

Flying Scripts is my favorite because it lets me show Gravatars without affecting GTmetrix. He also has plugins for hosting analytics locally, image optimization, Flying Pages (preloads pages), and other useful plugins. Check out my 25+ WordPress speed optimization plugins for a full list.

Gijo Varghese plugins

 

22. Eliminate Render-Blocking Resources

If you have render-blocking errors in PageSpeed Insights, Autoptimize can fix this by inlining critical CSS and adding defer/async attributes.

Simply install the plugin and enable the settings below. For better control of choosing which files should have defer/async attributes, try the Async JavaScript plugin (the same developer).

Autoptimize Eliminate Render-Blocking

 

23. Serve Static Assets With An Efficient Cache Policy

To serve static assets with an efficient policy, Google wants your cache expiration to be 6 months (or 180 days). WP Rocket, CDNs, and many hosting accounts usually let you adjust this.

  • Cloudflare –  go to Caching → Browser Cache TTL, then set it for “6 months.”
  • Hosting Accounts – Cloudways (for example) has a static cache expiry option.
  • WP Rocket – edit your .htaccess file (WP Rocket adds this code there) and change the expiration. If you’re not sure how to edit .htaccess, use the Htaccess File Editor plugin.

WP Rocket Efficient Cache Policy

 

24. Ensure Text Remains Visible During Webfont Load

If you see this item in PSI, edit your fonts to include font-display:swap.

Most times, fonts use auto, block, and so forth. Simply changing this to “swap” should fix this. You can also use Gijo’s Swap Google Fonts Display plugin if you’re not comfortable editing this.

font-display swap

 

25. Finish The Last 10% With Perfmatters

Perfmatters (by Kinsta) takes care of what I like to call “miscellaneous speed optimizations.”

perfmatters features

Some of these are extremely useful; the script manager which lets you selectively disable plugins/scripts from certain pages, changing the autosave interval, limiting post revisions, preconnect, and disabling WooCommerce scripts, styles, and cart fragments. When it comes to these types of optimizations, I don’t know of any plugin that does a better job than Perfmatters.

What do you expect, it’s Kinsta.

 

26. Remove Elementor

If speed/SEO are important, consider removing Elementor.

Elementor is great for quickly deploying sites for clients. But if it’s your own site and you truly want to improve it, consider a lightweight alternative. Web vitals are becoming a large ranking factor and it’s unlikely you will pass the Web Vitals Test in PageSpeed Insights with Elementor.

Alternatives

  • Gutenberg blocks – redesign your site with Astra (using a Gutenberg template from the Starter Sites plugin). The Gutenberg Blocks plugin adds blocks to give you additional design options (plenty of YouTube tutorials). Or transfer your same design to Gutenberg.
  • GeneratePress – rated #1 fastest theme in some Facebook polls with plenty of designs to choose from in their Site Library. A good balance between fast and user-friendly themes.
  • Oxygen Builder – super lightweight but requires more technical skills. Compatibility issues have also been reported. Many people in Facebook Groups are moving to Oxygen and posting nice scores/reports. Use it if you’re a developer and want absolutely no bloat.
  • Kadence Theme – haven’t tried it yet but know it’s a popular alternative in Facebook Groups and used by Adam from WPCrafter. They also have a Gutenberg Blocks plugin.
  • Genesis Framework – not as popular since StudioPress got bought out by WP Engine and restructured their pricing, but my old site was built in Genesis and it definitely loaded fast.

Page builder migrations and polls on fastest themes (click on image to enlarge):

Another alternative is to hire WP Johnny for his page builder removal services where he will replace Elementor with Gutenberg blocks. I hired him recently and he already hard-coded my header, menu, and footer instead of using Elementor. Soon, my site will be built entirely with Gutenberg. If you haven’t heard of WP Johnny, he’s a bigger WordPress speed wizard than me.

WP Johnny Page Builder Removal Service

No doubt Elementor is slow.

Not cool.

Elementor Souce Code

I’m finally done removing Elementor and things are looking better.

OMM GTmetrix Report 2021
For how long this post is with tons of images/comments, it still loads in .8s

 

Frequently Asked Questions

Is Elementor slow?

Elementor adds extra CSS, JavaScript, and div wrappers to your site. Coupled with additional Elementor plugins and this can make your site slow. It can also cause multiple web vital errors related to CSS, JavaScript, network payloads, and DOM elements.

What are common reasons for a slow Elementor site?

Too many bloated plugins, unnecessary modules, cheap shared hosting, and lack of optimizing fonts, images, and third-party scripts can all slow down your Elementor site.

Why is the Elementor Editor slow?

If your Elementor Editor is slow, it's most likely due to high CPU consumption caused by plugins or lack of server resources. Increase your memory limit or look into cloud hosting.

Why is Elementor slow on mobile?

Try using mobile caching, adaptive images, responsive layouts, and avoid hamburger menus. However, most desktop optimizations carry over to mobile so try fixing those first.

Why is WooCommerce slow on Elementor?

Both Elementor and WooCommerce add extra scripts and styles to your site. Try selectively disabling these using Asset CleanUp or Perfmatters. You can also try disabling cart fragments if your customers don't use them as well as WooCommerce admin bloat.

Cheers,
Tom

About Tom Dupuis

Tom Dupuis 2017Tom Dupuis writes WordPress speed and SEO tutorials out of his apartment in Denver, Colorado. In his spare time, he plays Rocket League and watches murder documentaries. Read his bio to learn 50 random and disturbing things about him.

Subscribe
Notify of
guest
34 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments