Do Too Many Plugins Slow WordPress? How to Check
The number of plugins is not what slows WordPress down. What matters is what each active plugin does on every page load: the scripts and styles it adds, the database queries it runs, the outside services it calls and the settings it loads into memory. One heavy plugin can cost more than a dozen small ones. Measure each plugin with Query Monitor and PageSpeed Insights, test removals on a staging copy one at a time, and keep only what earns its place.
“Delete some plugins” is the most common speed advice for WordPress, and on its own it is not much help. Removing five small plugins that do almost nothing changes nothing, while one page builder add on, chat widget or social feed loading on every page can be the whole problem. The steps below show you how to find which plugins actually cost you time, and what to do about each one.
What makes a plugin slow
A plugin can slow your site in five main ways. Knowing which one you are looking at tells you which tool will show it.
- Front end files. Scripts, stylesheets and fonts added to every page, even pages that never use the feature. A form plugin loading its files on your homepage when the form is only on the contact page is a typical example. This hurts what visitors and PageSpeed see.
- Database queries. Many small queries, or a few slow ones, on each request. This makes the server slower to send the first byte of the page.
- Calls to outside services. Some plugins contact their own servers, an API or a licence check while the page is being built. If that service is slow, your page waits for it.
- Autoloaded settings. WordPress loads every option marked “autoload” on every request. Plugins that store large amounts of data this way, or leave it behind after removal, add weight to every page.
- Background jobs. Scheduled tasks (WP Cron), imports, backups and statistics that run while visitors are on the site.
Inactive plugins do none of these: WordPress does not load a deactivated plugin’s code. They do not slow the site, but their files are still on the server, so delete any you do not plan to use again.
Step 1: Take a baseline before you change anything
Pick three pages that matter: the homepage, a page that brings in enquiries or sales (a service page or a product), and a blog post. Run each through PageSpeed Insights on the mobile tab and write down the performance score, Largest Contentful Paint and Total Blocking Time. Run each page two or three times, because the numbers move between runs, and use the middle result.
If you have caching on, test both a cached page and the experience of a logged in administrator. Caching can hide a slow plugin from PageSpeed while every uncached request, every logged in user and every WooCommerce cart still pays the full cost.
Step 2: Measure what each plugin does on the server with Query Monitor
Query Monitor is a free plugin that adds a panel to the admin bar. It only shows that panel to logged in administrators, so visitors see nothing. Install it, open one of your baseline pages while logged in, and look at these panels:
- Overview: total page generation time, peak memory and the number of database queries for that request.
- Queries by Component: how many queries each plugin and the theme ran, and how long they took. A plugin with hundreds of queries on a simple page, or with slow ones highlighted, is your first suspect.
- HTTP API Calls: any outside request made while the page was built, which plugin made it and how long it took. Anything here on a normal front end page deserves a question.
- Scripts and Styles: every file enqueued on the page and which component added it. This is where you spot plugins loading files on pages that do not need them.
Do this on more than one type of page. A plugin can be quiet on the homepage and heavy on product or archive pages. Deactivate Query Monitor when you finish.
Step 3: Find which plugins add weight in the browser
Back in PageSpeed Insights, open the diagnostics that list individual files, such as “Reduce unused JavaScript” and the render blocking items. Each entry shows a file address. Files under /wp-content/plugins/ include the plugin’s folder name, for example /wp-content/plugins/plugin-name/assets/script.js, so you can see at a glance which plugin each file belongs to and how much of it goes unused on that page.
Your browser’s developer tools give the same view. In Chrome, open DevTools, go to the Network tab, reload the page and filter by “plugins” to see every file your plugins load and its size.
Step 4: Check autoloaded options in Site Health
Go to Tools > Site Health. WordPress checks the size of your autoloaded options and warns you when the total is large enough that it “could cause your site to be slow”. Large autoloaded data often comes from plugins you removed years ago, since deactivating or deleting a plugin does not always clean up what it stored. Cleaning it out means editing the database, so take a backup and get a developer to do it if you are not comfortable with that.
Step 5: Test removals on a staging copy, one plugin at a time
Never test by switching plugins off on the live site while customers are using it. Use a staging copy: many hosts include a staging tool in their control panel, or a developer can make one. Then work through your suspects in order:
- Deactivate one plugin.
- Check the pages it affects still work: forms, checkout, menus, anything the plugin was responsible for.
- Run Query Monitor and PageSpeed again on the same pages and compare with your baseline.
- Write down the difference, then reactivate it or leave it off, and move to the next one.
One at a time is slower than switching off ten and seeing what happens, but it is the only way to know which plugin made the difference and which one broke something. If you cannot make a staging copy, the free Health Check and Troubleshooting plugin has a troubleshooting mode that disables plugins only for your own logged in session, so visitors see no change. It suits checking whether something breaks; use staging for speed measurements, since caching and your session affect the results.
Step 6: Decide what to do with each slow plugin
For each plugin that showed a real cost, you have four options.
- Remove it if nobody uses the feature any more. Delete it, do not just deactivate it.
- Configure it. Many plugins have settings to turn off features you do not use, or to load their files only on the pages that need them. Check the plugin’s settings and documentation before you replace it.
- Replace it with something that does only the job you need. Measure the replacement the same way. Labels like “lightweight” on a plugin listing are a claim, not a measurement.
- Keep it if it is slow but essential to the business, such as a payment gateway, a booking system or your shop. Then make sure the rest of the stack (hosting, caching, image sizes) gives it room.
Two patterns are worth checking for while you are there. Two plugins doing the same job, such as two caching plugins or two SEO plugins, can conflict with each other and print duplicate output. And plugins that add social feeds, chat widgets, sliders or animation libraries to every page are frequent causes of high Total Blocking Time on mobile.
Do not lazy load the hero image
Lazy loading delays images until the visitor scrolls near them, which is good for images further down the page. It is bad for the large image at the top, which is often the Largest Contentful Paint element that PageSpeed measures. Delaying it makes the page look slower.
Recent versions of WordPress try to leave the first large images on a page without lazy loading, and add fetchpriority="high" to the likely main image. A lazy loading plugin, a page builder setting or a slider can override that. Check by inspecting the hero image in your browser: if it has loading="lazy", exclude it in the plugin or builder settings. A hero set as a CSS background image, which many sliders use, cannot be handled by WordPress this way at all, so a plain image element is usually faster. Google’s guide to browser level lazy loading explains why images in the first screen should load normally.
Keep it from creeping back
Sites slow down again over time because plugins get added for one task and never removed. A simple habit stops that: before installing a plugin, ask whether the job can be done without it, and after installing it, check Query Monitor and PageSpeed on the pages it affects. Review the full plugin list a few times a year and remove what is no longer used. If you would rather not do this yourself, we include plugin reviews as part of ongoing care, with updates tested on a copy of your site first.
Frequently asked questions
How many plugins is too many for WordPress?
There is no safe number. A site with forty well built plugins can be faster than a site with eight heavy ones. Judge each plugin by what it adds to the page and the server, using Query Monitor and PageSpeed Insights, not by the count.
Do deactivated plugins slow down WordPress?
No. WordPress does not load a deactivated plugin’s code. The files still sit on your server, though, and the data the plugin stored usually stays in the database, so delete plugins you no longer need.
Does deleting a plugin remove its data?
Only if the plugin includes its own uninstall routine, and many do not remove everything. Settings, custom tables and scheduled tasks can remain. Site Health’s autoloaded options check is one way to see whether leftovers are adding weight.
Is Query Monitor safe to use on a live site?
It shows its panel only to logged in administrators and does not change your content. It does add a little overhead while active, so deactivate it when you have finished measuring.
Which plugin is slowing down my WordPress site?
Open the slow page with Query Monitor active and check “Queries by Component” and “HTTP API Calls” for the server side, then the file list in PageSpeed Insights for the browser side. Confirm the suspect by deactivating it on a staging copy and measuring again.
Be the first to comment