A single multisite system that lets the agency build, configure, and update dozens of lightweight client websites without separate development for each project.
A web platform where the client's marketing team builds simple informational websites for different campaigns and brands. From a single admin panel, the team can create a new site, pick a visual theme, add pages, articles, and content blocks, and see the result immediately. Every site has its own domain or subdomain, its own page set, and its own visual theme, but runs on a shared platform core. To end visitors, each one is a fully independent website.
Luke is based in the UK and co-owns a marketing agency that regularly launches small informational websites for clients. Sometimes it's a first website for a local business, sometimes a landing page for a new ad campaign, sometimes a quick test for a product or hypothesis. Each of those sites used to become a separate mini-project with its own admin area, its own quirks, and its own manual updates. The agency was spending too much time maintaining all of them. Luke needed one system where the team could build and run dozens of these projects in parallel.
Multisite architecture
The platform had to support dozens of independent websites — each with its own domain, content, and settings — inside a single core.
Variable look and feel
Every site needed a distinct visual identity while still being assembled from the same component library.
Flexible content structure
Different clients required different page and block types — news, case studies, articles, promo pages — so the data model had to extend without rewriting the foundation.
Deploying new sites
Launching a new site couldn't depend on developers. A content manager had to assemble it in the admin panel, after which it would publish automatically.
Access control
The agency needed clear role separation: who sees all sites, who manages only their own, and who is responsible for global components and themes.
Transparent tracking
The team needed clear visibility into which sites were active, when each one was last updated, whether the latest deployment succeeded, and whether any technical errors had surfaced.
We built a headless multisite platform. Directus acts as the single data core and back office for every site, while the frontend is implemented as a templated Next.js project that pulls content and settings through an API. Every new client site is configured in Directus and automatically deployed as a separate instance with its own theme and domain.
Multisite model in Directus
We designed entities for sites, pages, blocks, page templates, themes, and settings bundles. Each site has its own pages and content but leans on a shared component set, so the data structure can be changed once and reused across every new project.
Theme and design-variant configuration
We defined separate collections for color schemes, typography, header and footer variants, and article-list behavior. The content team combines those settings per site to produce a different visual result without touching the code.
Page and content-block management
For pages, we implemented a block-based structure — hero sections, article lists, CTA blocks, galleries. Editors select the blocks they need, set the data and order, and the frontend renders the page from that configuration. For articles and news, we implemented dedicated content types with categories and SEO fields.
API layer for client-site frontends
Directus exposes structured APIs for the content and settings of every site. The Next.js frontend consumes those APIs to assemble client websites — pulling page structures, themes, and blocks and rendering complete sites for end users.
Deployment automation
We designed a service layer with deployment triggers so that whenever a site is created or its configuration changes meaningfully, the system queues a build-and-publish job for the new instance. This allows sites to go live without developer involvement while keeping a single CI/CD pipeline for the whole portfolio.
Roles and permissions
We implemented role separation in the back office. Account managers see only their own sites, global admins see the full portfolio, and designers work with themes and components without touching financial or system settings. Access to critical actions — deleting sites, changing global templates — is restricted to specific roles.
Site-status monitoring
We added service collections and views in Directus for tracking deployment status, last-update date, page count, and basic technical errors. This gives the team a single picture across all sites and makes it easy to spot problematic instances quickly.
We started by defining what the agency actually sells: standard landing pages, small content sites, and mini-portals for individual campaigns. Together with the sales and production teams, we analyzed the workflow from client request to a live site and captured how much time and effort each stage consumed. From that, we defined the platform's must-have capabilities — support for multiple site types, baseline visual options, and fast content updates.
+1 Resource
The platform turned lightweight informational sites from one-off projects into a managed product on a single technical foundation. The client's team now has one place to manage content and site presentation, and improvements to the core ship to the entire portfolio at once.
to launch a new site, down from 2–4 days
running on a shared platform core without maintaining separate stacks
to roll out a global block or component across the entire portfolio
manual routine for the production team
in place of guesswork — every site now exposes its operational data
for the agency, because it now maintains one product rather than a fleet of separate websites
Or send us a message and we'll get back to you within 15 minutes during business hours