Sites turns a single Drupal installation into a multi-site platform. Each "site" is a plugin-defined context that scopes content, configuration, URL generation, permissions, and language — all within one codebase and database. No separate Drupal instances, no shared-files multisite complexity.
Features
- Plugin-based site definitions — implement a lightweight PHP class to define a site's identity and rules
- Per-site configuration overrides — different settings, language, and appearance per site context
- Site-scoped content access control — readers and editors only see the content that belongs to their site
- Site-aware URL generation — links are automatically scoped to the active site's domain or path prefix
- Cache context integration — built-in
sitecache context keeps pages correct and fast across site boundaries - Submodules for common patterns: path prefixes, path aliases, Pathauto, language negotiation, ECA integration, and a frontend preview switcher
Requirements
- Drupal 11 or 12
- Environment Context
Getting started
Install with Composer:
composer require drupal/sites drush en sites
Then implement a SitePlugin — an annotated PHP class extending SitePluginBase — to define which content and settings belong to each site. Enable the sites_example submodule for annotated example implementations.
Information about old versions of this module
Supporting organizations:
Project information
- Project categories: Administration tools, Content display, Site structure
7 sites report using this module
- Created by brynbellomy on , updated
Stable releases for this project are covered by the security advisory policy.
There are currently no supported stable releases.
Releases
1.0.0-alpha1
released 14 June 2026
Works with Drupal: ^10.3 || ^11
Install:
Development version: 1.x-dev updated 31 Jul 2026 at 07:32 UTC





