Product

Manage multiple websites CMS: How to manage content across multiple websites from a single CMS

2 min read
Manage multiple websites CMS: How to manage content across multiple websites from a single CMS

Introduction

Trying to manage multiple websites CMS setups quickly becomes unmanageable when you’re handling several clients or projects. Different dashboards, duplicated users, scattered content, and inconsistent workflows. If you’re a freelancer or part of an agency, this doesn’t scale: you waste time, increase errors, and complicate maintenance.

The solution is to centralise content management into a single system. A headless CMS with an API allows you to manage multiple websites from one dashboard, reuse content structures, and automate workflows. Instead of relying on isolated instances, you work with a unified backend that delivers content to any frontend.

This approach simplifies operations, improves consistency, speeds up deployments, and reduces technical overhead. In this article you will learn how to manage multiple websites from a single CMS step by step.


Prerequisites

  • Basic understanding of REST APIs

  • Access to a headless CMS (e.g. Agora CMS)

  • A frontend project (Astro, Vue, Next.js, etc.)

  • Multiple websites or projects to manage


Step 1. Define a multi-site architecture

Start by structuring how your websites will live inside the CMS.

Separate:

  • Content

  • Projects (websites)

  • Users

Example:

{
  "websites": ["site-a", "site-b"],
  "content_types": ["posts", "pages", "products"],
  "workspace": "agency-01"
}

You reuse content models while keeping data separated.


Step 2. Create reusable content models

Avoid building structures per website. Use shared schemas.

Example:

{
  "title": "string",
  "slug": "string",
  "content": "richtext",
  "website": "string"
}

The website field acts as a filter.

Benefits:

  • One model, multiple outputs

  • Lower maintenance

  • Better scalability


Step 3. Segment content by website

Each entry belongs to a specific site.

Example:

POST /api/posts
{
  "title": "Post for site A",
  "website": "site-a"
}

Query:

GET /api/posts?website=site-a

You keep everything centralised without mixing content.


Step 4. Fetch content from each frontend

Each website pulls only its own data.

Example:

const res = await fetch('https://api.yourcms.com/posts?website=site-a');
const posts = await res.json();

In Astro/Vue:

onMounted(async () => {
  posts.value = await fetchPosts('site-a');
});

Shared backend, independent frontends.


Step 5. Manage users and permissions

Control access per website.

Define:

  • Users per workspace

  • Roles (admin, editor)

  • Website-level permissions

Example:

{
  "user": "editor@agency.com",
  "permissions": ["site-a"]
}

This prevents mistakes and improves security.


Step 6. Automate workflows

Once centralised, automation becomes straightforward:

  • Scheduled publishing

  • Content syncing

  • Unified backups

  • Single update point

Example:

CRON → publish content across multiple sites

This is where efficiency scales.


Final result

You end up with:

  • One CMS managing all websites

  • Reusable content structures

  • Clean content separation per site

  • Reduced maintenance

  • Scalable architecture

You move from fragmented systems to a unified content layer.


Conclusion

Centralising content management is an operational upgrade. You stop managing systems and start managing structured content. This reduces friction, improves consistency, and enables real scalability.

If you handle multiple websites, this approach is essential. A headless CMS like Agora CMS lets you implement it without unnecessary complexity.

Try Agora CMS for free and manage all your websites from one place.

Sin tarjeta de crédito · Plan gratuito permanente

¿Listo para gestionar
tu contenido
sin límites?

Un workspace, tu API lista al instante y todo el contenido bajo control. Empieza gratis y escala cuando lo necesites.