What is WordPress Multisite and how to set it up with WooCommerce? (with Video)

WordPress Multisite | Blog Banner

Last updated - July 8, 2021

You might have come across people handling multiple sites at once. How are these sites handled? Are multiple versions of WordPress installed on their site? How are eCommerce-based sites with WooCommerce configured?

This article will answer what is WordPress multisite and how to set it up with WooCommerce.

What is WordPress Multisite?

WordPress Multisite allows users to create multiple, related sites with a single WordPress installation. You can create any number of child sites with either a sub-directory or sub-domain.

Multisites are mostly used to create a centralized system to manage multiple sites at once, by a Super admin. The Super Admin has control over the plugins and themes to be installed on the site. This gives major control on the site and avoids unnecessary conflicts with plugins and themes installed by other users.

If you a blog, eCommerce store, and other related sites, multisite will help you save time and resources (no need for multiple installations). When you want to take a backup of the site, you can store all the data in a single backup for all your child sites, instead of making backing data of each site.

Having said that, multisite has some disadvantages as well. Not all plugins work properly on a multisite. Also, if one of your sites has downtime, it’ll affect your other sites as well. Similarly, if one of your sites has high traffic, your bandwidth for other sites might get affected. If you are not a fan of a centralized system that gives complete control to a single user, then choosing multisite might be a hard choice to make.

How to create a WordPress Multisite?

Although creating a WordPress multisite does involve handling code snippets, the steps are simple enough to be understood by any non-technical folks.

Follow the below steps to create a WordPress Multisite:

Step 1: Download and Install WordPress

The first and most obvious step is to download WordPress from WordPress.org. We have explained step-by-step methods on how to install WordPress in another article. The said article will show you the installation process for Web host as well as the localhost (for Windows & Mac).

If you have an existing WordPress site, you can convert it to a multisite easily. In that case, you don’t need to follow Step 1 and continue with the below steps.

Step 2: Allow Multisite in wp-config.php file

Open the wp-config.php file for editing. This file resides on your website’s home folder.

Add the following code snippet just before the line reading /* That’s all, stop editing! Happy blogging. */

/* To allow WordPress Multisite */
define( 'WP_ALLOW_MULTISITE', true );

The below screenshot shows how the code snippet is added to the file.

WordPress Multisite | Allowing Multisite in wp-config.php file
Allowing Multisite in wp-config.php file

Step 3: Configuring WordPress Network Settings

From the WordPress sidebar menu, go to Tools > Network Setup. This setup option will only appear in the Tools menu after you’ve added the code snippet given in step 2, into your WordPress site.

WordPress Multisite | Network Setup option
Network Setup option

You are provided with two code snippets that need to be added to two separate files on your site.

WordPress Multisite | Create a Network of WordPress Sites
Create a Network of WordPress Sites

First, you need to add the following code snippet above the line /* That’s all, stop editing! Happy publishing. */, to the same wp-config.php file that you used in step 2.

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/wordpress/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

The below screenshot shows how the code snippet is added to the file.

WordPress Multisite | Code snippet in the wp-config.php file
The code snippet in the wp-config.php file

Next, replace the below code snippet with the entire content of the .htaccess file. This file resides on your WordPress site folder.

RewriteEngine On
RewriteBase /wordpress/
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]

The below screenshot shows how the above code snippet is added to the file.

WordPress Multisite | Code snippet in the .htaccess file
The code snippet in the .htaccess file

Once you save both the files, your site is configured to be multisite. You need to log in again to get started.

Tip: If you need help with updating code snippets, read How to Edit WordPress Source Code Files?

Step 4: Configuring Network Administrator Settings

After you’ve logged in, you can notice My Sites logo on the top left corner of the page. It will list the Network Admin site and all the child sites that you have created. This is a permanent feature to help super admins access all the sites easily.

WordPress Multisite | Network Admin settings
Network Admin settings

Only the super admin can access the Network Admin settings, that allows him/her to install plugins, themes, and configure other major settings of all the sites.

If you hover to one of your child sites (Demosite 1 in below sample screenshot), you can see the minimal settings that will be accessed by the respective site administrator.

WordPress Multisite | Child site settings
Child site settings

Managing all sites

Hover to My Sites > Network Admin > click Sites. You can see all your child sites under the All Sites dashboard as shown in the screenshot below.

WordPress Multisite | All sites in Multisites
All sites in Multisites

Adding a new site

To add a new site, click on the Add New button, and provide further details like URL, site title, select site language, and enter the admin email address. Once the settings are done, click on the Add Site button.

WordPress Multisite | Adding a new child site
Adding a new child site

You can also watch the below video tutorial to understand setting up WordPress Multisite better.

How to install WooCommerce on WordPress Multisite?

Unlike the traditional plugin installation process in WordPress, plugin installation works differently in multisite.

You can install plugin only from the Network Admin dashboard, as the super admin is the user role with the authority to do this. The plugin installation option will not be visible to respective site administrators. However, you can activate and deactivate the plugins and themes at each site level.

Similarly, for installing WooCommerce, go to Network Admin > Plugins.

Click Add New and follow the regular installation procedure until the WooCommerce is installed and ready to be activated. You can choose to activate WooCommerce on all the child sites (Demosite 1 and Demosite 2 in our demonstration) or activate only in one site.

For demonstration purposes, let us activate only in one child site, say Demosite 1. To do this, you need to make sure that WooCommerce is not activated in Network Admin settings.

WordPress Multisite | WooCommerce installed on Network Admin Site
WooCommerce installed on Network Admin Site

To enable WooCommerce in Demosite 1, go to the respective site’s dashboard. Click on the Plugins option on the left sidebar menu and click on the Activate button for WooCommerce, as shown in the below screenshot.

WordPress Multisite | WooCommerce activated on Child Site
WooCommerce activated on Child Site

Next, WooCommerce will show you the quick store setup process. Follow through the process to set up your WooCommerce store. The plugin will only be activated on Demosite 1.

The below video tutorial will give you an in-depth understanding of how to install and activate plugins on a WordPress Multisite and How to set it up with WooCommerce?

Good luck!

 


Suggested reading:

LEAVE A REPLY

Please enter your comment!
Please enter your name here