How many WordPress plugins should you install on your site? How many plugins are too many? Aren’t plugins bad for performance? Don’t plugins increase your risk of security exploits? Isn’t it better to avoid plugins at all costs? These are some of the most asked questions we see by WordPress beginners. There are numerous articles in the blogosphere that directly or indirectly misguides new users (including some on our site). The goal of this article is to better educate the beginners and power users alike in hopes of clearing up some misunderstanding that may have existed previously.
Ever since WordPress 1.2 (when support for WordPress plugins were added), plugins have been a blessing for users. WordPress without plugins is like a toy store with no toys. That’s no fun. Even though the WordPress core provides a strong publishing framework, it is the plugins that is widely responsible for the platform’s success. As the WordPress community grows, the number of WordPress plugins have too. At the time of writing this article, there are over 21,000 free WordPress plugins available in the WordPress plugins repository.
The purpose of plugins is to extend WordPress to do almost anything you can imagine. However, now we see a sense of fear or restraint towards plugin from many users. Folks are worried about performance, security, reliability, etc. This is mainly because designers and developers get really frustrated when their client has a mess of plugins installed on a site. In their frustration, they make comments like have less plugins, or it is the plugins that are slowing your site down. These statements have resonated through out social media and in-person events. The biggest issue with those statements are their ambiguity. What is less? How many plugins should you install? Plugins in general don’t slow down your site. Only bad ones do.
There are articles through out the web that shows you: “How to do XYZ without a Plugin” (like this one and many others on our site). The purpose of these kind of articles are not to discourage the usage of available plugins. The purpose of these sort of articles are to show you how to do things yourself. Placing a code in your theme’s functions.php file would function identically to adding it via a plugin (i.e same amount of resources are required). So in other words, if you paste 30 code snippets from various places on the web into your theme’s functions.php file, then you added 30 plugins to your site.
There is a whole debate about not adding every snippets to your functions.php file anyways. Mainly because if you switch themes, technically you will lose all the functionality that you may not want to get rid of. You can read more about this in our article regarding: What, Why, and How-To’s of Creating a Site Specific WordPress plugin
Many users are under the illusion that adding the code in their functions.php file or in a site-specific plugin will speed up their site. Or it is better for “security” to do this. It’s NOT the case. You can have poorly coded function that can exhaust your server resources and cause the site to crash. You can have a poorly coded function that can create a security vulnerability on your site.
Before we go any further, let’s establish that it is NEVER too many plugins that are slowing down your site. It is always poorly coded plugins that are slowing down your website.
The answer to the question: “How many WordPress plugins should you install on your site” is as many as you need. When we tell this answer to folks, they are like you are being just as vague as others. How many plugins do you use on your site? Currently, there are 53 active plugins on WPBeginner. A good number of the plugins we are using can be seen on our Blueprint page.
According to Pingdom, our homepage load time ranges from 483ms – 1.7s depending on the time of the day. Below is a screenshot that we took at the time of writing this article:
At this point, you should have your question answered. However if you want to further understand the impact of plugins and how to choose the best plugin, then continue reading.
Plugins and Performance
There are various types of plugins. Plugins that affect the front-end (i.e social plugins, usability plugins, etc). There are plugins that are mainly for the back-end (i.e Hot Fix, Backup Plugins, etc). There are plugins that do both backend and front-end (i.e SEO plugins, etc).
Plugins can impact your site performance by:
- Additional HTTP requests – Some plugins (mainly front-end ones) may require custom styling or scripts to work properly. Because of this, they may add an extra JS and/or CSS file(s).
- Additional DB Queries – Some plugins may increase your database queries. If you are using a plugin for popular posts, related posts, or anything else that pulls database elements and display it on the front-end will add additional database queries.
Out of the box some plugins do present these issues however there is a fix for it in most cases. Let’s take a short term and a long term fix for these issues. Before we do this, let’s establish that everyone NEEDS to have caching installed. We recommend and use W3 Total Cache plugin.
Additional HTTP Requests Issue – Yes, some plugins HAVE to add additional http requests (i.e JS and CSS file) to work out of the box. For example, when you install a contact form plugin, do you NOT want it to work out of the box? People complain about additional HTTP queries as if they would be OK with having an unstyled form. Not sure what an unstyled form look like?
Most of you would freak out saying that’s broken. Stylesheet is missing. Well that is exactly what would happen if the contact form doesn’t add the additional HTTP request. We all want our forms to look stylistic. We all want the captcha to work, so we don’t get SPAM email. In short, the additional style and script needs to be added for the plugin to function properly.
There are two ways of optimizing the additional HTTP requests issue. Both methods require little coding knowledge and WordPress know-how. The first method would be to unregister the additional styles and scripts that are being loaded by the plugin. Then combine the plugin styles into your style.css file. Combine the plugin scripts into your main.js file. The second method would be to conditionally load the plugin styles/scripts on pages that they are needed. We have already explained both methods in our article about disabling additional scripts and stylesheets that WordPress plugins add.
Folks who are not code savvy will argue well what about us? Sadly there is no true solution available. However, you must understand that few additional HTTP requests are not as significant as you may think. We are talking about microseconds of differences here. Sure, if you have a lot of HTTP requests, then a little coding know-how will allow you to shave a few seconds off the loading time. At this point, you would have to think how big of a priority this is for your business. If it is a big priority, then it is worth hiring a professional to speed up your site. We are always available for hire.
The short term solution for this problem is that plugin authors who are loading additional stylesheets add a checkbox in their plugin settings like the WP-PageNavi plugin does.
This makes it easier for folks who don’t know much of PHP to simply check the box to unregister the additional stylesheet. This way all the user has to do is take the content of the additional stylesheet file and add it at the bottom of the main stylesheet that they were loading.
A long term solution for this problem would be that someone comes out with a plugin or WordPress core adds an ability to combine all registered stylesheets and scripts as one. There are obviously a lot of issues that needs to be fiddled with here. First and foremost is the compatibility issue. Sometimes two scripts may not be compatible together. This is what we see a lot when debugging plugin issues for our users.
Now that we have this covered, lets take a look at additional DB queries.
Additional Database Queries – Some plugins may increase the load on your database server. WordPress itself does a very good job at caching the queries. Most well coded plugins will not cause a significant issue. However, if you have a very very large site, using related posts plugin like YARPP can become an issue specially if you don’t have good server resources.
At this point, you would probably want to consider upgrading your hosting. The only other solution would be to get rid of the plugin and hire someone to build a custom solution for you. Sometimes, you may have to do some aggressive server-side caching to make the existing plugin work. The custom solutions vary from site to site.
Plugins and Security
Sometimes folks raise a concern with plugins and security. Yes, in the past there have been issues that some plugins opened up a big security vulnerability. These mostly happen with poorly coded plugins. Besides that, security is a risk with just about every software that exists. Oversights are bound to happen. However, the best part about open source is so many people are using it that it gets picked up a lot faster.
Plugins and Reliability
Some folks have raised the issue with plugin’s reliability. What if the plugin gets discontinued? What if the updates are slow? This is the risk you run with when using any software right? What if Adobe goes out of business, then we won’t have Photoshop. What if Apple goes out of business, then we won’t have iPhone. Well, guess what, then you will have something better. The best part about WordPress is the community. This community is growing faster than ever. If you use a popular plugin, chances are that it will not be discontinued. If it is, then someone else will likely fork it and continue the development. That’s the power of GPL. This is exactly how WordPress came in existence.
Thanks to services like gitHub, developers are combining efforts by submitting patches to each other’s plugin. This is only going to get better as long as folks continue to work together.
We would recommend that you pick plugins with a good track records, and you will be fine.
How to Pick the Best Plugins?
This is a big issue for new users. Which plugins are the best? Which ones should I use? We recommend that you pick plugins that have good track records. How to determine that?
Well, look at the number of downloads. Look at the plugin ratings. Look at how many support threads have been answered. Look at how many people are saying that it works. Read some reviews about it. Look at the credibility of the author. Hopefully after all this, you should have your answer.
Hint: You can see all these metrics on the WordPress plugins repository. As for reviews, Google it. Then use your best judgement.
We hope that this article has helped you understand that there is no such thing as “too many” plugins. The answer to how many plugins you should install on your site is as many as you need. Always remember that the number of plugins do not slow down your site. Number of poorly coded plugins do.
If you have additional thoughts, disagree with our opinion, or want to add something to the discussion, then we encourage you to leave a comment. We are also curious in seeing how many plugins are you running on your site. Leave a comment and let us know.