- Disable plugins on pages they’re not used
- Optimize Elementor + Divi
- Replace bloated plugins (especially if they use jQuery)
- Disable emojis, embeds, jQuery Migrate
- Disable email obfuscation, Rocket Loader, bot protection
- Disable WooCommerce scripts on non-eCommerce pages
- Is it jQuery?
- Is it a plugin?
- Is it your theme/page builder?
- Is it third-party code from external domains?
You may need to increase the timeout period to see better results (I generally recommend 5-7 seconds). Just be careful when delaying AdSense or Analytics since this can affect data/revenue.
If third-party code can’t be delayed, try to host it locally.
If you must use third-party code, avoid loading it above the fold and limit where it’s used. For example, only load Maps on contact/local SEO pages, don’t load AdSense above the fold, and avoid over tracking in Tag Manager. Use Perfmatters or Asset CleanUp to only load your social sharing plugin on your blog instead of your entire website. Check your third-party code report:
4. Disable Plugins On Pages They’re Not Used
I prefer Perfmatters because the interface is cleaner and has several optimizations not found in WP Rocket and SiteGround Optimizer. But if you’re already using FlyingPress, many Perfmatters features overlap. Which means you may want to save the money and use Asset CleanUp instead.
Step 1: Install Perfmatters or Asset CleanUp.
Step 2: Enable the script manager if using Perfmatters.
Step 3: Enable test mode in the settings. This prevents the script manager from breaking your website since only you will see the changes. Once you’re done configuring the script manager (and assuming it doesn’t break anything), deactivate this and it will make your changes go live.
5. Optimize Elementor + Divi
If you absolutely must use a page builder, take the time to optimize it so it doesn’t look like this:
- Use less widgets/columns – there’s a good YouTube tutorial on this, but you’ll want to design your pages in a way that reduces the number of columns/widgets.
- Code your header/footer/sidebar in CSS – you may need a developer, but it can make a big improvement (WP Johnny offers it as a service). When he did it for me, “Elementor” went from a couple thousand to a couple hundred in my source code.
- Avoid bloated page builder plugins – Elementor plugins are notoriously bloated and often load across your entire site. Check every plugin in WP Hive (and Chrome Dev Tools coverage report) before committing to it. I’ve personally replaced table, comment, and gallery plugins with Gutenberg blocks and lightweight alternatives.
Lots of people are moving away from page builders (I went from Elementor to GeneratePress).
6. Replace Bloated Plugins (Especially If They Use jQuery)
|Plugin||Category||Memory Impact||PageSpeed Impact|
|All In One SEO||SEO||X||X|
|Divi Builder||Page Builder||X||X|
|Elementor Premium Addons||Page Builder||✓||X|
|Elementor Pro||Page Builder||X||X|
|Elementor Ultimate Addons||Page Builder||✓||X|
|Social Media Share Buttons||Social Sharing||✓||X|
- Social Sharing – Grow Social.
- Comments – native comments in CSS.
- Gallery – Gutenberg Gallery or Meow Gallery.
- Translate – MultilingualPress, Polylang (not WPML).
- Security – use a firewall and use this security checklist.
- Sliders – Soliloquy or MetaSlider, but I don’t recommend sliders.
- SEO – Rank Math or SEOPress (less bloated than Yoast with more features).
jQuery is used in many themes/plugins. It may be possible to disable certain parts of jQuery (i.e. jquery-migrate) without breaking your site, which you test in Perfmatters + Asset CleanUp. However for best results, this goes back to using jQuery-free plugins/themes. Like this guy did:
7. Disable Emojis, Embeds, jQuery Migrate
- Disable oEmbeds: On – when you paste a URL into your WordPress editor, this loads a pretty preview (from YouTube, Facebook, Tweets, etc). If you don’t need this, turn it on.
- Disable jQuery Migrate: Off – if you’re not using a page builder, turn it on. Perfmatters has docs on dealing with jQuery in the script manager, defer, delay, and preload settings.
8. Disable Email Obfuscation, Rocket Loader, Bot Protection
- Email Obfuscation (email-decode.min.js) – stops bots from collecting your email address. If you publicly show it, you can list it like this: tom(at)onlinemediamasters.com.
- Rocket Loader (rocket-loader.min.js) – lots of compatibility issues with plugins/themes and is notorious for breaking WordPress sites, or has an opposite effect of slowing it down.
- Bot Protection (cdn-cgi) – blocking bad bots is recommended and can even reduce CPU usage, but there are other ways to go about this… like the Blackhole For Bad Bots plugin.
9. Disable WooCommerce Scripts On Non-eCommerce Pages
If you’re using WooCommerce, try the Disable WooCommerce Bloat plugin. In addition to disabling WooCommerce scripts/styles on non-eCommerce pages, it also has bloat removal options like removing WooCommerce junk in the dashboard. GitHub also has a few solutions.
Frequently Asked Questions