Managing multiple WordPress sites for clients is a solved problem -- but the solution depends on how many sites you manage and what your actual bottleneck is.
I've used all three approaches. Here's when each one makes sense.
The three real options
ManageWP -- cloud-hosted dashboard, monthly subscription (~$2/site or $100+/month flat), handles updates, backups, uptime, performance checks. Polished UI.
MainWP -- self-hosted on your own WordPress install, free core, paid extensions for advanced features. You own the data.
Custom scripts -- WP-CLI + SSH + your own automation. Free forever, runs exactly how you want, no third-party dependencies.
ManageWP: best for non-technical agency owners
ManageWP is the easiest to set up and the easiest to explain to clients. The dashboard looks like a proper SaaS product.
Strengths:
- Cloud-hosted (no maintenance of the dashboard itself)
- White-label client reports that look professional
- Good uptime monitoring
- One-click safe updates (tests after updating)
- Works with WooCommerce
Weaknesses:
- Gets expensive at scale. 20 sites at $2/site = $40/month. 50 sites = $100+/month.
- You're dependent on their infrastructure. If ManageWP has downtime, so does your monitoring.
- Less customizable -- you get what they give you
- Premium features (performance checks, SEO audits, etc.) add cost quickly
Best for: agencies managing 5-20 sites who want a polished tool and don't mind paying for it.
MainWP: best for large volumes and data ownership
MainWP installs on a WordPress site you control. Your data stays yours.
Strengths:
- Free core with no per-site fees
- Good extension ecosystem
- Works well at 50+ sites
- You control the data and the dashboard
Weaknesses:
- You're now managing another WordPress site (the MainWP dashboard)
- Extensions add up: advanced reports, client portal, vulnerability scanning are paid
- Requires more setup than ManageWP
- The child plugin must be installed on every site you manage
Best for: agencies with 20+ sites who want to own their data and avoid per-site pricing.
Custom scripts: best for technical freelancers who want full control
If you're comfortable with the command line, WP-CLI + SSH + bash/PowerShell gives you more flexibility than either dashboard solution.
The basic flow:
#!/bin/bash
# Run on one client, or loop over clients.json for all
WP_PATH="/var/www/html/client"
# Backup first
wp --path="$WP_PATH" --allow-root db export backup_$(date +%Y%m%d).sql
# Update everything
wp --path="$WP_PATH" --allow-root core update
wp --path="$WP_PATH" --allow-root plugin update --all
wp --path="$WP_PATH" --allow-root theme update --all
# Check for issues
wp --path="$WP_PATH" --allow-root doctor check --all
Strengths:
- Zero monthly cost
- Runs on your schedule, not a third party's
- Fully customizable (add any check you want)
- Generates reports exactly how you want them
- No dependency on external services staying online
- Handles edge cases that dashboards don't
Weaknesses:
- Takes time to build (10-15 hours upfront)
- Requires SSH access to servers (not always available on shared hosting)
- No visual dashboard (unless you build one)
- Debugging when something goes wrong requires CLI knowledge
Best for: technical freelancers managing 8+ sites who want the lowest possible ongoing cost and maximum control.
The math: what each approach actually costs
Assuming 15 sites, 2 hours/month manual time per site without automation:
ManageWP ($2/site):
- Monthly cost: $30
- Time: ~3 hours/month reviewing dashboards + handling flagged issues
- Annual: $360 + ~36 hours of your time
MainWP (free core + $100/year extensions):
- Monthly cost: ~$8
- Time: ~3 hours/month + occasional dashboard maintenance
- Annual: ~$100 + ~36 hours of your time
Custom scripts (built once):
- Monthly cost: $0
- Build time: 12-15 hours (one time)
- Monthly time: ~45 minutes reviewing automated reports
- Annual: $0 + ~9 hours of your time
At $80/hour, the time saved by custom scripts vs ManageWP:
- ManageWP: 36 hours x $80 = $2,880 in time + $360 in fees = $3,240/year
- Custom scripts: 12 hours build + 9 hours/year = 21 hours x $80 = $1,680 year one, $720 year two onward
Custom scripts break even in year one and cost 80% less by year two.
What I actually use
I use all three, depending on the client:
- ManageWP: clients who want a client portal and professional white-label reports. I bill the ManageWP cost to the client.
- Custom scripts: my standard setup for most clients. Free, runs exactly as I need.
- MainWP: inherited from a previous agency setup. I'm gradually moving those sites to scripts.
For the sites on custom scripts, I run a maintenance script that handles updates, backups, security checks, and HTML report generation -- one command per site, or one command for all sites via a JSON config file.
Which should you choose?
Choose ManageWP if:
- You're less technical and want a polished dashboard
- You have fewer than 20 sites
- You can bill the cost to clients
- You want one-click safe updates with rollback
Choose MainWP if:
- You have 20+ sites
- Data ownership matters to you
- You're comfortable running another WordPress installation
Choose custom scripts if:
- You're comfortable with the command line
- You want zero ongoing cost
- You have SSH access to client servers
- You want maximum flexibility
Don't choose scripts if:
- You're not comfortable debugging shell scripts
- Your clients are on shared hosting without SSH
- You want a visual dashboard without building one
The custom script option, ready-made
If the scripts approach sounds right but you don't want to spend 12 hours building them from scratch, I put the full toolkit together: bulk update script (Bash for Linux, PowerShell for Windows), security audit, uptime monitor, HTML report generator, and clients.json template.
WordPress Agency Automation Bundle -- 19 PLN, use DEVTO for 20% off.
What do you use for managing multiple WordPress sites? Curious whether the community has moved more toward cloud dashboards or self-hosted in recent years.
More in this series: WordPress Agency Toolkit
- I automated WordPress maintenance across 8 sites
- How I land WordPress maintenance clients with cold email
- WordPress site running slow? 30-minute diagnosis checklist
- The WordPress maintenance business: real numbers and pricing
- WooCommerce maintenance: 8 checks that keep payments alive
- MainWP vs ManageWP vs custom scripts
- WordPress security: 10-minute monthly checklist
All tools and templates: devautomation.gumroad.com
Top comments (0)