How to set up a WordPress multisite [step-by-step tutorial]

WordPress has been frequently updating its features over the years and on the 5.0 update, it is unconfined the multisite feature. WordPress multisite feature is extremely useful for content marketers, developers, and bloggers who manage multiple WordPress sites at a time. 

If we look closely it’s not only the bloggers who work on multiple WordPress sites, there are developers and organizations that use this system to manage dozens of clients at a time. Moreover, you can see some organizations allow registered individuals to publish blog posts while the owner or super admin can only make changes inside the WordPress admin dashboard. It is feasible to do so because of the multisite feature.

The purpose of this post is to explain when to use multisite and how to get it all configured. Stay tuned as we will go through the step-by-step procedure until we launch multiple sites under one WordPress admin dashboard.

Why Multisite? 

Before diving into the tutorial, let’s understand when you should decide to go for multisite over a single WordPress installation and when you should not! This is important because at some point you may think WordPress multisite would be a better option for your online business however, that is not always the case.

You would prefer to analyze the advantages and limitations of multisite in order to make the right decision during WordPress installation depending on your website standards and its possible requirements.

Pros of WordPress multisite: 

  • All in one dashboard. The super admin gets the control in one place of the entire WordPress site under that network.
  • Installation of themes and plugins on multiple sites takes only one go.
  • Updating becomes easier since it takes just one click to update the components of all WordPress installations under that multisite network.
  • Multisite allows creating unique dashboards for each site and site admin. 
  • Website backup is easy because you can store all site data in a single backup.
  • The use of server resources for multisite is less than individual WordPress installation and easy to optimize as well.

Cons of WordPress multisite: 

  • Not all plugins are supported by multisite. Since most of the plugins are designed to work on a single WordPress installation, installing them on multisite may raise the possibility of plugin conflict. 
  • Individual site admins can’t install plugins/themes which limits the power of administrators.
  • Traffic spikes can slow the website’s performance and may create trouble for the entire network.
  • Hacker or server downtime will affect all the sites under that network.
  • A data breach will involve all the individual WordPress sites.
  • Since all sites share the same user data identical user accounts can not be created for two different sites. 

How to Setup WordPress Multisite

Step 1: Preliminary requirements before setting up WordPress multisite 

Your first and foremost step would be getting a quality web host. It is possible to set up a smaller multisite network on shared hosting. However, we would recommend managed web hosting or a VPS for better server response and site performance.

The next thing you need to know is how to install a regular WordPress site and working experience with FTP clients would be better.

For WordPress multisite, another important step is to pick your domain or URL structure. You have the option to choose between subdomain and sub-directory.

Moreover, if you already have WordPress installed the pretty permalink should be activated. This means that the permalink structure of your WordPress should look like this: http://yoursite.com/sample-post rather than http://yoursite.com/?p=123.

Next, make sure all plugins are deactivated before initiating the multisite feature. This step is crucial because an activated plugin can create conflict with multisite since we know multisite does not support all WordPress plugins. So in order to make sure you do not face any issues during multisite configuration deactivating installed plugins is a safe choice.

Step 2. Activate WordPress Multisite Feature 

As we progress, the next task is activating the WordPress multisite feature. The multisite feature can be activated on a pre-installed WordPress or during a fresh WordPress installation.

Activating multisite on a pre-installed WordPress is a manual process, however, activating it on a fresh WordPress installation takes a single check on the ”enable multisite” option.  

Now let’s understand the manual way. The condition for this is to have a WordPress site already installed. And you would like to create a backup of your complete site. After creating the backup you need to access the wp-config file from your cPanel or by using any FTP client and open that file for editing.

In the wp-config file locate this line “/* That’s all, stop editing! Happy publishing. */

Now right before this line, you need to add the following: 

/* Multisite */
define( ‘WP_ALLOW_MULTISITE’, true );

Check out this example below:

Now save the file on your server and the multisite feature will start working on your WordPress.

On the other hand, if you are about to install a fresh copy of WordPress then you should check the “enable multisite” option. Once you check that option and your WordPress will be configured for the multisite feature. This option basically pre-configures the wp-config file so that you don’t have to do it manually. 

Step 3: Configure your WordPress network

Now since your multisite feature is enabled you need to set up an environment for the WordPress network. In order to do that log in to your WordPress dashboard and find network setup under tools in your left sidebar.

Once you get there, a message appears that says Apache’s mod_rewrite module must be installed in order for the multisite feature to work. If you have reliable hosting this module should have been enabled already.

Next, you will have to follow your decision whether you planned to use subdomains for your sites in the network (eg: site1.yoursite.com) or you wanted to use a subdirectory instead (eg: yoursite.com/site1).

Select your preferred domain structure and provide a network title which is your new WordPress site title followed by the network admin email address. Click on install to establish the first site in your WordPress network.

Step 4: Complete the network configuration 

In order to complete the network setup, you need to follow the guideline provided by WordPress. It will give you two snippets of codes that must be added to your wp-config file and .htaccess file respectively. These two files will be available in your root directory.

Note that it’s extremely important to back up both of these files before making changes. Otherwise, sometimes simple misplacement of the custom codes can break your site. 

After file backup adds the following code snippet to your wp-config file above the line “/* That’s all, stop editing! Happy publishing. */”. This code mentioned below should display on your WordPress network configuration dashboard as well. 

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'gamespec.tech');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Once you have updated the wp-config file next, open the .htaccess file and replace other WordPress rules present there with the following code snippet.

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %REQUEST_FILENAME -f [OR]
RewriteCond %REQUEST_FILENAME -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

After the modification, make sure to save the .htaccess file on the server.  

Step 5: Network Admin Menu And Network Settings

Once you have changed the wp-config and .htaccess file, log in to your WordPress dashboard. You should see the “network admin” and “my sites” options on your WordPress upper admin bar. Hover on my sites and the network admin menu will be displayed. 

Below the network admin, you will find the list of your sites in the network and their respective dashboard, posts, and comments. To enter the backend of these sites all you need to click on their names from the list.

The network admin menu consists of the following menu tabs,

Dashboard: The dashboard has a widget to create a new site or a new user to the network. You can also search for existing sites and users as well.

Sites: On this tab, you will find all your sites in the network. For each site, you will have options for edit, dashboard, and visit site. You can modify site settings, themes, and users under the edit option. Bulk action such as deleting sites, active, and deactivating can be done from this page. This list of your network seems similar to a page and post list on a regular WordPress admin panel.

Users: In the user tab you can assign administrators to your network. Each user added here will have the super admin rule which means they can control each site of the multisite network. You can edit admin details, add new ones, as well as remove admin from your network. If you want to assign users or admin to a particular site only then you need to add a user via the administration panel of the site.

Themes: This tab has the option of installing and uninstalling, activating, and deactivating themes for your whole WordPress multisite network.

Plugins: Just like themes in this tab, you will find the list of installed plugins for the network. You can easily add supported plugins to all the sites, delete a plugin, and activate, and deactivate them whenever necessary.

Settings: This is the admin area of the multisite network where you have the control to modify your network title, and administrator email address, allow users to register on the network, and allow a logged-in user to create a new site, etc. Moreover, you can design a custom welcome email for each newly signed user, create custom comments for the first page, or post edits performed by any user.

Custom file upload limitations can be adjusted along with the allowance of the file extension. You can set a default language for the network which would be the global language setting for all websites.

After these settings, your multisite network is pretty much ready for assigning new websites and configuring themes and plugins for them. Now let’s start by adding a new site to the network.

Step 6: Add a new website to the network 

Currently, at the initial stage, you have only one website running under the interface that doesn’t make any sense. A multisite is only necessary when you need to have at least two sites installed under the same network. 

There is no limitation on installing websites under a multisite network. You can always add another site to the list whenever needed. To add a new website follow the steps mentioned below.

  • Go to my sites > network admin > sites and click on add new.
  • For the site address (URL) enter the desired website address. According to the domain structure you have chosen the site address can be assigned. In this example, we have picked the subdirectory URL structure so we need to add the subdirectory after the primary domain. 
  • Along with the URL you need to add the site title that will appear in many places on your super admin dashboard such as under network admin and site list. The site title will appear in metadata such as page title or in the front end as well.
  • After the site title, you can set the site language against the global language setting of the network.
  • Next, choose an admin email address for the new site specifically. This email has to be unique from any other email address available in the network.
  • Click on the add site button to create your new site and have it on your site list. You can find the new site on My sites > Network admin > Sites.

Site contexts such as URL, homepage address, blog title, blog description, and many more can be modified in the setting tab of every site.

Step 7: Install Themes in Multisite

Once you have added sites to the network themes and plugins also need to be installed. We start by installing a theme for the sites. Remember that you need to install a theme only once and that theme will be applied to all the sites in that network.

  • First, go to My sites > Network admin > themes and click on the button add new.
  • Find and install a theme from the WordPress repository.
  • Next, click on network enable to globally activate the theme for all sites on the network.
  • You can manage all installed themes from My sites > Network Admin > Themes. Themes can be network-enabled or network disabled from the theme list.
  • A network-enabled theme means that the individual site owners can’t control these themes but these themes will be available for use on their websites.

Step 8: Install Plugins on WordPress multisite

Similar to themes in multisite, only super admins can install the plugins. Individual site administrators can only activate and deactivate the plugins for their websites. The site admin can activate and deactivate plugins only if the super admin enables the administration menu option.

To enable the administration menu go to Settings > Network settings and check the “enable administration menu” box for plugins. 

Now head towards My sites > Network admin > Plugins and click on add new button to add a plugin to the network. Find your plugin on the WordPress repository, install the plugin, and click on “network active”.

The plugins marked as “network active” will be applied globally to all the websites. The site owners can choose whether his site needs a plugin to remain active or not.

Wrapping up: 

Once you complete all these steps correctly the WordPress multisite is ready for regular use. You can now add more sites, themes, and plugins from the super admin dashboard. The procedures are the same as mentioned above.

The individual sites in the network can publish posts and pages like a typical WordPress site. It is possible to do a lot more with a multisite for example connecting it with Cloudflare. But that could be a whole new tutorial. Finally, we hope this guide is clear enough to help you set up your first WordPress multisite. 

You can also read: