How to fix a slow website on (100% GTmetrix scores)

Elementor Speed Optimization

Elementor says they’re the fastest page builder for WordPress.

So what’s causing your slow loading website?

There are usually a few simple tweaks that can significantly improve your load times and GTmetrix scores. Elementor says the most common reasons for a slow WordPress site are servers, media, external scripts (eg. Google Fonts), plugins, no CDN, and using a mediocre cache plugin. However, they don’t go into much detail into listing step-by-step instructions.

That’s why I wrote this tutorial.

You’ll learn how to fix your slow Elementor site by following key recommendations from the WordPress optimization guide and Elementor’s recommendations. I will provide screenshots, detailed instructions, and will answer all comments if you still need help. I managed to get 100% GTmetrix scores on my homepage. Even posts with 100+ images and 400+ comments (5MB page size and 170 requests) still load in about <2s. Yeah, I’m a WordPress speed nerd 🙂


1. Upgrade To PHP 7.4

Many hosting companies have already released PHP 7.4.

Upgrading PHP versions is one of the easiest ways to speed up your Elementor site. Kinsta’s PHP benchmarks shows 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).

First, check your current PHP Version under Elementor > System Info.

Elementor PHP Version

Next, login to your hosting account, find the PHP version manager (or similar), and select a higher PHP version. It’s also a good idea to take a backup beforehand. Otherwise, that’s it!

Kinsta PHP 7.4

Important: make sure your plugins are compatible with higher PHP versions. I was using WP Rich Snippets (which is  not maintained anymore) but it was incompatible with PHP 7.2+, so I deleted the plugin and found a replacement. It is not worth keeping non-maintained plugins.


2. Increase Memory Limit To 256MB

Again, check your memory limit in under Elementor > System Info.

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

Elementor Memory Limit

You can usually change your memory limit in your hosting account:

Memory Limit

Otherwise, add this code to functions.php.

define( ‘WP_MEMORY_LIMIT’, ‘256M’ );


3. Use Self-Hosted Fonts

If Google Fonts are blowing up your GTmetrix report, try hosting fonts locally.

If you have Elementor Pro, you’ll want to use custom fonts (found in the settings).

Here’s a YouTube tutorial.

Elementor Custom Fonts

Don’t have Elementor Pro?

Many plugins can help optimize Google Fonts: WP Rocket, Autoptimize, Self-Hosted Google Fonts, OMGF, and Asset Clean Up. If you don’t want to use a plugin, follow these instructions.

Step 1: Confirm fonts are slowing down your Elementor site in GTmetrix.

Google Fonts GTmetrix

Step 2: Download your fonts directly from the Google Fonts website. Only download the fonts and font weights you absolutely need (more fonts and weights can also mean more requests).

Step 3: Use a tool like Transfonter to convert them to web font files.


Step 4: Upload the new web font files to WordPress and add them to your CSS.

Step 5: Test the fonts, add a default fault, and always have font fallbacks.


4. Optimize Third Party Requests

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 can cause third party requests.

You need to optimize these too.

External Scripts

Some third party requests are easy to optimize:

WP Rocket has an Add-ons tab that can help host analytics locally and add browser caching to Facebook Pixel. WP Rocket’s Media settings let you lazy load videos while replacing the iframe with a preview image. If you embed posts from social media, try taking a screenshot and using an image instead. Disqus Conditional Load, defer parsing of JavaScript in your cache plugin settings, and selectively disabling scripts/plugins in Asset Clean Up can help optimize scripts.

WP Rocket Local Analytics

Other third party requests aren’t so easy to optimize:

Google AdSense can be a GTmetrix killer. Other than loading it asynchronously, there is little you can do. I have also found no solution to making Gravatars load faster and I have tried all the Gravatar cache plugins (so I have them disabled). Google Tag Manager should usually only be used for big, unoptimized Elementor sites, otherwise it usually does more harm than good.


5. Avoid High CPU Plugins

Some plugins you should just stay away from.

High CPU plugins that slow down Elementor sites usually have to do with statistics, backups, social sharing, portfolios, live chat, contact forms, sliders, JetPack, and any plugin that is constantly required to “work” on your website (think Broken Link Checker’s ongoing scans).

  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 (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

If you have a slow plugin, you can either delete it and find a replacement, selectively disable the plugin on certain pages (next step), or continue to use it and have a slow Elementor site.


6. Selectively Disable Unused Plugins

Asset CleanUp and Perfmatters are great for selectively disabling plugins, scripts, and styles.

The most common example is only loading your contact form plugin on the contact page and disabling it everywhere else. But have you thought about disabling your social sharing plugin on your pages (since most people only use it on posts)? Or disabling your slider on pages that don’t have sliders? Through selective disabling, you can make fewer HTTP requests on pages.

Step 1: Install Asset CleanUp or Perfmatters.

Asset CleanUp plugin

Step 2: Edit a page or post and scroll down to see everything being load on the page.

Step 3: Disable (unload) plugins, scripts, and styles not being used on the page. You can also disable it by post type, or Asset CleanUp Premium (as well as Perfmatters) lets you use RegEx.

Asset CleanUp Check All


7. Disable WooCommerce Scripts, Styles, Cart Fragments

Just like you selectively disabled plugins in the previous step, you can use Perfmatters and Asset CleanUp to do the same thing with WooCommerce scripts, styles, and cart fragments.

Asset CleanUp WooCommerce

Perfmatters actually lets you do this with 1-click:

perfmatters woocommerce optimization


8. Switch Editor Loader Method In Elementor

Elementor says:

“If you are having hosting or server difficulties using Elementor, we’ve included a simple switch that may solve your issue.”

You can find this under Elementor > Settings > Advanced > Editor Loader.

Elementor Switch Editor Loader Method


9. Resize Images To Correct Dimensions

When using Elementor, it’s important to scale (resize) images to fit their correct dimensions.

Serve Scaled Images

Otherwise, you will see serve scaled images errors in GTmetrix. If you see any, grab the recommended dimensions provided by GTmetrix and resize the image to those dimensions, then replace the image. I recommend creating an “image dimension cheat sheet” which lists the dimensions of all areas of your website (sliders, featured images, full width blog images, logo). That way, you can resize your image to the correct dimensions before uploading them.


10. Ditch Shared Hosting And Upgrade To Cloud

Have a slow server response time?

Run your site through Google PageSpeed Insights and make sure it’s <200ms like Google recommends. Your server (hosting) is the #1 factor in the WordPress optimization guide.

I usually recommend SiteGround (shared hosting) which is fine if you have little traffic and plugins. But once you go cloud hosting (eg. Cloudways DigitalOcean), the difference is night and day. I migrated from SiteGround to Cloudways and my load time cut in half. Even posts with 100+ images and 400+ comments (5MB page size, 170 requests) still loads in under 2s.

Elementor Hosting



Other people’s experiences with Cloudways:

They were also #1 in many Facebook polls and have great TrustPilot reviews:

Hosting Recommendations Facebook

VPS Cloud Hosting WooCommerce Poll

VPS Cloud Hosting Poll

WordPress Hosting Suggestions


Cloudways Facebook Review

Cloudways vs SiteGround

Bottom line: shared hosting is fine if you’re not running WooCommcerce, AdSense, high CPU plugins, or have decent traffic. But once you have one of those, look into cloud hosting. Yes, I’m an affiliate for Cloudways), but there are plenty of other people who migrated and posted their results. The code OMM25 will give you 25% off the first two months of hosting at Cloudways.


11. Ditch Free Cache Plugins And Use WP Rocket

Why is WP Rocket usually #1 in Facebook polls?

Because it has more speed features than most other cache plugins (database cleanup, local analytics, combining Google Fonts, lazy loading images + videos, CDN + Cloudflare integration, heartbeat control, WebP caching, prefetching, Facebook Pixel browser caching).

That’s why WP Rocket yields better scores + load times in GTmetrix, and means less plugins on your Elementor site. It’s always updated with new features and maintained by a reliable team.

So if you’re still using WP Fastest Cache or W3 Total Cache, you should really give it a whirl.

You’ll see the difference:

WP Rocket Before After

12. Clean Your Database

Are you scheduling ongoing database cleanups?

As you continue to build your Elementor site, you will accumulate post revisions, old database tables from plugins/themes you’re not using anymore, trashed comments, and other junk files.

You can use plugins like WP Rocket and WP-Optimize to clean your WordPress database. Just make sure you’re reviewing everything that’s being deleted and to take a backup beforehand.

WP-Optimize Clean Database


13. Use Cloudflare’s CDN

Using Cloudflare is a no-brainer.

It’s free, has over 200+ data centers, and CDNs are recommended by WordPress.

Cloudflare Logo

Some hosts like SiteGround let you activate Cloudflare in their dashboard. Otherwise, sign up for Cloudflare’s free plan, login to the domain registrar, and change to Cloudflare nameservers.

In the dashboard, there are a few tweak you should consider:

  • Speed: enable Brotli and Rocket Loader
  • Scrape Shield: enable hotlink protection
  • Firewall: block bad bots from Wordfence’s live traffic report
  • Page Rules: Cloudflare has lots of page rules for speed, security, compatibility


14. Use A Lightweight Theme

Story time.

I was using a ThemeForest theme which got abandoned by the developer (a risk you take when purchasing a theme from an independent developer, even if it does have good reviews). I also had nightmares when buying bloated themes for clients that made their WordPress site slow.

I mean, having everything built-in makes it so much easier, right?

No! You want to choose a lightweight theme that is minimal and coded well, then rely on plugins to only add features you need. Theme optimization is harder than deleting a plugin.

Most of you, hopefully, are using Astra, Flatsome, or StudioPress themes, which are the main ones I recommend.


15. 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

Time To First Byte

Unoptimized Images

Image Optimizations In GTmetrix

Slow Plugins

Slow WordPress Plugin


16. Finish The Last 10% Of Speed 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 optimizations, I don’t know of any plugin that does a better job than Perfmatters.

What do you expect, it’s Kinsta. Of course it’s a great plugin.


Still Have A Slow Elementor Site?

I’ll say this: Cloudways and WP Rocket should fix 80% of your problems. Hosting and your cache plugin are by the biggest factors in the WordPress optimization guide. But if your Elementor site is still slow, drop me a comment with your GTmetrix report and I’m glad to take a look. Our team also offers WordPress speed services with before + after GTmetrix reports.


span,.wp-review-60347.wp-review-percentage-type .review-list li>span{display:inline-block;position:absolute;z-index:1;top:32px;left:45px;color:#ededed;font-size:14px;line-height:1;text-shadow:0 1px 1px rgba(0,0,0,.3);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wp-review-60347.wp-review-point-type .wpr-user-features-rating .review-list li>span,.wp-review-60347.wp-review-percentage-type .wpr-user-features-rating .review-list li>span{color:inherit;text-shadow:none}.wp-review-60347.wp-review-point-type .wpr-user-features-rating .review-list li .wp-review-input-set+span,.wp-review-60347.wp-review-percentage-type .wpr-user-features-rating .review-list li .wp-review-input-set+span,.wp-review-60347.wp-review-point-type .wpr-user-features-rating .review-list li .wp-review-user-rating:hover+span,.wp-review-60347.wp-review-percentage-type .wpr-user-features-rating .review-list li .wp-review-user-rating:hover+span{color:#fff}.wp-review-60347 .review-list li:nth-child(even){background:#fff}.wp-review-60347 .review-links{padding:30px 30px 20px 30px} .review-result-wrapper i{font-size:18px} .review-pros-cons{clear:both;padding:0;border-top:1px solid #fff} .review-pros-cons .review-pros, .review-pros-cons .review-cons{width:100%;flex:none;padding:0} .review-pros-cons .review-pros{background:#2c3fd3;padding:30px 30px 10px 30px;color:#fff;box-sizing:border-box} .review-pros-cons .review-cons{background:#5e1d9a;padding:30px 30px 10px 30px;color:#fff;box-sizing:border-box} .mb-5{text-transform:uppercase} .mb-5+p{line-height:26px}.wp-review-60347 .user-review-area{padding:15px 30px;border-top:1px solid}.wp-review-60347 .wp-review-user-rating .review-result-wrapper .review-result{letter-spacing:-2.35px} .review-title{letter-spacing:1px;font-weight:700;padding:15px 30px;background:transparent} .review-total-wrapper{width:40%;margin:0;padding:35px 0;color:#fff;background:#ededed;border-left:1px solid;text-align:center;float:right;clear:none;border-top:1px solid} .review-list{clear:none;width:60%;float:left;border-top:1px solid} .wpr-user-features-rating, .wpr-user-features-rating .review-list{width:100%;clear:both;border-top:1px solid #fff} .review-total-wrapper{padding:20px 0} .review-total-wrapper{margin:auto 0;padding-top:10px;width:auto;height:100%;clear:both} .user-review-area{padding:12px 30px} .review-list{width:100%} .review-result-wrapper{border-radius:25px} .review-percentage .review-result-wrapper, .review-percentage .review-result, .review-point .review-result-wrapper, .review-point .review-result{height:26px;margin-bottom:0;background:#fff;border-radius:25px} li .review-point .review-result{background:#5e1d9a} li:nth-of-type(2n) .review-point .review-result{background:#2c3fd3}.wp-review-60347 .review-total-wrapper,.wp-review-60347 .review-total-wrapper{width:70%;display:inline-block;margin:20px auto 0 auto} .review-total-wrapper .review-total-box{float:left;text-align:center;padding:0;color:#424242;line-height:1.5} .review-total-wrapper .review-total-box h5{margin-top:10px;color:inherit} .review-total-wrapper .review-total-box, .review-total-wrapper .review-total-box{width:100%}{color:#fff;margin-top:10px} .user-review-title{padding:15px 30px 10px;margin:0;color:inherit;background:#fff;border-top:1px solid;border-bottom:1px solid} .user-total-wrapper .user-review-title{display:inline-block;color:#424242;text-transform:uppercase;letter-spacing:1px;padding:0;border:0;background:transparent;margin-top:3px} .user-total-wrapper h5.user-review-title{margin-top:12px} .user-total-wrapper span.user-review-title{margin-top:8px} .reviewed-item{padding:30px} .review-total-wrapper>.review-total-box{display:block} .review-total-wrapper>.review-total-box>div{display:none} .user-review-area .review-percentage, .user-review-area .review-point{width:20%;float:right;margin-bottom:5px}.wp-review-60347 .review-embed-code{padding:10px 30px},.wp-review-60347 .review-title,.wp-review-60347 .review-list li,.wp-review-60347 .review-list li:last-child, .review-list,.wp-review-60347 .user-review-area, .review-total-wrapper,.wp-review-60347 .reviewed-item,.wp-review-60347 .review-links,.wp-review-60347 .wpr-user-features-rating, .user-review-title{border-color:#fff}.wp-review-60347 .wpr-rating-accept-btn{background:#5e1d9a;margin:10px 30px;width:-moz-calc(100% – 60px);width:-webkit-calc(100% – 60px);width:-o-calc(100% – 60px);width:calc(100% – 60px);border-radius:50px}@media screen and (max-width:480px){ .review-title, .reviewed-item, .review-list li, .review-desc, .user-review-area, .review-embed-code{padding:15px}.wp-review-60347.wp-review-circle-type .review-list li{padding:15px 15px 0 15px} .review-pros-cons>div>div{padding:15px;padding-top:0} .ui-tabs-nav{padding:0 15px} .review-links{padding:15px 15px 5px} .review-list, .review-total-wrapper{width:100%} .review-total-wrapper{padding:10px 0} .review-total-wrapper .review-total-box h5{margin-top:0} .review-total-wrapper .review-total-box div{line-height:1}}]]>

Keep reading the article at Tom Dupuis. The article was originally written by Tom Dupuis on 2020-01-18 17:16:03.

The article was hand-picked and curated for you by the Editorial Team of WP Archives.

Disclosure: Some of the links in this post are "affiliate links." This means if you click on the link and purchase the product, We may receive an affiliate commission.

Leave a Comment

Your email address will not be published. Required fields are marked *

Show Your ❤️ Love! Like Us
Scroll to Top