WordPress Performance: How to Find a Slow Plugin

One common problem with Content Management Systems including WordPress is that they are usually slow. The quick fix to a slow WordPress site and any other Content Management System is to enable a cache system.

Also read:

Best Comment Plugin for WordPress Websites

6 steps to clean and harden your Wordpress website Security with the Free Sucuri plugin

27 Free WordPress SEO Plugins that Will Improve Your Website Search Engine Rank

How A Plugin Installation Can Crash Your Wordpress Website

But there are cases where increased traffic leads to slow site despite the existence of a functional cache system. In this article, we shall address this issue with slow WordPress plugins.

One slow plugin can slow down the entire site. We shall look at the P3 (Plugin Performance Profiler) and how it can be used to identify a slow performance plugin on your WordPress website. With P3, you'll be able to see each plugin performance on the site.

You will also want to read:

WordPress Plugins You Can't Do Without

Best Google Analytic Plugin for WordPress

WordPress Maintenance Tasks You Need to Perform Regularly

Useful Tips and Tricks for WordPress Search Engine Optimization

SEO Effects of Changing a WordPress Theme

A Guide on How to Reduce the Downtime on a WordPress Website

9 Common Problems of a WordPress Website

Installing P3

In the admin, go to Plugins, Add New.
Search for P3
Click Install Now and than activate the plugin.

Running the First Scan

Go to Tools and; P3 Plugin Profiler.
Click Start Scan

Enter a scan name (no spaces).
Click Auto Scan

If only certain pages are giving you trouble, you can do a Manual Scan and navigate to those pages in P3.

You'll see a message, Scanning is complete
Click View Results

Plugin Performance

Along the top, you'll be able to see some overall stats for your plugins. You'll see breakdowns per plugin.

Runtime by Plugin: This is a pie chart showing a percentage of each plugin total. If you hover over each part, it will also show the time of each.

Also, it shows the load time of the WP Core (in blue) and your theme (in red).

The gold line across the top is the total load time of the site. If under one second, you're in good shape. If it's over two seconds, and there's one plugin that's taking up most of the load time, that the slow plugin.

Hover your mouse over each dot to see which page was tested.

If one or more of the pages takes significantly longer than the others, you can run a manual scan for it to find the offending plugin. Or, use the Detailed Timeline, which we'll show you next.

Each dot that's lined up vertically is for a specific page. Hover your mouse over a dot to see the page URL.

Generally, the more queries, the slower the page load. If some of your pages are getting thousands of queries, this is likely why they are slow.

You can hover your mouse over each bolded term to get more detailed information.

Also read:

Recommended Tips to Keep in Mind When Using WordPress Plugins

Recommended Caching Plugins for Your WordPress Website

How to Get Best Speed Performance with WordPress

How to Fix The WordPress White Screen of Death

How to Find and Clean Backdoors in a Hacked WordPress Site

Before You Install a WordPress Plugin, Ask These Questions

7 Steps to Reduce the Disc Space Used by Your WordPress Website

Resolution

Based on the above data, you should be able to see a plugin that taking significantly longer than others to load. If it's accounting for 50% or more of your total load time, there's cause for concern.

To resolve the issue, report it to the plugin's developer. The developer will be able to look into it in detail and provide a solution.

If it is not an essential plugin for your site, you can temporarily deactivate it from Plugins Installed

How Plugins Affect Your WordPress Website Speed

WordPress speed performance are affected by three major components

  • Speedy managed WordPress hosting: Investing in fast hosting like WP Engine offers is one of the simplest ways to get a big win here
  • Streamlined code in your theme: Googling for free WordPress theme is not the best way to find a well-coded theme that loads quickly.
  • Installed plugins: This is what we have focused on in this post. Every plugin adds a bit of complexity to your site, and it's important to install well-developed plugins from a reputable source.

Plugins allow site owners to exert very specific control over site performance because plugins are simple to swap out and exchanged for one another. Installing and enabling is as easy as uninstalling and disabling. If one plugin is slowing your site down, you can find a faster one or remove it altogether. In general, you always want to have the fastest set of plugins possible for the features you want the plugins to add.

Also read: How to Find and Clean Backdoors in a Hacked WordPress Site

Also read:

How Not to Hurt Your Visitors When Using the WordPress Maintenance Mode

Common Problems with WordPress Websites and How to Fix Them

Best Slider Plugins for WordPress Websites

Best Rated Anti-Spam Plugins for WordPress Websites

Best Plugins for Faster Loading WordPress Websites in 2016

Can Your Installed Plugins Be Too Many?

There is a common refrain heard in the world of WordPress, spoken at groups and written in blog posts that you want to run as few plugins as possible because having too many plugins increases the chances that your your website will be slow your site down. This isn't really wrong, but like anything that has to do with development, there's a bit of nuance and subtlety you can dig into.

Yes, more plugins will add more code that a browser has to load, which can slow it down. And to paint with very broad strokes, a website with a simpler codebase will usually load faster than one with a complicated one, all other things being equal. Since plugins are basically a way of adding code without having to write it yourself, telling new WordPress folks to run as few plugins as possible is not a bad idea. It keeps people from installing 10 different Facebook plugins that all basically perform the exact same functionality.

How many plugins will be too many?

Popular WordPress developer Pippin Williamson says the trick isn't how many plugins you have, but what operations they need to perform in order to render your site in a visitor's browser. Most plugins are pretty simple, but some will perform complex actions that are expensive in terms of backend processing, and will slow a website down. In other words, you could have a quickly loading website with 80 plugins, and add a single, complicated plugin and lose half a second (or more) of loading time!.

According to Pippin, there are four major areas he looks for when he evaluates adding a plugin to his website.


    Does it load lots of scripts, styles, or other assets?
    Does it add extra database queries to each page?
    Does it perform complex operations?
    Does it perform remote requests, like to external APIs?
 

Also read: How Not to Hurt Your Visitors When Using the WordPress Maintenance Mode
 

Plugins That Load a lot of scripts, styles, or other assets on pages.

Plugins are designed to add features or functionality to your site so that no matter what theme you install, the functionality of your site always stays the same. To do this, plugins can load CSS files and JavaScript libraries on every page, which is expensive for your resources. Even when loading those assets is strictly necessary, loading too many will impact site performance much more than having 20-30 simple plugins that each perform their own tasks would.

Each script is loaded with an HTTP request, which is basically a way of requesting data between a server and the browser. HTTP requests are simply how websites get the data from servers and put webpages together. Every CSS or JavaScript library, and every image requires an HTTP request. You cannot get rid of them, but you want to be efficient with them. Even now, when browsers can batch load up to 8 HTTP requests simultaneously, a webpage can generally have 15+ HTTP requests to load.

There are two ways to speed this process up. The first is to stop plugins from loading certain things altogether. Some plugins are set to load files on every pageload, even when they aren't necessary for that page. You want to specify when the file is loaded.

The other way to speed pageload time is to load the assets either asynchronously, or even after everything else has been loaded on the page. A good example is loading Google Analytics asynchronously so that it doesn't block other requests from loading in the process. Google Analytics is essential to your website SEO, but it's also a big file, so you want to make sure it can be loaded at the same time other assets are loaded, rather than in serial, so it would hold everything up.

Plugins that add extra database queries to each page

Database queries have a large impact on performance, and plugins can make a lot of these requests if the plugin author wasn't careful. For example, plugins that track post/page views by storing a value in the database every time a page is loaded will dramatically impact performance over time because the server has to make an additional MySQL request for that number on each page.

Now, the number of page views or comments on a post can be important to display, but it is not a mission-critical enough to hit the database every time you load a page. In order to reduce this, you can reduce the frequency a plugin queries the database, or kill specific database requests altogether and save the processing power in addition to speeding your site up.

If a plugin is making a lot of database calls, it is important to evaluate the importance of that plugin's functionality and weigh it against the speed of your site. If you can find an alternate plugin that makes fewer database calls, you may consider using that one instead. A good developer will be able to help you work through questions like this.

Plugins that need to perform complex operations

Plugins that query large amounts of data and then perform an action with the data will impact performance. In general, plugins that perform overly complex operations should do them off server, and not in your WordPress hosting environment.

Good examples of this are the class of Related Posts; plugins that create FULLTEXT indexes on the posts table in MySQL. These queries become increasingly problematic as sites get larger and larger because the FULLTEXT index will continue to grow as well. At run time, the index will consume huge amounts of resources. Over time, the site slows and in extreme cases can crash the server if it runs out of threads.

Plugins that perform a lot of remote requests

This can include requests to external APIs from 3rd party services, and the like. Anything where your site needs to make an external request in order to run can impact performance

Again, this comes down to the number of requests that have to be made by your site before a page can load. The more times you have to request data from an external API, the more times you have to wait for a response from that API.

You can have plugins that request data from external APIs (earning reports, page views, etc.), you just want to ensure that they don't adversely affect performance by caching the requests. Caching the request will mean that the request doesn't have to run every time you load a page, which will save you a great deal of time.

Final Words

Breaking this down, the number of plugins is less important than their quality. When you hear folks tell you, running fewer plugins will make your site faster, that's not 100% true. Sometimes a single plugin can make all the difference in pageload time because it loads too many scripts, or hits the database with expensive requests


If you think your site is loading slowly, and a plugin may be the culprit, we have explained a very simple way to test this out, and you don't have to be a hardcore developer to do it. Another very simple way to check for unscalable plugins will be to deactivate all of them from the plugin menu in the wp-admin and then load your site. If the site loads faster, you know that there was an issue with one or more plugins. Now, activate the plugins one at a time, loading the homepage every time to narrow down which plugin is causing the slowdown.

Once you've discovered which plugin is the culprit, it's time to find a replacement.

Share this post

Comments (0)

Leave a comment


Powered by Simple Blog