Guessing Is the Expensive Part
You know the shape of this ticket. A site lands on your desk that nobody on
your team wrote. Page builder, three optimization plugins that all claim to do
the same thing, a wp_options table nobody has opened since 2019,
and a client who's already been told by two other developers that they need
better hosting.
You spend three hours disabling plugins one at a time to find the slow one. You bill for two, because you can't honestly charge a client for your own trial and error. Next month it happens again, on a different site.
Fixing WordPress is the easy part and you're already good at it. The expensive part is finding out what to fix on a site you've never seen before, fast enough that the diagnosis doesn't eat the margin on the retainer.
The Fifteen-Minute Intake
Here's the sequence on a site you've just been handed. None of it needs you to know the site's history, and none of it changes anything yet.
- Site Doctor - one pass over the whole site, findings ranked by severity. Misconfiguration, missing indexes, an object cache that reports "connected" while doing nothing useful. It tells you where to look before you've formed an opinion.
- Plugin Performance Score - a benchmark column on the Plugins page, from a bundled dataset of around 5,000 plugins measured in Docker on makewpfast.com, my own benchmark corpus - every score links through to its full report. It narrows forty plugins down to the two or three worth profiling, before you deactivate anything on a live client site.
-
Autoloader Optimizer - shows you the autoloaded
wp_optionsweight and which rows belong to plugins that were uninstalled years ago and left their data behind. -
Slow Query Analyzer - logs the slow queries and runs MySQL
EXPLAINon them locally. You get the actual query, the actual plan, and the missing index. No percentages, no score.
Four passes and you walk out with a severity-ranked findings list, an
autoload figure, and the slow query with its EXPLAIN plan. You
haven't touched the client's site yet.
Fixing a Site You Don't Own
On your own site, a mistake is an inconvenience. On a client's site it's a phone call, an apology, and sometimes a refund. That's why the destructive actions take a backup first:
| Action | What happens before it |
|---|---|
| Autoloader Optimizer | Rows are snapshotted before the autoload flag changes, so there's a one-click restore if the site starts misbehaving |
| Config Manager | wp-config.php is copied to a protected, non-listable directory before any edit. If that copy can't be written, the edit is abandoned instead of attempted |
| Debug Log Guard | The log is copied before it is compacted, so you don't lose the evidence you were reading |
| Anything fatal | A fatal error handler drop-in keeps you off a white screen with no way into wp-admin |
Most optimization plugins skip this, and I get why - on your own site you'd just restore a backup. You don't always have that option at 6pm on someone else's production store.
Run the intake on one client site this week and see if it holds up. 30-day money back on Annual and Lifetime if it doesn't.
Get Pro Annual - $199/year →The Referee for Three Optimization Plugins
Inherited sites collect optimizers. The client bought WP Rocket in 2021. A freelancer added Perfmatters in 2023. The theme ships its own "performance" panel. Now you're the fourth one in there.
- Three plugins with a "minify JS" toggle
- Two of them switched on
- No way to know which one is actually winning
- A client asking why the site broke last Tuesday
- The real settings, read from each optimizer
- Which optimizations are doubled up
- Which side is the safe one to hand the job over to
- Where WP Multitool itself overlaps, with a one-click switch to turn its own toggle off
Then you can make the case for consolidating their stack with the settings in front of you, instead of from memory.
Evidence You Can Put in an Email
You get paid for outcomes and renewed on communication. On a maintenance retainer the hard part is showing a non-technical client that the work actually happened.
- Slow query CSV export - the queries, their durations, occurrence counts and the component they came from, in a file you can attach.
- Site Doctor findings - each one explains why it's a problem in plain language, which is the paragraph you were going to have to write for the client anyway.
- System Info - the server and WordPress environment on one page, for the "what are we actually running" question at the start of every engagement.
An autoload figure before and after is a number a client understands. It does more for your renewal than a Lighthouse score they never asked for.
Running It Across Your Whole Client List
Every diagnostic above is also a WP-CLI command, and the ones that matter emit JSON. If you have SSH access to your clients, and as an agency you usually do, run the intake across all of them in a loop and put the results wherever you already look.
for site in $(cat clients.txt); do
wp multitool quickstart --format=json --path="$site" > "reports/$(basename $site).json"
done
doctor, autoload, slow-queries,
db-health, redis and debug-log all work
the same way. Pipe them into your own dashboard, a spreadsheet, or a cron that
emails you when a client's autoload weight crosses whatever threshold you care about.
There's no hosted dashboard and no site-management panel. WP Multitool runs inside each WordPress install and reports no client site data back to me. The multi-site story here is the CLI and your own scripts. That's deliberate - it means your client data never leaves your infrastructure - but if what you wanted was a fleet panel, this isn't one. For update management and uptime monitoring keep using MainWP or ManageWP. This sits underneath them and answers a different question.
What It Costs Across a Client Base
The per-site licence exists for people who own one site. If you're reading this page, it's not the tier you want.
| Plan | Sites | Price |
|---|---|---|
| Pro Annual | Unlimited | $199 / year - the agency option |
| Pro Lifetime | Unlimited | $499 once |
| Pro | 1 site | $79 / year |
At thirty client sites that's under seven dollars per site per year. One hour of diagnosis time you don't have to eat pays for the licence.
Get Pro Annual - $199/year Or Lifetime - $499 once
Both cover every client site you manage. 30-day money back, no questions asked.
Agency FAQ
Do I need a separate licence for every client site?
No. Pro Annual at $199/year and Pro Lifetime at $499 both cover unlimited sites. The $79 tier is single-site and exists for individual site owners, not agencies.
Is there a dashboard showing all my client sites at once?
No, and I'm not going to pretend otherwise. WP Multitool runs inside each site. Across a fleet you drive it with WP-CLI, which emits JSON for the main diagnostics, and you aggregate it however you like. Client data stays on your own infrastructure that way.
Does it replace MainWP or ManageWP?
No, and it isn't trying to. Those handle updates, uptime and backups across a fleet. WP Multitool answers "why is this specific site slow, and what exactly do I change" - a question they don't touch. Keep both.
Does it phone home with client data?
No. Diagnostics run locally, including the MySQL EXPLAIN on slow queries. What does leave the site: anonymous usage signals, with a visible opt-out, and a licence check for updates. Client queries, options and logs stay on the client's server.
Is it safe to run on a client's production site?
The intake doesn't change the site's configuration or content. Site Doctor is read-only; the slow query analyzer writes only to its own log table. The destructive actions take a backup first, and the autoload optimizer has a one-click restore. There's also a fatal error handler drop-in, so a bad change doesn't lock you out of wp-admin.
Does it work on managed hosting?
Yes. No server access needed, no custom PHP extension. On hosts that lock down wp-config.php or the filesystem, the modules that need that access say so instead of failing quietly.
Can I try it on one site before rolling it out?
Yes, though there's no time-limited trial, so the honest answer is the 30-day money-back guarantee on the Annual and Lifetime plans. Buy it, run the intake on the next two or three sites you inherit, and ask for a refund if it doesn't earn its keep. No questions asked.