Skip to content

Join the Seedly owners community →

From the blog

Multi-Tenant CMS for Agencies (What It Is and When You Need One)

A multi-tenant CMS runs many client sites from one install with each client's data walled off. Here is what that actually means, what it fixes for an agency, and when you do not need one.

Andrew Lee Jenkins8 min readBuilding
Multi-Tenant CMS for Agencies (What It Is and When You Need One)

A multi-tenant CMS is one install that serves many separate clients, where each client is a tenant with their own content, users and settings, walled off from every other tenant. One codebase, one thing to update, many sites. That is the whole idea, and the reason agencies care is arithmetic.

The arithmetic that sends you looking

With three client sites, separate installs are fine. With twenty, you have twenty admin logins, twenty update cycles, twenty places a plugin can break, and twenty chances that the one you forgot is the one that gets defaced. Nobody decides to run twenty separate installs. You just end up there, one client at a time, and then it is your whole week.

A multi-tenant setup collapses that. Update once and every client site gets it. Add a feature once and every client site has it. Check one dashboard to see which sites are healthy instead of opening twenty tabs.

Separate installs feel safer because the blast radius of a mistake is one client. Multi tenant is faster because the blast radius of a fix is all of them. Which one you want depends entirely on how much you trust the isolation.

Multi-tenant is not the same as multi-site

These get used interchangeably and they are not the same. Multi-site usually means one organization running several of its own properties, where everyone involved works for the same company and a bit of leakage between sites is untidy rather than fatal. Multi-tenant means the sites belong to different customers who must never see each other, where leakage is not untidy, it is the end of your agency.

A platform built for the first case and marketed for the second is the trap. Ask which one it was actually designed for.

The one question that decides it

How does it keep tenants apart, and is that isolation tested. That is the question. Not the editor, not the templates, not the pricing. A tenant id column and good intentions is not isolation, it is a convention that holds until one query forgets to filter.

  • Is tenant scoping enforced in one place, or re-implemented in every query where somebody could forget
  • Are there tests that actively try to read another tenant's data and assert that it fails
  • Do roles and permissions understand tenants, so a client editor cannot wander into another client
  • Does media and file storage respect the same boundary, because that is where isolation usually leaks first
  • What happens on export or backup, since that is the other place one tenant quietly ends up holding another tenant's content

Separate install per client

  • Every update is multiplied by your client count
  • Security patching is a recurring tax forever
  • A new feature has to be rebuilt site by site
  • No single view of what is healthy

One multi-tenant platform

  • Update once, every client site inherits it
  • One place to patch and one place to audit
  • Build a feature once and every client has it
  • One dashboard across the whole book
You are not buying alone

Join the Seedly owners community.

Owners trade setups, share add-ons, and swap playbooks. See what people are building before you commit.

When you do not need one

If you build a handful of sites a year and hand them off, this is overhead you will not get back. If every client wants something structurally different, you are not running a fleet, you are running bespoke projects and a shared platform will fight you. And if you cannot answer the isolation question about a given platform, you do not need that one, because the thing you are buying is exactly the thing you cannot verify.

What I ended up with

I built the multi-tenant version I wanted rather than renting one, because the per-site fees on hosted platforms scale with your client count and the whole point was to stop that. The tenant boundary is the part I care most about, which is also the bar I would hold any other platform to. If you are weighing a starter kit instead, the same question applies and I went through it in what to look for in a Next.js multi-tenant SaaS starter kit. The day to day version of running a fleet is in managing 50 client websites from one dashboard.

Judge it on the wall between clients, not the editor.

You are not buying alone.

Seedly owners trade setups and share add-ons. Join the community, or take the platform for a spin first.

Andrew Lee Jenkins

Written by

Andrew Lee Jenkins

Andrew Lee Jenkins is the founder of Andrew Lee Jenkins Marketing, a marketing agency in Richmond, Virginia that works with home service companies. He teaches business owners to do their own marketing through The Blueprint and the Growth Unfiltered podcast. He is also the author of You Are the Bottleneck, a guide to building the systems a home service business is missing, and he builds Seedly, the software his own agency runs on.

More about Andrew →
Buy Now - $1,199Try it Live