On our managed WordPress hosting, it is possible to run multiple domains from a single WordPress installation using WordPress Multisite. This is the only supported method for hosting more than one site or domain on a single WordPress install - each domain must point to the same WordPress installation rather than having separate installs.
WordPress Multisite is a built-in feature that turns a single WordPress installation into a network of sites. Each site in the network shares the same WordPress core files, themes, and plugins, but has its own content, settings, and users.
On our platform, Multisite is used with domain mapping, which allows each site in the network to have its own fully independent domain (for example, site-one.com and site-two.com) rather than appearing as a subdomain or subdirectory of a primary domain.
Before setting up Multisite, be aware of the following:
Before enabling Multisite:
Connect to the server via SSH and navigate to the WordPress root directory, then open wp-config.php:
vim wp-config.php
Add the following line above the /* That's all, stop editing! */ comment:
define( 'WP_ALLOW_MULTISITE', true );
Save and exit (:wq! in vim).
Log in to the WordPress admin panel (/wp-admin).
Go to Tools > Network Setup.
You will be prompted to choose a network structure:
| Option | Use case |
|---|---|
| Sub-domains | Each site uses site.primarydomain.com |
| Sub-directories | Each site uses primarydomain.com/site |
Note: If you intend to use domain mapping (separate independent domains per site), choose Sub-domains. The mapped domain replaces the subdomain address for visitors.
Enter a Network Title and confirm the Network Admin Email, then click Install.
WordPress will display two blocks of code that must be added to your installation.
In wp-config.php, add the provided lines above the /* That's all, stop editing! */ comment. They will look similar to:
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'primarydomain.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
In .htaccess, replace the existing WordPress rewrite block with the provided multisite version.
Once both files are saved, log out and log back in. You will now see a My Sites / Network Admin menu in the top bar.
Before a new domain can be mapped to a site in the network, it must first be added to the hosting package in StackCP.
public_html, the same document root as the primary WordPress installation.WordPress 4.5 and later includes built-in domain mapping.
https://site-two.com).Visitors to site-two.com will now be served that site's content from the network.
Each site in the network can have its own appearance. The following are managed per-site, independently of other sites in the network:
Themes are installed once at the network level by the Super Admin and then made available for individual sites to activate. Each site can activate a different theme, meaning site-one.com and site-two.com can look entirely different to visitors.
Page builder plugins such as Elementor are similarly network-activated but configured independently per site.
The only constraint is that site admins cannot install their own themes or plugins - they can only choose from those the Super Admin has made available to the network.
Network-wide plugins are enabled by the Super Admin:
Individual site admins can then manage plugins from their own site dashboard, but only from those already network-activated.
DOMAIN_CURRENT_SITE constant in wp-config.php matches the primary domain exactly, including whether www is present.No worries, Our experts are here to help.