The first ten sites are easy. You know every one of them by heart, which plugin is a bit fragile, which client always forgets a password. Somewhere around site thirty that stops working, and you start finding out about problems from the people paying you.
This article is about how to manage multiple WordPress sites as a freelancer or small agency with roughly 10 to 200 of them. It is mostly about habits and structure, with a few tools mentioned along the way. Most of it works whatever plugins you use.
The short version: make the sites more alike, write down what you own, run the boring jobs on a schedule and let machines do the watching.
Why It Gets Hard to Manage Multiple WordPress Sites
The work does not grow in a straight line. Every site you add brings its own host, its own plugins, its own client and its own quirks. Ten sites with ten different setups is not ten times the work of one site. It is closer to a hundred small decisions, because nothing you learn on one site transfers to the next.
Three things usually break first:
- Updates drift. Some sites get updated weekly, others have not been touched since spring, and nobody can say which is which.
- Access piles up. Years of freelancers, former staff and old contractors still have an administrator login somewhere.
- Problems arrive by phone. Without monitoring, the first alert is a client email that starts "Is the site supposed to look like this?"
Good news: all three are fixable with structure, not heroics.
Standardise the Stack
Every difference between your sites is a cost you pay forever. Cut them where it does not hurt the client.
Pick a Short List
Decide on one or two hosts, one theme or builder approach, and a core set of plugins you trust for forms, caching, SEO, security and email. New sites start from that list. A plugin outside the list needs a reason.
A shared starter site helps here: a clean install with your standard plugins and settings already configured, ready to clone. Starting from that beats building each site from scratch, and it means a fix you make once can be repeated.
Keep a Written Standard
Write down your baseline in a single page. Something like:
- WordPress, theme and plugins kept on the current major version.
- Administrator accounts limited to named people, each with their own login.
- Two-factor sign-in on every account that can change content or settings.
- Backups taken before every round of updates.
- A security plugin installed, configured to your standard and checked monthly.
It sounds dull, and it is. That is the point. A standard is what lets a new team member do the right thing without asking you.
Key takeaway: The cheapest way to manage multiple WordPress sites is to need fewer kinds of site. Standardise before you automate.
Build an Inventory You Will Actually Keep Up
You cannot look after what you cannot list. A spreadsheet is fine. A shared table in whatever tool your team already opens every day is better, because it gets updated.
Here is a layout that works:
| Column | Why it matters |
|---|---|
| Site name and URL | The obvious one, plus staging URL if there is one |
| Client contact | Who to call, and who is allowed to approve changes |
| Host and plan | Where to look when the site is down |
| Domain registrar and DNS | Who actually controls the domain |
| WordPress and PHP version | Spots the sites falling behind |
| Plugin licences and renewal dates | Stops "update failed because the licence expired" |
| Last backup and last restore test | Proof, not hope |
| Care plan or support level | What you are on the hook for |
| Last reviewed | The date someone last looked properly |
The last column is the one that saves you. A site with a review date from eight months ago is a site that needs attention, and now you can see it.
If you sell ongoing support, link each row to what the client actually pays for. Our article on WordPress care plans covers how to define that so it matches what you do.
Run a Routine, Not a Panic
Updates are where most agencies lose their weekends. The fix is to make them dull and regular.
A Simple Weekly Rhythm
- Monday: check monitoring alerts and the inventory for anything stale.
- Tuesday or Wednesday: run updates in batches, starting with your lowest-risk sites.
- Thursday: spot check a few front ends and key forms by hand.
- Friday: nothing risky. Never ship to 40 sites on a Friday afternoon.
Pick your own days, but keep them fixed. A routine that runs on the same day every week survives holidays and busy spells much better than good intentions.
Take a Backup Before Every Batch
Updates are the most common reason a working site stops working. Take a backup first, every time, and keep at least one recent copy somewhere that is not the same server. Our article on how to back up a WordPress site walks through what a good backup needs. A backup you have never restored is a guess, so test a restore on a few sites each quarter.
Use WP-CLI for the Bulk Jobs
WP-CLI is the command-line tool for WordPress. If your host gives you SSH access, it turns repetitive clicking into one line. For example, the WP-CLI plugin update command supports --all to update every plugin that has an update, --exclude to skip the fragile ones and --dry-run to preview what would change.
# See what would be updated, without changing anything
wp plugin update --all --dry-run
# Update everything except one plugin that needs care
wp plugin update --all --exclude=some-fragile-plugin
Wrap commands like these in a small script that loops over your server list and you have a bulk updater. Run the dry run first, always. Stack Guard also publishes its own WP-CLI commands on the developer reference, which is handy for scripting checks across sites.
Central Visibility Without a Central Dashboard
You do not need to log in to 80 admin areas to know how things are going. You need three signals in one place.
- Uptime. A monitoring service that pings every site every few minutes and alerts you by email or chat. Most are cheap, and it is the first thing worth paying for.
- Backups. Some way to see that every site has a recent successful backup. Whether that is a management tool, a hosting dashboard or a weekly check against your inventory, do not leave it to memory.
- Updates and health. A view of which sites have pending updates or a failed task. A management tool built for this is worth it somewhere past 20 sites.
One honest note about our own product. Stack Guard does not have a central multi-site dashboard. It runs inside each WordPress site and protects that site. What it does give an agency is consistency and fewer surprises, which we get to below.
Passwords and Access Hygiene
Access is where agencies get hurt. A leaked login on one forgotten site can become a way into your wider setup, and a client can end up with a hacked site because of an account you never knew existed.
Use a Team Password Manager
No spreadsheets of passwords, no shared inboxes, no logins in chat. Use a team password manager with shared folders per client. When someone leaves, you remove them from the folders and rotate what they could see. Brief the team on WordPress phishing emails too, because one convincing fake can reach every site you manage. That is a ten minute job, instead of a month of worry.
One Person, One Account, Least Power
Every human gets their own WordPress account. Nobody shares "admin". Give people the lowest role that lets them do the job; most client staff need Editor or Author, not Administrator. If roles are fuzzy to you, our guide to WordPress user roles covers who should have what.
Review Accounts on a Schedule
Once a quarter, list the administrators on each site and remove or downgrade anyone who does not need the access. Stack Guard Pro helps by flagging administrators who have not signed in for 90 days, and its User Security Console shows each person's role, password age and two-factor status in one place.
Turn On Two-Factor Everywhere
Passwords leak. A second factor turns a leaked password into an inconvenience. Stack Guard's two-factor sign-in is part of the plugin, and the guide to WordPress two-factor authentication shows how to roll it out to clients without drama.
Alerts: Triage, Do Not Drown
If every site sends you an email for every failed login, you will stop reading them within a week. Alert design is part of the job.
- Split alerts by urgency. Site down, malware found and a successful login from a new place need a person soon. A failed login attempt does not.
- Prefer a summary for the rest. A daily or weekly digest tells you the trend without the noise.
- Send alerts to a shared mailbox or channel, not one person's inbox, so holidays do not leave a gap.
- Write down what each alert means and who handles it.
Stack Guard helps here in a few concrete ways. Free sends lockout alerts. Pro adds the full alert catalogue, hourly batches, daily and weekly digests that compare with the previous period, quiet hours and rate limits. See alerts and digests for the list.
How Stack Guard Helps You Manage Multiple WordPress Sites
Keep Settings Consistent Across Sites
This is where a security plugin can save you a real afternoon. If you have tuned one site properly, you should not have to click through the same fifty options on the next one.
Stack Guard can export all its settings to a small file and import that file on another site. That includes firewall rules, the content security policy and alert templates. It is available in every plan, including Free, and the steps are in the settings export and import docs.
A few details worth knowing, because they will save you from surprises:
- Secrets and site-specific values are never exported: licence, API keys, the login address, the IP allow list and proxy settings stay on the site they belong to.
- An import never switches on a paid feature that the site's plan does not include.
- The result line after an import warns you if the login address setting or alert recipients changed.
- Check the sign-in settings after you import, so you know exactly what that site's login address is.
So the workflow is: tune one site, export, then import on each new site and review the few site-specific items. Treat that exported file like part of your starter site.
What Agency Plans Add
Per-site tools get expensive and fiddly at volume. An Agency plan is one licence that covers many sites instead of a Pro licence for each:
| Plan | Sites | Price per year |
|---|---|---|
| Agency 25 | 25 | $245 |
| Agency 50 | 50 | $395 |
| Agency 100 | 100 | $595 |
| Agency Unlimited | Unlimited | $795 |
Agency also adds white label emails: your plugin name, company name, website and logo on every email Stack Guard sends, so a client sees your service. The branded sign-in page and client-ready security reports are coming soon, not here yet. There is a 14-day money-back guarantee on a first purchase. The agencies page lays out the whole offer, and our security guide for agencies is a longer checklist you can adapt.
Protect Your Time: Say No and Write It Down
When to Say No
To manage multiple WordPress sites well, you also have to decide which ones you will not manage. A few signs a site is not worth the trouble:
- The client will not give you control of the domain or hosting.
- The site runs on a plugin that is abandoned and has no replacement plan.
- The client wants administrator access for five people and refuses two-factor.
- The budget does not cover updates, backups and monitoring, but they expect all three.
You can say no politely. "We can take this on once these three items are sorted" is a perfectly good answer. Sites you cannot properly look after are the ones that cost you the most when they break.
Document So Someone Else Can Take Over
If you are hit by a bus, or just by a bad flu, can a colleague keep your sites running? Write short runbooks for the things that repeat: how to restore a backup, how to move a site, who to call at the host, where the licences live. A single page per task is plenty. When you hand a site over, our WordPress website handover checklist covers what a clean handover looks like.
Documentation also protects your sanity. Half of the stress in a large portfolio comes from holding it all in your head.
Pro tip: Put a "last reviewed" date and a named owner on every site in your inventory. A site with no owner is the one that quietly falls behind.
Putting It Together
If this all feels like a lot, start with the three changes that pay back fastest:
- Build the inventory and fill in a "last reviewed" date for every site.
- Set up uptime monitoring with alerts to a shared mailbox.
- Pick a standard security setup, export it from your best-tuned site and import it everywhere else.
Do those three and the rest becomes easier to schedule. You will know what you manage, hear about problems first and stop reinventing the same settings on every site.