Content Management Systems (CMS) have come a long way since their humble blogging beginnings. From government agencies to Fortune 500 companies to multinational NGOs, a variety of organizations use CMS platforms to handle a wide range of features and requirements.
A relatively unknown but powerful feature is the ability of a single CMS instance to power multiple websites. Not all CMS platforms provide this functionality, and the method varies depending on the platform. As experts in CMS development, we want to shed light on how WordPress and Drupal, two of the most popular open-source CMS platforms, handle this feature and describe when and how to choose the best fit.
Before describing and comparing implementation details, it’s helpful to define what “multisite” means, and what it doesn't cover.
What is “multisite”?
At its most basic, “multisite” architecture means running multiple websites from one codebase. This allows for standardizing functionality, configuration, and/or appearance while retaining autonomy as individual websites.
Some implementations of “multisite” go further than sharing codebases. They can also include functionality for central website administrators to manage content and configuration of all related websites while limiting individual website admins' access to just their website.
What is not covered by “multisite”?
CMS platforms provide many ways to publish content or ingest content from external systems. Many of these features may seem similar to multisite architecture, but these are incremental features added to a single site rather than defining functionality. Some of these features include:
- Content sharing or syndication between different websites: Content syndication is sometimes powered by a third-party platform and typically allows website administrators to configure when and how content is shared with other websites.
- Decoupled or “headless” CMS websites: This CMS architecture allows you to manage content in a single CMS backend that is accessed and displayed by one or more front-ends, typically built on a different platform or framework, such as React.
- API Integration: Many websites today use content or data from other sources, pulling it in from third parties through published APIs. The data source may be another website, but it could be a database or third-party service.
Why consider multisite architecture?
There are many use cases for multisite: a university that provides each department with its own website; a corporation with multiple business units; a talent agency providing a portfolio site to its clients; a city that includes neighborhood websites ... the creative ways to use this feature are endless.
A multisite solution should be considered for the following common requirements:
- Minimize maintenance costs: only one codebase needs to be updated
- Share the same theme or set of themes to define a standard look and feel across multiple websites
- Share custom functionality or configuration across multiple websites
- Allow website administrators to manage users and permissions across multiple websites
- Allow content editors to create content and manage the sharing and publishing workflows from a central location
Choosing the correct method and platform requires understanding your pain points and which platform best suits your needs. When working with our clients to determine the right fit, some of the things we consider are:
- Do the sites need to share content?
- Does the website administrator need a central administrative backend?
- How autonomous does each website need to be?
- Are there security or performance concerns with sharing the same codebase and database?
- Does the site need to integrate with third-party APIs?
- Do you need to support more than one language?
WordPress and Drupal both offer multisite functionality, but their approaches are a bit different. In fact, Drupal has several options, depending on your requirements.
Drupal has two primary methods to power multiple websites from a central codebase: core multisite and Domain Access.
Drupal multisite is available out of the box and has been a Drupal feature for many years. This approach allows multiple websites to run from a single codebase and enables sharing of modules and themes. Each website would have its own database and configuration to operate independently while benefiting from the efficiency of maintaining a single codebase.
Drupal Domain Access Module
Drupal can also achieve multisite functionality through the Domain Access module suite. Domain Access allows admins to configure and manage multiple websites through the Drupal instance. It sets up different sites and allows for shared content across these sites.
WordPress comes with multisite functionality out of the box. Multisite is a mature function that has been around for many years. There are many similarities between WordPress’s version and Drupal’s, and a few key differences:
- WordPress multisite uses the same database for all instances. Each time an admin adds a new site to the platform, WordPress creates a new set of tables to the shared database.
- WordPress provides a central SuperAdmin dashboard in the Admin user interface that allows admins to create new sites, retire old ones, and manage plugin installations from the dashboard.
- All registered users are granted “guest” access to all sites at a minimum. This guest access doesn’t allow users to create content or modify anything if they aren’t a user of the subsite. However, it does make user management centralized and a bit more complex.
- Multisite instance admins have most features of WordPress administration available to them, but there are some limitations.
Which is right for you?
Having a thorough understanding of what you need now and your anticipated future needs will help determine whether multisite is a good fit and which CMS platform is the best fit. There isn’t a clear-cut “winner” in CMS multisite implementations, so the analysis step is essential to understanding if multisite is right for you. Spry has implemented multisite for a variety of clients. If you think multisite might make sense for your organization, reach out, and we can help guide you through the decision process.