Hosting rarely fails an agency gradually. It works fine for two years, then you win a client with real traffic, or a site you built gets mentioned somewhere large, and suddenly the arrangement that carried twelve brochure sites is the reason a client is phoning you on a Saturday.
Scaling hosting is mostly about deciding what to do before that happens. This is what changes at each stage, what to watch, and the specific decisions that stop a portfolio becoming fragile.
Disclosure: some links in this article are affiliate links. If you buy through them we may earn a commission at no extra cost to you. It does not change what we recommend.
The four stages, and what breaks at each
| Stage | Typical setup | What breaks first |
|---|---|---|
| 1 to 5 sites | One small server | Nothing. Do not over engineer this |
| 5 to 20 sites | One mid server | CPU during traffic peaks, and your own admin time |
| 20 to 50 sites | Two or three servers, split by risk | One noisy site degrading its neighbours |
| 50 or more | Segmented, monitored, documented | Process, not infrastructure |
The pattern worth noticing: infrastructure stops being the bottleneck surprisingly early. Past about twenty sites, what limits an agency is knowing which client is on which server, who updated what, and whether last night’s backup actually worked.
Scale by density, not by upgrading
The instinct when a server feels slow is to move up a tier. Usually that is the wrong first move, and it is expensive because it applies to every site on the server rather than the one causing trouble.
Work through this order instead:
- Find out which site is actually consuming the resources. It is almost always one, and often one plugin inside it. Upgrading the server pays for that plugin’s inefficiency forever.
- Check caching is genuinely working. A site serving uncached PHP on every request will consume many times the resources it should. This is the single most common cause of a server that feels undersized.
- Move the offender rather than the portfolio. One demanding site on its own server costs less than upgrading a server carrying twenty.
- Then upgrade, if the whole portfolio has genuinely outgrown the box.
Density is the lever that decides your cost per client site, and it moves that number by a factor of five. A dozen ordinary business sites sit comfortably on an 8GB four vCPU server. Around twenty you should be watching CPU under load. The full arithmetic is in the Cloudways pricing breakdown.
Segment by risk, not alphabetically
Once you have more than one server, how you distribute sites matters more than how many servers you have. Split by what a site would cost you if it went down.
- Transactional sites. Anything taking payments or bookings. Checkout pages cannot be cached the way brochure pages can, so these consume real resources and their downtime has an immediate price. Give them headroom or their own server.
- Campaign sites. Clients running paid traffic can send a spike with no warning. Ask which clients advertise, because they rarely think to tell you before a launch.
- Brochure sites. Low traffic, heavily cacheable, safe to pack densely. This is most of a typical portfolio.
- Legacy sites. Old builds you inherited, on old code. Isolate them, because they fail in ways you have not budgeted time to investigate.
The mistake that causes most incidents is one busy store sharing with twenty brochure sites. When the store has a good day, everyone has a bad one.
What to monitor, and what to ignore
Four signals matter for a growing portfolio, and most dashboards bury them under things that do not.
- CPU at peak, not average. Averages hide the hour that matters. A server averaging 30 percent while hitting 100 percent every weekday morning is not a healthy server.
- Time to first byte on the slowest site. Your worst performing site is what a prospective client will judge you by, since it is the one whose owner complains publicly.
- Backup restore success. Not that backups ran. That a restore works. Test one quarterly on a real site, because the first time you discover a broken backup should never be during an incident.
- Disk headroom. Unglamorous, and the most common cause of a site suddenly failing for no apparent reason.
Uptime percentages are worth less than they look. Every provider in this category advertises numbers that are fine on paper. What matters is what happens during the outage, which is a support question rather than a statistics one, and one of the reasons provider choice matters as much as plan choice in managed hosting for agencies.
The operational layer nobody plans for
Past twenty sites, the constraint shifts from servers to knowing things. Four documents are worth more than any infrastructure upgrade at this stage.
- A site register. Every client site, which server it is on, what plugins it depends on, who the contact is, when the domain renews. A spreadsheet is enough. Not having one is what turns a fifteen minute job into an afternoon.
- An update policy. When updates run, who checks afterwards, what happens when one breaks a site. Whatever you choose, being consistent matters more than being clever.
- An incident routine. Who is contacted, in what order, and what the client is told while you work. Clients tolerate outages considerably better than they tolerate silence.
- A capacity review. Quarterly, twenty minutes: which servers are near their limits and which clients grew. This is how you avoid discovering a capacity problem from a client.
None of this is exciting and all of it is what separates an agency that scales from one that firefights. The billing side belongs here too, since hosting you absorb becomes a cost that grows with every client you win, which is why it belongs in a priced care plan from the start.
When to change platform entirely
Three signals suggest the problem is the platform rather than the plan.
- You are paying per site and have more than about ten. Per site pricing stays flat while per server pricing falls with density. At twenty sites that gap is several hundred dollars a month.
- You cannot isolate one client from another. If your platform cannot give a client access to their own site alone, it is not built for portfolio work.
- Support escalation does not exist. When your route to resolving an outage is a public forum, you are the entire support layer for every client you have.
Moving a portfolio is a real project, at roughly two to three hours a site once verification, DNS scheduling and client communication are counted, so it is worth planning rather than reacting to. The sequencing that keeps it uneventful is in the portfolio migration playbook, and if you are still deciding whether it is worth it at all, the cost benefit of switching hosts works through the maths. For most agencies the destination is a per server platform such as Cloudways, where you control density and therefore cost.
Frequently asked questions
When should an agency upgrade its hosting?
When CPU is hitting its limit at peak rather than on average, or when a specific client site has outgrown what it shares. Check caching and identify the heaviest site before upgrading, because in most cases one site or one plugin is responsible and moving it costs far less than upgrading a server carrying twenty others.
How many WordPress sites can one server handle?
Roughly a dozen ordinary brochure and small business sites on an 8GB four vCPU server, with twenty being the point to start watching CPU under load. Transactional sites count for much more than one, because checkout pages cannot be cached, so a busy store deserves headroom or a server of its own.
Should each client have their own server?
No, and doing so throws away the entire cost advantage of server based hosting. Separate servers are for sites whose downtime is genuinely expensive, mainly stores and clients running paid campaigns. Ordinary business sites are safe to pack densely, which is what brings cost per client site into single figures.
What is the biggest hosting mistake growing agencies make?
Putting a busy store on the same server as twenty brochure sites. The second is absorbing hosting cost instead of billing it, which creates an expense that grows with every client won. The third is having no site register, so nobody can say which client sits on which server without going and looking.
How do I plan for traffic spikes on client sites?
Ask which clients run paid advertising or seasonal campaigns, because they will not think to tell you before a launch. Put those on servers with headroom, make sure page caching is properly configured so most of a spike never reaches PHP, and know in advance which server you would scale and how quickly. A spike absorbed by cache is a non event.
Is autoscaling worth it for an agency?
For a small number of specific sites, yes. For a whole portfolio, rarely. Autoscaling costs a premium on every hour, and most agency portfolios have predictable traffic where that premium buys nothing. Use it for the one client whose traffic is genuinely unpredictable and whose downtime is expensive, and leave the rest on fixed capacity.
Need a WordPress developer?
Let's build something fast, scalable, and SEO-ready — from a custom theme to a full headless stack.
Get in Touch