Muhammad Basim
WordPress

The WordPress Plugin Audit: What to Remove and What to Keep

By Muhammad Basim·

"How many plugins is too many?" is the most-asked and least-useful question in WordPress.

The answer is that it depends entirely on which plugins. Twenty well-coded, actively maintained plugins that load assets only where needed will comfortably outperform six bloated ones that each dump 200KB of CSS and JavaScript onto every page whether it's used or not.

Count is a proxy people reach for because measuring weight sounds hard. It isn't. Here's how to measure what each plugin actually costs, and what to cut.

The short version

Measure four things per plugin:

  1. Asset weight — what CSS and JS it loads, and where
  2. Query load — how many database queries, and how slow
  3. Maintenance status — last updated, and compatibility
  4. Actual use — do you genuinely use it?

Then cut in this order: unused, duplicated, abandoned, expensive-relative-to-value.

Two free tools do all the measuring: Query Monitor and PageSpeed Insights.

Step 1 — The obvious cuts, first

Before measuring anything, three categories come out immediately.

Deactivated plugins. They're still files on your server, still a security surface, and still there to be exploited if one has a vulnerability. Deactivated is not removed. Delete them.

Plugins you can't identify. If you don't know what it does or why it's there, find out. If nobody knows, it's a candidate.

Duplicates. Two SEO plugins, two caching plugins, two security plugins, two form plugins. These don't just waste weight — they actively conflict, writing competing meta tags or caching layers. Pick one.

That alone often removes a third of the list.

Step 2 — Find out what each plugin loads

PageSpeed Insights, free, no installation.

Run any page and expand "Reduce unused JavaScript" and "Reduce unused CSS." You get a list of files with sizes — and the file paths are your plugin folders.

/wp-content/plugins/slider-plugin/assets/js/slider.min.js — 342 KB

A 342KB slider script on a page with no slider is a plugin loading everywhere when it should load nowhere.

What to look for: any plugin loading substantial assets on pages that don't use its functionality. Contact form plugins are the classic offender — loading their scripts site-wide for a form that exists on one page.

The fix is often not deletion. Several optimisation plugins (Perfmatters, Asset CleanUp) let you disable specific plugin assets on specific pages. That keeps the functionality and removes the cost.

Step 3 — Measure query load with Query Monitor

Query Monitor is free, and it's the tool that turns guesswork into data.

Install it, activate it, and load a page on the front end while logged in as an admin. A panel appears in the admin bar showing:

Total queries and total query time. Under 50 queries is healthy for a typical page. Over 100 warrants investigation. Over 200 is a problem.

Queries by component — the crucial view. It attributes queries to specific plugins, so you can see exactly which one is running forty queries per page load.

Slow queries, highlighted individually.

Hooks, HTTP requests, and PHP errors, which surface plugins making external API calls on every page load. Those are a genuine cause of poor TTFB and they're invisible otherwise.

What to act on: a plugin generating disproportionate queries or making external HTTP requests on every page load. Those are the expensive ones, and they rarely announce themselves.

Deactivate Query Monitor when you're done. It adds overhead itself, which is fine for diagnosis and pointless the rest of the time.

Step 4 — Check maintenance status

Go to Plugins → Installed Plugins and check each one's WordPress.org page.

Red flags:

No update in over a year. Both a break risk when core or PHP moves, and a security risk since vulnerabilities go unpatched.

"Untested with your version of WordPress." Sometimes just a lazy header update, sometimes genuine abandonment. Check the support forum for recent developer replies.

Unanswered support threads. A plugin whose forum is full of unresolved questions from six months ago is effectively unmaintained.

Ownership changes. Popular plugins get acquired, and quality sometimes drops sharply afterward — occasionally into aggressive upselling or worse. Worth knowing who maintains what you run.

Abandoned plugins are a security problem as much as a performance one. The security angle.

Step 5 — The keep-or-cut decision

For each remaining plugin:

Do I use this? Not "might it be useful" — do you use it. Cut what you don't.

Is there a lighter way? Some plugins exist to do something a few lines of code in your child theme's functions.php would handle. Others duplicate what your theme or a plugin you already have provides.

Is it worth its weight? A page builder is heavy and you need it. A social sharing plugin loading 180KB for buttons nobody clicks is not the same trade.

Is it maintained? Covered above, and it's often the deciding factor between two similar options.

And the honest test: if you removed this tomorrow, what would break, and would anyone notice?

The categories usually safe to cut

Patterns that come up in most audits:

Social sharing plugins. Heavy, and share buttons see very low engagement on most sites. A few lines of HTML with share URLs does the job weightlessly.

Related posts plugins. Often run expensive queries on every page load. Many themes include the functionality already.

Single-purpose plugins for trivial jobs. "Insert header and footer scripts," "hide admin notices," "change the login logo" — several of these can be replaced by a handful of lines in a child theme.

Analytics plugins. Many exist to paste a tracking script. Pasting the script directly, or using one lightweight header/footer plugin for all of them, is lighter.

Slider plugins. Heavy, and sliders perform poorly for engagement in most published testing. If you have one, it's worth asking whether it earns its cost.

Old page builder addon packs where you use one widget from a library of sixty. More on that.

Are page builder addons a problem?

Frequently the single biggest contributor on builder sites, and the most overlooked.

Each addon pack — Essential Addons, Ultimate Addons, Happy Addons — loads its own CSS and JavaScript framework. Install three packs to get four widgets and you've tripled the overhead for a handful of elements.

What to do:

Count what you use. Usually one or two widgets per pack.

Check for module toggles. Most packs let you disable individual widgets, cutting asset load substantially. This is the fastest available win and almost nobody does it.

Consolidate to one pack covering everything you need, and remove the rest.

Doing it safely

Back up first, files and database.

Test on staging if you have it.

Remove one at a time, checking the site after each — front end, forms, checkout, mobile menu.

Deactivate before deleting, and give it a few days. Settings survive deactivation; deletion often removes them permanently.

Keep a record of what you removed and when. When something breaks in three weeks, that list is what tells you where to look.

Frequently asked questions

How many plugins is too many?
There's no number — weight and quality matter far more than count. Twenty well-coded plugins that load assets only where needed will outperform six bloated ones loading scripts site-wide. What matters is whether each is maintained, actually used, not duplicating another, and worth what it costs in assets and queries. If you can't say what a plugin does and why it's installed, that's the real signal.

How do I know which plugin is slow?
Query Monitor attributes database queries to specific plugins, so you can see exactly which one is running forty queries per page load or making external HTTP requests on every request. For front-end weight, PageSpeed Insights' "Reduce unused JavaScript" and "Reduce unused CSS" sections list files by size, and the file paths name the plugin folders directly. Both are free.

Are page builder addons a problem?
Often the biggest single contributor on builder sites. Each addon pack loads its own CSS and JavaScript framework, so installing three packs to get four widgets multiplies the overhead considerably. Most packs let you disable individual widgets you don't use, which cuts their asset load substantially — that's usually the fastest available fix, ahead of removing the pack entirely.

What to do next

Install Query Monitor, load your homepage, and look at "Queries by Component."

That one screen usually names the two or three plugins costing you the most — and it's frequently not the ones you'd have guessed. People assume the page builder is the problem and find a related-posts plugin running sixty queries.

Then delete every deactivated plugin sitting in your install. That's a free security improvement in about two minutes.

Free: The WordPress maintenance checklist.


Related guides

Join the Newsletter

Get practical marketing tactics delivered straight to your inbox.

Muhammad Basim

Written by

Muhammad Basim

Related Articles

Newsletter

Free: The 60-Minute
Email Authentication Fix

A no-fluff checklist from the Deliverability Playbook. In one hour: set up SPF, DKIM & DMARC correctly, check your domain against blocklists, and pass Gmail & Yahoo's 2026 sender requirements.

No spam — that would be ironic. Unsubscribe anytime.