
Loading article…
Building
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 Jenkins · 2026-10-01 · 8 min read

Loading article…
KEEP READING

Building · 9 min read
Read article
Building · 9 min read
Read articleA 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.
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.
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.
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.
Explore Seedly's software and the guides to help you get started.
Explore the codebasesIf 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.
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.