How Many Wordpress Plugins Are Too Many? Surprising Answer…

Is there a max number of active Wordpress plugins you should try to stay under? Here's the truth... and how to run more plugins without affecting site performance.
how-many-wordpress-plugins-too-many

If you’ve spent any time thinking about the performance of your Wordpress site, then you know that the less Wordpress plugins, the better.

That’s no mystery.

The problem is…

In the real world, it is pretty hard to operate with only a handful of plugins. Unless it is a really simplistic site without much going on, it is hard to run Wordpress anywhere close to its “raw” state.

So, the question is…

How many Wordpress plugins are too many?

While many people like to give hard numbers as a “one size fits all” answer, the truth is more nuanced.

Let’s talk about some general “best practices” when it comes to your Wordpress plugins. And some things you can do to allow you to run a pretty good selection of plugins without slowing down your site much.

How Wordpress Plugins Slow You Down

First, let me give you the “problems” with plugins. These are just par for the course. No reason to be scared of using them, of course. However, these are the reasons why we need to pay attention to what we’re using.

Problem #1: More HTTP Requests

When you add more plugins that do something on the front-end of your site, that plugin is going to use extra files to make it work.

It is going to pull in javascript files and CSS stylesheets. In some cases, it might even be pulling in font files, duplicate versions of Jquery, and more.

All of these files need to be loaded up for your site visitors so the plugin works. Every JS file, every CSS file, every image… every single file represents another call to your web host. Another HTTP request.

The more HTTP requests, the more your server works. The longer it takes to download all the files.

These requests can really stack up, too. You can run your page through a speed tester like Pagespeed Insights or GTMetrix and see that hundreds of files are being downloaded per page view.

Problem #2: More Database Queries, More Bloat

Just like HTTP requests, your plugins are likely making more database queries. They’re storing things in your database.

More queries means more work for your server. Simple as that.

In practice, this is really only an issue for poorly designed Wordpress plugins. For instance, some will sit there and blindly log everything in a database table without any means of controlling it. Others will store too many things in Wordpress’s core tables (like the wp_options table) and then query it back out on every page view whether it is necessary or not.

If you want to have a look at just how many queries are being executed on your site, you can install the Query Monitor plugin. This free plugin will give you all the juicy details about what’s going on behind the scenes.

Of course, once you’re done looking, deactivate Query Monitor. 😉

Problem #3: Software Conflicts

Sometimes, plugins just don’t play well together and it can cause your site to break.

For instance, there are instances where plugins may share the same internal identifiers for functions, filters, tables and the like. That will cause them to throw all kinds of errors.

In some cases, you simply have duplicate functionality. Two or more plugins sitting there trying to do the same thing and they keep bumping heads.

Problem #4: Security Holes

One of the biggest attack points on Wordpress is the add-ons. To some, Wordpress has developed a reputation for being full of security holes. However, that isn’t really the case. In almost all cases, it is the add-ons that open it up to problems.

The more Wordpress plugins you’ve got, the more potential attack points you put on your site.

The holes can be bigger if you’re using freebie plugins that aren’t really maintained because it was a little side hobby for the developer.

What To Do About It

You get the point. Plugins bring the possibility of problems. And if you don’t run any plugins, you have less problems.

But, that’s not reasonable. Plugins are what make Wordpress awesome and so flexible.

So, what do we do about it?

  • Run less plugins. Obviously, that’s always an option. Try not to activate more plugins than you absolutely need. And be sure you really need one before using it. Don’t just install and activate every plugin you’ve ever bought.
  • Try using multi-function plug-ins. One plugin (or theme) that does more than one thing can alleviate the use of some plugins. For instance, a lot of people use special plugins for social media buttons even though their theme probably includes those buttons already.
  • Test plugins before blindly activating them. Put your site into a staging area and try plugins before unleashing them on your live site. Run your staging site URL through GTMetrix or another tester to see what impact the plugin has on speed and what kind of resources it is loading up.
  • Use a solid web host. Cheap shared hosting plans that cost you just a few bucks per month or going to suck, in most cases. You get what you pay for. Make sure you choose the right hosting.
  • Use a plugin manager. More on this below.
  • Use a performance plugin. More on that one below, too. 🙂

Basically, there are things you can do to help with the payload and risks of running a lot of plugins.

You still want to try to run as few as you can get away with, however there’s things you can do. I’ll get into more detail on that below.

So, How Wordpress plugins Is Too Many?

So, here’s the thing…

People love to give (and get) hard numbers here. As if there is some kind of numerical cut-off. Stay below the number and you’re good to do…. go above it and you’re screwed.

I saw one site that said “never to exceed 20 plugins”. That’s cute.

Reality isn’t so black and white, however.

I’ve seen some people say try not to run more than 5 plugins if you’re on a shared hosting plan. That would be great, but in the real world see how easy it is to only run 5 plugins. It is pretty much impossible unless your site has almost nothing on it.

If you run stronger hosting (like a VPS from Cloudways, which is what I use), then you can run more plugins. You’re basically just throwing more horsepower at it and that works.

But, general recommendations don’t work. There’s no “one size fits all” answer here.

As of this writing, this very site is running 43 Wordpress plugins.

I’ve been into other sites running way more than that.

I’ve seen some sites running a fairly small number of plugins and the site is still pretty slow because of crappy web hosting. I’ve seen others run 80+ plugins and still be very snappy (although admittedly that’s an extreme case you should avoid).

So, what’s the X-factor that makes the difference here? Well, there are several things to look at…

Strategies To Run More Plugins With Less Speed Issues

So, let’s look into some ways to optimize your site so you can get away with running more plugins.

Again, less the better. Don’t run more than you absolutely need. And note, not just “that’s cool” or “that’d be nice to have”. I’m talking… you really need it for important functionality for your business strategy.

#1 – Use A Caching Plugin

You absolutely need to be using a caching plugin. It is one of the most obvious things you can do to minimize the impact of plugins.

Now, there are a lot of performance plugins out there. And every one of them says they’re the best. Some of them cost money… others do not.

WP Rocket is one of the most popular. Can’t go wrong with it, really.

Many people like W3 Total Cache because it is free. That’s fine, too. I think WP Rocket is way more user friendly, however.

I personally use the Breeze plug-in, from Cloudways. It just makes sense for me because it is so tightly integrated with my host. It works just fine. Other hosts have their own such options (like Siteground Optimizer) and those solutions usually work fine.

Breeze Wordpress Caching By Cloudways

Point is… it doesn’t matter a ton which cache plugin you use. But, make sure you use one.

#2 – Use A Performance Optimizing Plugin

There are a number of plugins out there specifically for increasing site performance. It’s a good idea to run one.

Now, there’s a lot of overlap here. For instance, WP Rocket has a great caching system, but it also does a lot more than that. Even the Breeze plugin I use does far more than caching. Things like:

  • Offloading assets to a content delivery network (CDN)
  • Minifying HTML, CSS and JS files.
  • Combining CSS and JSS files together, or deferring them so they load after the page is loaded up

I personally use the PerfMatters plug-in.

PerfMatters - Wordpress Performance Plugin

It is a lightweight solution in terms of footprint (which seems inline with the overall goal here), but it packs a punch in terms of increasing overall site performance. Things like:

  • Disabling some of the built-in Wordpress features that most people never even use
  • Allow you to enable/disable plugins selectively using the Script Manager (more on that below)
  • Taking control over script loading, font loading, etc.
  • Offloading assets to a CDN
  • Much more

I personally prefer PerfMatters over WP Rocket. It is much more lightweight and does quite a bit. WP Rocket has a fancier interface and more hand-holding, but all that increases it’s own footprint. There are even upsells within WP Rocket for their other solutions. WP Rocket is a good consumer-friendly option, but PerfMatters is way more streamlined and purpose-built for it’s job.

#3 – Use Selective Plugin Loading

This is one of the most powerful options that many people don’t even know they can do.

Usually, when you activate a Wordpress plugin, it is active site-wide. It is up to the plugin author to be responsible with how and when they load up resources.

But, you can take more control. You can enable or disable plug-ins based on certain pages, page URLs, post types, logged-in status, and more.

I used to use Plugin Organizer for this. It worked OK, but the interface wasn’t very friendly.

But, when I found PerfMatters, I found it has a built-in Script Manager. And it makes all this pretty straight-forward.

PerfMatters - Script Manager

With the Script Manager turned on in PerfMatters, it enables an option in your Wordpress admin bar. So, as long as you have the admin bar turned on for admins like yourself when you’re on the front-end, you can use the Script Manager from any page of your site.

Some things I have done are:

  • Disable all the Learndash resources (like CSS files) for my whole site except for the actual course pages.
  • Disable forms plug-ins except on pages where there are actually forms.
  • Disable CSS files specific to my forums from loading on non-forum pages.

It takes a little bit of trial and error, but you can make improvements.

Load up plugins only when they’re needed and that really helps.

#4 – Run Well-Coded Plugins

Some plugins are better coded than others. Some have barely an impact on site performance because they’re so smartly done.

For instance, I’ve been really impressed with the plugins from WP Managa Ninja. Mainly, Fluent Forms and FluentCRM since those are the two I use.

READ: Update on FluentCRM: Is It Ready For Me To Switch?

Many forms plugins will load assets even when there are no forms on the page. But, Fluent Forms doesn’t.

FluentCRM is very resource friendly. One might think running their email list on Wordpress would be a train wreck when it comes to performance. However, the way FluentCRM is put together makes it almost as independent of Wordpress as it can be. It loads nothing on the front-end of the site at all. The admin area uses a custom interface and it uses it’s own database tables. It is extremely efficient.

The point here is…

Research Wordpress plugins in advance. Test them out. See how well they are coded and how efficient they are. Run the ones that are well supported and well coded.

If you just start randomly installing freebies from the plugin repository, that’s when you can start weighing your site down.

#5 – Use Optimized Hosting

You can never dismiss your web hosting.

If you throw more horsepower at your site, it’ll run faster. It is just like putting a stronger engine on a truck. It’ll go faster, tow more load, etc.

A few things to keep in mind:

  • Use a server with faster CPU, more RAM, etc. With typical shared hosting, you’ve got no control over it. But, if you’re using a VPS or some cloud hosting, you can control this.
  • Use the most modern version of PHP you can. Wordpress is coded in PHP. And PHP 7.x is much faster than PHP 5.x. Code just executes faster. If your host supports PHP 8, that’s even better. Of course, your software has to be coded to use these versions, but once again, the better supported plugins usually do.
  • Got ability to use Redis Caching? Then, use it. Not to get too geeky, but Redis is an object cache. When you use it, Wordpress can store certain data in server memory for really fast access rather than having to query out of the database every time. Cloudways supports the Redis cache. There’s a wee bit of setup to get it up and running, but really helps efficiency.

I used Cloudways to upgrade my own web hosting. I also wrote up a whole tutorial on how to migrate your site to Cloudways. If you could use my help to do it for you, I can either just do it for you or answer your questions in the forums.

Do Inactive Wordpress Plugins Affect Site Performance?

A lot of people have a lot of plugins installed, but they’re just sitting there inactive. Do those things have any impact on performance?

Answer = no.

You certainly can disable plugins you’re not using but still keep them installed if you think you might put them back later. That’s no problem.

The only impact those inactive plugins have is in the admin area. And even then, it only has to do with the fact that Wordpress is periodically checking for plugin updates. And it will check for updates even on the plugins that are deactivated.

The impact of these update checks is small. It is triggered automatically every 12 hours or whenever you visit the plugin list or update list page inside the Wordpress admin. Otherwise, it has no impact.

So, do you need to delete them?

No.

It’ll save some space on your server if you delete them, but that’s about it.

Final Word On Plugins

So, are you running 30, 40, 50+ plugins on your site? Maybe even more? Well…

You might just be fine. Because every situation is different.

When it comes to how many Wordpress plugins you run, it is very much a case of quality over quantity.

But, the underlying environment your site works on matters, too.

I mean, you can speed up a car by chucking passengers out the door and going on with barely anybody in it. That’s always an option. 😉 But, you can also make sure the car has good gearing, a strong engine, more room, etc.

In much the same way, your hosting matters. It matters a lot.

I use and recommend Cloudways. It is what I usually bring my clients to if they’re in need of better hosting.

Then, use a good caching plugin. Use a performance plugin like PerfMatters. Strip out the low-quality plugins and the ones you don’t really need.

Do that, you’ll be just fine. 🙂

Could you use my help improving the performance of your site? Learn how to get my help here.

You can also ask questions below in the comments or in the community.

Free Membership Will Get You...

Ability to participate in our forum community, access to exclusive downloads in the library, plus an exclusive subscription to THE EDGE. Sent each Monday, The EDGE will keep you on the cutting edge of Wordpress-based business.

Responses

  1. Great summary, but I will disagree with one point you made, and that’s whether you should delete inactive plugins or not. Agreed, the performance hit is non-existent (just when loading the plugins page or when WP checks for updates, as you mentioned.)

    However, it _can_ open you up to security vulnerabilities. Hopefully if you are using well maintained plugins, and updating them regularly even if you aren’t using a specific plugin at a specific point in time, if there is some sort of exploit in the plugin there could be somebody actively scanning WordPress sites for the files that open that exploit even if it isn’t evident on the home page that that plugin is installed.

    Generally not a huge issue, and if you use something like CloudFlare and they spot the vulnerability in their traffic they’ll often block the exploit at the network level, but it does pose a non-zero chance of happening and folks should be aware.

    Personally, I delete inactive plugins completely (keeping a backup, of course, in case I want to use it again in the future) since a file can’t be exploited if it’s not on your live site.

    1. That’s true, but that would be a very specific (and rare) kind of vulnerability in that the very presence of that PHP code gives some kind of access to the file system. But, when the plugin isn’t activated, it isn’t hooked into the code and therefore it isn’t being executed. True, though, that it _is_ possible.

Join The Community (For Free). You'll Get...

Create Your FREE Account!

Join and participate in the community, access exclusive resources in the Document Vault, and get a free subscription to THE EDGE.

Your membership is free for life.