Using Sanity Spaces for Multi-Site CMS Setup (5+ Websites)

9 replies
Last updated: Jan 27, 2026
Has anybody used the experimental spaces feature to setup Sanity as a multi site CMS? I’m thinking about the best way to setup Sanity to handle 5+ different websites
AI Update

I've definitely seen workspaces used successfully for multi-site setups! The good news is that workspaces are a stable feature in Sanity Studio v3+ (not experimental anymore), and they're a great fit for managing 5+ websites.

How Workspaces Work for Multi-Site

Workspaces let you configure multiple isolated Studio environments within a single Sanity project. Each workspace can have its own:

  • Dataset - Separate content for each site
  • Schema configuration - Different content models per site
  • Tools and plugins - Custom functionality per workspace
  • UI customization - Tailored interface for each site's needs

You configure them in your sanity.config.js using defineConfig:

import { defineConfig } from 'sanity'
import { deskTool } from 'sanity/desk'

export default defineConfig([
  {
    name: 'site-1',
    title: 'Site 1',
    projectId: 'your-project-id',
    dataset: 'site1-production',
    plugins: [deskTool()],
    schema: { types: [/* site 1 schemas */] }
  },
  {
    name: 'site-2',
    title: 'Site 2',
    projectId: 'your-project-id',
    dataset: 'site2-production',
    plugins: [deskTool()],
    schema: { types: [/* site 2 schemas */] }
  }
  // ... add more workspaces for each site
])

Your editors get a dropdown in the Studio to switch between sites - it's a single codebase serving multiple purposes.

Key Considerations

Schema management: Even though datasets are separate, all possible schemas need to be defined in your config. You might want to use conditional desk structures to show only relevant schemas per workspace.

Shared vs separate content: If your sites need to share some content (like a global asset library), you'll want to look into cross-dataset references (Enterprise feature) or use a shared dataset approach.

Pricing: Each dataset counts toward your plan limits, so with 5+ sites you'll have 5+ datasets. Check the pricing page for dataset limits on your plan tier - in 2025, this is an important consideration for multi-site setups.

Access control: You can set different permissions per workspace, which is perfect if different teams manage different sites.

Why Sanity Works Well for This

Sanity's architecture is particularly good for multi-site because:

  • The Content Lake supports multiple datasets natively
  • Workspaces share infrastructure (cost-efficient) while maintaining separation
  • You can reuse schema components across sites while customizing per-site
  • The API is consistent across all datasets, making frontend implementation cleaner

The multi-tenancy guide has some great patterns if you're managing sites for different clients or brands. It's worth a read for advanced permission and isolation strategies.

Show original thread
9 replies

Sanity – Build the way you think, not the way your CMS thinks

Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.

Was this answer helpful?