Multi-Site CMS for Agencies: One Install, 10 Client Sites (2026 Playbook)

WordPress Multisite vs 10 separate installs vs modern self-hosted — real 5-year ops math

June 9, 2026 · 9 min read
Multi-Site CMS for Agencies: One Install, 10 Client Sites (2026 Playbook)

An agency running 10 client websites in 2026 has three uncomfortable choices. WordPress Multisite (familiar but plugin-fragile), 10 separate WordPress installs (10× the patching), or migrating to a modern CMS where one codebase handles all 10 sites. The third option used to be theoretical. In 2026 it's the one with the cleanest math — for the right kind of agency.

This post is the agency-side picker for managing 5-50 client sites without spending half your week on plugin patches. What WordPress Multisite actually does (and doesn't), how headless CMS handles multi-tenancy, and the self-hosted Laravel CMS option that didn't exist three years ago.

Disclosure: I work on UnfoldCMS, one of the self-hosted options agencies consider. I'll mark our own listing and try to keep the picker honest — WordPress + good hosting still wins for several agency shapes.

TL;DR — the 2026 agency CMS picker

Running 10 client sites in 2026 boils down to three patterns: WordPress Multisite (one WP install hosting 10 subsites), separate installs (10 WordPress installs on a managed host like Kinsta or WPEngine), or modern self-hosted CMS (one Laravel install handling 10 client themes/sites). Pick Multisite for cost simplicity at small scale; pick separate installs when client isolation matters more than ops cost; pick modern self-hosted when 11,334 plugin CVEs/year (Patchstack 2026) outweigh the migration cost.

Pattern Year-1 ops cost Pain point
WordPress Multisite (1 install) $80-200/month hosting Plugin compatibility, cascade failures
10 separate WP installs (Kinsta/WPEngine) $300-1,200/month 10× plugin patching, 10× backup mgmt
Modern self-hosted CMS (1 install) $20-50/month + 2-3 day migration per site Switching cost, editor retraining

What WordPress Multisite actually delivers

WordPress Multisite lets you run multiple "subsites" from a single WordPress install. One database, one set of plugins, one update cycle. Sounds perfect for agencies.

The reality is messier:

  • Plugin compatibility is the #1 blocker. Roughly 40% of popular WordPress plugins don't fully support Multisite mode or behave unpredictably across subsites. Some explicitly say "Multisite is not supported."
  • Plugin activation is per-network OR per-site, not both flexibly. Every plugin decision affects every subsite.
  • Theme management is also constrained — themes must be network-installed before they can be activated per-site.
  • Database queries scale awkwardly — adding subsite #11 to a busy Multisite can degrade performance for all existing subsites (shared wp_options table).
  • Cascade failures. One bad plugin update can knock down all 10 subsites at once.
  • Client isolation is weak. A compromised account on one subsite can sometimes escalate to the network admin level.

Multisite works well for organisations with consistent design + content needs across subsites (university department sites, franchise locations, single-brand multi-region). For an agency where each client wants different plugins, different themes, and different editor permissions, the friction adds up.

Source: WordPress.org Multisite docs, agency-discussion threads in r/webdev and r/agency.

Separate WordPress installs — the safest, most expensive route

10 separate WordPress installs on managed hosting (Kinsta, WPEngine, Cloudways) gives you client isolation at the cost of ops scale.

Roughly:

Managed host Per-site monthly (10 sites)
Kinsta (Pro plan, 10 sites bundle) $115-$300
WP Engine (Growth, 10 sites) $200-$575
Cloudways (Vultr, 10 small instances) $130-$300

Total per month: $300-$1,200 just for hosting of 10 small client sites.

Then add: 10× plugin patching schedules, 10× backup management, 10× security monitoring, 10× SSL renewals (if not automated). At the Patchstack 2026 number of 11,334 plugin CVEs/year, you'll touch every site every week just for security patches.

The agency math: at $100/hour fully-loaded developer cost, 30 minutes/week × 10 sites × 52 weeks = $26,000/year just in patching labour. That's the hidden number agencies don't usually count.

Headless CMS multi-tenancy — works for some shapes

Strapi, Payload, Sanity all support multi-tenant patterns:

  • Strapi: one install can serve multiple front-ends via the same API. No native "subsite per client" UI; you handle separation at the schema/role level.
  • Payload: TypeScript-native multi-tenant patterns. Run one Payload instance, query the same content with tenantId filters. Works well for tech-led agencies.
  • Sanity: one studio can manage multiple "datasets" — each dataset is a logical project. Cleanest of the three for true multi-tenancy.

Trade-offs: headless CMS means the editor sees the vendor's admin UI (Sanity Studio, Payload admin, Strapi React-Admin) — not a per-client themed admin. For developer-led agency work, that's fine. For client-facing handover where the client edits content themselves, it can be jarring.

See shadcn CMS vs Payload: Honest Admin UX Comparison and shadcn CMS vs Strapi for the deeper admin-UX comparisons.

Modern self-hosted CMS — one install, 10 themed sites

Self-hosted Laravel-based CMSs (UnfoldCMS, Statamic, OctoberCMS) ship multi-site or multi-theme support out of the box. One install, one database (or one DB per client), one PHP process. Theme per client.

UnfoldCMS specifically:

  • One install, multiple themes — each client site gets its own Blade theme.
  • 51 shadcn components and 205 admin pages, shared across all client editors.
  • Source-available license, one-time pricing — no per-site subscription.
  • Runs on a $5/month VPS for small-medium traffic.

Statamic similarly supports multi-site via its sites config — one install, multiple front-ends, content shared or per-site.

OctoberCMS has multi-site plugins (paid).

For a Laravel-shop agency, this is the cleanest answer. For a Node-shop agency, the equivalent is Payload + multi-tenant patterns.

For the broader Laravel CMS picture, see Best Laravel CMS Options in 2026.

Real-world year-5 cost comparison (10 client sites)

For a 10-site agency portfolio over 5 years:

Pattern Year-1 cost Year-5 cost (incl. patching labour)
WP Multisite (1 install on Kinsta Multisite) ~$2,400 hosting + ~$10K labour ~$12K hosting + ~$50K labour ≈ $62K
10 separate WP installs (Cloudways) ~$1,800 hosting + ~$26K labour ~$9K + ~$130K ≈ $139K
UnfoldCMS (1 install, 10 themes, $5 VPS) ~$60 hosting + ~$5K labour ~$300 + ~$25K ≈ $25K
Payload + 10 tenants (Railway hosting) ~$300 hosting + ~$8K labour ~$1,500 + ~$40K ≈ $42K

The big number is labour, not hosting. The pattern that wins is whichever reduces labour most. For most agencies, that's "one CMS install per portfolio" — but only if the CMS itself doesn't add complexity that re-eats the labour saving.

See Self-Hosted vs SaaS CMS: True 5-Year TCO Breakdown for the more general TCO framework — same logic applies.

Migration math — when switching pays back

Migration cost for an agency:

  • 2-3 days per client site to redesign on the new CMS + import content.
  • For 10 sites, that's 20-30 working days total. Roughly $20K-$30K of dev time at typical agency rates.

Break-even:

  • If you're saving $20K/year in patching labour by switching, the migration pays back in 1-1.5 years.
  • If you're saving $40K/year (high-volume agency), pays back in 6-9 months.

The migration doesn't have to happen all at once. Agencies typically migrate one client at a time, starting with the highest-pain sites (most plugins, most security incidents, most client tickets).

When WordPress is still the right answer

Be honest. WordPress (Multisite or separate installs) still wins when:

  • Your clients require WordPress specifically. Some industries (real estate, legal) have client expectations baked around WP.
  • Your team is WP-native and retraining on a modern CMS would cost more than the patching.
  • Most of your client sites are tiny low-update brochure sites where the patching surface is small.
  • You're using WordPress.com (hosted) and Automattic handles the security operations.
  • You bought into the WordPress plugin ecosystem deeply — your specific stack of plugins doesn't have direct equivalents elsewhere.

For deeper "when to stay" framing, see When to Stay on WordPress: Honest Advice (2026).

When to migrate

Plain signals:

  • You spend 2+ hours/week patching plugin vulns across client sites.
  • A client site was hacked in the last 12 months (despite security plugins).
  • Premium plugin licenses + managed hosting exceed $300/month for your portfolio.
  • More than 25 plugins on any one client site.
  • Plugins you depend on stopped getting updates more than 6 months ago.

Three signals = migration math has crossed. Five = you're paying more to stay than to leave.

The deeper version of the WordPress side of this argument is in WordPress Security in 2026: The Plugin CVE Reality.

People Also Ask

Can WordPress Multisite handle 10 client sites?

Technically yes; in practice depends heavily on how different the 10 sites are. Multisite is best for homogeneous subsites (same design, similar plugins). For 10 wildly-different client sites, the plugin-compatibility friction adds up fast.

Is it cheaper to run 10 WordPress sites or migrate to a modern CMS?

Year-1: WordPress is cheaper. Year-3 onward: modern CMS usually wins because labour costs scale with site count on WordPress and stay flat on modern CMSs. Break-even is usually 12-18 months for high-volume agencies.

What's the best multi-tenant CMS for agencies?

For Laravel-shop agencies: UnfoldCMS or Statamic (one install, multiple themed sites). For Node-shop agencies: Payload with multi-tenant patterns, or Sanity with multiple datasets. For agencies with non-technical clients who edit content: avoid pure headless — they'll struggle with the vendor admin UI.

How long does it take to migrate 10 client sites?

20-30 working days total at 2-3 days per site. Most agencies migrate one client at a time over 3-6 months, prioritising the highest-pain sites first.

Can I run multiple sites on one Laravel CMS install?

Yes. UnfoldCMS supports themes per client — one install, multiple Blade themes, one editor admin shared across all. Statamic ships native sites config. OctoberCMS has paid multi-site plugins. Pure single-tenant Laravel apps can be deployed separately per client, but that defeats the consolidation goal.

Bottom line

If you're an agency at 10+ client sites in 2026, the WordPress Multisite-vs-separate-installs argument is the wrong question. The real question is: does your portfolio cost less to maintain on WordPress + plugin patching than on a single modern CMS install? Year 1: usually WordPress. Year 3 onward: usually modern CMS, by a wide margin.

For agencies considering the migration, try the UnfoldCMS demo or see pricing. The Agency tier exists specifically for this multi-client shape.


Sources and methodology

  • WordPress Multisite limitationsWordPress.org Multisite docs, agency discussions in r/webdev and r/agency.
  • Managed-host pricing — Kinsta, WPEngine, Cloudways pricing pages as of June 2026.
  • Headless multi-tenant patternsStrapi docs, Payload docs, Sanity docs.
  • WordPress security statsPatchstack State of WordPress Security 2026 (11,334 vulns, 91% from plugins).
  • UnfoldCMS countsfind cms/resources/js/components/ui -name "*.tsx" \| wc -l = 51; find cms/resources/js/pages/admin -name "*.tsx" \| wc -l = 205.
  • Year-5 cost calculations use $100/hour fully-loaded developer cost and 30 min/week × site × 52 weeks for WordPress patching labour. Real numbers vary by agency overhead.
  • All vendor pricing verified June 2026.

Free & Open Source

Own your CMS. No subscriptions.

Unfold CMS is free to download and self-host. Built on Laravel + React, full source code included.

Share this post:

Discussion

Comments (0)

Leave a Comment

Please log in to leave a comment.

Don't have an account? Register here

No comments yet. Be the first to share your thoughts!

Keep Reading

Related Posts

Back to all posts