You have heard of WordPress multisite, have you not? So, what is it? Should you be using it? When should you be using it? What are the unique requirements for installing WordPress multisite? Do you a special type of server, a plugin, or something else? What are the benefits or disadvantages of using WordPress multisite?
There are many such questions that show up. If you want to know the answers to all these questions, this is a wonderful place to start. In this article, I will walk you through everything you need to know about multisite. So, sit tight and read on!
What is a WordPress Multisite?
WordPress multisite is a core feature of WordPress. It is a very advanced feature that has existed since WordPress 3.0. It was previously known by the name WordPress Multi-User (WPMU), but now the name has been changed to WordPress Multisite.
This advanced feature will allow you to build a network of sites using one WordPress installation, thereby enabling you to manage all websites from a single dashboard.
A multisite installation will allow you to create a new site instantly and manage the new site using the same username and password. If you wish, you can allow other users (not belonging to your team or organization) to signup and create a site on your domain. Essentially, you can allow other users to create blogs on your domain.
A multisite installation has many advanced features that will allow you to customize and control every blog or website on the network.
Primary Features of WordPress Multisite
There are several unique features of a WordPress multisite installation. Here are some of the most key features:
-
It will allow you to create a network of subdomains. Example:
- https://subdomain1.yourdomain.com
- https://subdomain2.yourdomain.com
- https://subdomain3.yourdomain.com, and so on.
-
It will allow you to create a network of subdirectories. Example:
- https://yourdomain.com/subdirectory1
- https://yourdomain.com/subdirectory2
- https://yourdomain.com/subdirectory3, and so on.
- It will allow you to have a separate domain for each website on the network instead of a subdomain or a subdirectory.
- You can easily replicate the functionalities across all sites on the network.
- There will be a SuperAdmin who will be in control of the entire network. As a SuperAdmin you will have full access over the accessibility of users wanting to create account on your network and setup blogs.
- A SuperAdmin can install plugins and themes and make them available across all websites or blogs in the network. The SuperAdmin can even customize the theme on any site across the network.
- Both the SuperAdmin and the site-specific admin will have control over the content of a site. SuperAdmin can control content of all sites.
- A site-specific admins can decide which content pieces from the main domain to be displayed on their specific sites.
- Site-specific admins can activate or deactivate plugins on their individual sites, but they cannot delete a plugin or add a new plugin.
- WordPress multisite will allow to create online shops or website targeted towards specific regions, currencies, languages, etc.
Sounds interesting?
Alright! The question now is, ‘a multisite installation is suitable for whom?’
Let us find out.
Who Should Use Multisite and Who Should Not?
While WordPress multisite may sound interesting, it is not always suitable for everyone or every scenario. The reason for this is simple – all sites on a multisite network will use the same database, thereby making it impossible to backup a single site in the network.
Let us assume that you have 25 clients, all belonging to unrelated niches. In that case having a multisite installation is not a wise thing to do. If ever one of your clients decides to move away from you, database structure will prohibit that from happening.
However, multisite installation makes sense in several cases. For instance, it is great for a university that wants to build individual websites for each department.
Similarly, it makes sense for a hotel chain. A business with offices in different branches in various locations, a government looking for different websites for its different departments, etc., can use multisite installation.
What if you are building multiple blogs in different niches? For instance, you are building blog in the health niche, one in the fishing niche, another in finance niche, and so on!
Should you be using multisite?
In a scenario like that, you can use a multisite installation, but I will still recommend keeping them as separate installation. While there are advantages of a multisite installation, there are many drawbacks as well.
Let us learn about the advantages and disadvantages of WordPress multisite.
The Pros and Cons You should Know
A WordPress multisite has several advantages. But there is always different face. There are disadvantages as well.
The Pros
- It allows easy management of multiple websites from a single dashboard.
- Each site on a network can have its own admin.
- The SuperAdmin can install and manage themes and plugins for all websites on the network.
- A multisite installation makes it easy to manage updates for installed themes, plugins, and even the WordPress core.
The Cons
- All sites are linked to the same database, thereby disallowing individual site backups.
- All sites on the network use the same resources. So, if the traffic of one site goes up, the other sites will take a hit unless there is proper resource management.
- It one site is hacked; all other sites will be hacked.
- Certain plugins do not work on multisite installations properly.
- Not all web hosting companies will have proper support for multisite installation.
- Administration of a network of sites is not an easy task for rookies. They can quickly mess things up.
Now, if you are still interested in a multisite installation, let us proceed!
What Do You Need for Creating WordPress Multisite?
First thing first! A multisite network will have multiple blogs and websites sharing the same system resources. This means that you should have a powerful server with significant resources like RAM, CPU cores, storage, etc.
Going for a powerful server will mean higher expenses. So, you should have a fat wallet.
If you are looking for building a network of sites with low traffic, you can easily opt for a shared hosting provider.
Typically, multisite installations should use VPS or dedicated servers. Even better, they should use cloud hosting with the ability to scale significantly and quickly.
If you are going for a multisite installation, I will highly recommend a cloud hosting provider like DigitalOcean, Amazon Web Services, Google Cloud Platform, Vultr, etc.
You will also need the knowledge of installing WordPress either manually or using one-click installations. One-click installations will have the option for enabling multisite during the installation process, making your life simpler.
In this article, I will explain multisite installation on the assumption that you already have a WordPress installation with no multisite feature.
You will also need FTP access and you should have some basic knowledge of using FTP for editing files. If that is not a possibility, you should have access to your server files through a File Manager where you can access and edit the wp-config.php file
So, let us assume that you have a WordPress installation on your primary domain, and that you are already using plugins and you have content.
How to proceed from there?
Let us learn.
Domain Structure and Domain Mapping
If you are going for a multisite installation, you can choose different domain structures that include:
- Subdomain: example – https://subdomain.yoursite.com/
- Subdirectory: example – https://yoursite.com/subdirectory/
- You can use entirely different domains for each network site. For this, you will need domain mapping.
When you use domain mapping, this is what you will see:
Yoursite.com/subdirectory/ = separatedomain.com
Subdomain.yoursite.com = separatedomain.com
Starting from WordPress 4.5, domain mapping is a default feature of WordPress. Before that, people had to use a domain mapping plugin to map additional domains to your network.
Installing Multisite – Step-by-Step Guide
Okay, now let me assume that you have a WordPress installation with no multisite support.
You can activate multisite on that installation. To do so, follow the steps below:
Step 1: Edit the wp-config.php file
Use your FTP client to download the wp-config.php file. Open the file using a text editor (like notepad) and add the following code:
/* Multisite */
define( ‘WP_ALLOW_MULTISITE’, true );
This code should go right before the line which says:
/* That’s all, stop editing! Happy publishing. */
Now save the file and upload it back to the server using FTP. You will get a notification that the file already exists and whether you want to replace it or not.
Please replace the file.
In case you do not know how to use FTP, but you have access to server files through a File Manager (for instance, through cPanel), you can use that route.
To use the second route, sign into your cPanel and navigate to the root folder (public_html) using the File Manager. Locate the file named wp-config.php and click on it to select it. On the top of the file manager, the option called ‘Edit’ will become active.
Click on the Edit option with wp-config.php selected.
This will open a new popup with a notice asking you to backup the file. It is an especially important file. So yes, backing up makes sense. You can simply download it before editing it. However, for this small task of adding a piece of code, you do not need to back it up.
Here is the backup notice that you will see:
You can go ahead and click on the ‘Edit’ button and the editable file will open in a new browser tab.
Now, scroll down to find the line which reads:
/* That’s all, stop editing! Happy publishing. */
Paste this code right above the line:
/* Multisite */
define( ‘WP_ALLOW_MULTISITE’, true );
This is how it should look like:
Once you have added the code, click on the Save Changes button you will see on the top of the browser window and then close it.
That is all!
Step 2: Disable Plugins and Enable Network
Log into your WordPress dashboard as usual. There will be nothing unusual. It will look like just your regular WordPress dashboard. At this point, the first thing you must do is disable all the plugins.
Go to Dashboard >> Plugins >> Installed plugins.
Select all plugins and deactivate them.
Once you are done deactivating the plugins, you need to perform the network setup.
For this, follow the path:
Dashboard >> Tools >> Network Setup.
Do you notice what has changed? Yes, a new menu item called Network Setup is added once you edit the wp-config.php file and add the code.
On the network setup page, you will see two options: Sub-domains and Sub-directories.
You can select the one you wish. You need to provide a title for the network, and you must provide the email of the SuperAdmin or the network admin.
You will notice an “Install” button at the end.
Click on the button to install the multisite network.
Once you click on the button, the page will refresh, and you will notice two sets of codes. You need to add one to the wp-config.php file and the other to the .htaccess file.
Unless you add these codes to their respective places, the network will not be activated.
Now, go back to your server and open and edit the wp-config.php file to add the first code in the desired spot.
This is how it should look like:
Now save changes and close it.
Then, in your server’s root folder, locate the file with the name .htaccess.
.htaccess is a hidden file. You cannot see it by default. You must unhide it. To unhide it, click on the settings button you see on the top of the File Manager window.
Click on the settings button and it will show a popup where you can enable the option for showing hidden files.
Now hit the save button and check the root folder for the .htaccess file.
Now that you can find the .htaccess file, click on it to select it and then click on the Edit option that will become active on the top of the File Manager window.
Once you click on the Edit link, you will see a notice asking you to back up the file.
You MUST DO THAT.
Cancel out from the notice and download the file.
Once you have downloaded the file, go back to the edit link after selecting the .htaccess file and go ahead with the editing.
This will open the .htaccess file in the new tab. It will be editable. This is how it will look like:
Now, copy the second part of the code from your WordPress dashboard and paste it in the .htaccess file by replacing the WordPress rules.
This is what it should look like after replacing:
So, you will be replacing:
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
WITH
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
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]
That is all. Now save the .htaccess file by clicking on the save changes button on the top of the tab window.
Now go back to your WordPress dashboard and refresh it. You will notice that you are logged out of the site and you will be shown the login screen at this stage.
Login as before.
Upon login, you will see this:
That is all! Your multisite network is enabled.
Step 3: Multisite Configuration and Settings
While on the above screen, click on the Network Settings under Settings. This is where you will be able to configure some basic settings. Let us quickly investigate them.
Network Settings
This is where you can change the title of your network and even change the SuperAdmin email.
Registration Settings
This is where you can open your site to user registration. You can disable registration, you can only allow user account registration, you can allow only logged in users to register sites, and you can allow both user accounts and sites to be registered. Choose whatever fits the best for your needs.
You can ban certain names. You can even allow only specific email domains to register. You may want to ban certain domains.
You can scroll down to find the following options:
- New Site Settings
- Upload Settings
- Language Settings
- Menu Settings
Once you have set everything, hit the save button at the end.
Step 4: Themes and Plugins Setup
As a SuperAdmin, you may want to make certain themes and plugins available across the network. You may even want to remove certain themes and plugin.
For Themes
For themes, go to My Sites >> Network Admin >> Themes.
On the themes page, you will notice the list of all themes available. You can make certain themes available across the network. You can disable certain themes and remove them from network access. You can even add new themes and activate them.
For Plugins
You can do the same for plugins. To access the plugins page, go to My Sites >> Network Admin >> Plugins.
From there you will see all the plugins installed. You can make certain plugins available across network, disable certain plugins and remove them from network, install and activate new plugins for all network sites.
Step 5: Adding New Sites
To add a new site to your network, go to My Sites >> Network Admin >> Sites.
On the Sites page, you will see the list of sites available. This is what you will see:
Click on the Add New button to add a new site and configure it. This is what you will see:
You need to add a new site address. It will be added as a separate subdirectory.
Add the site title, select a site language (English is default), and add an admin email.
Finally, click on the Add Site button.
You can check the list of all sites by going back to My Sites >> Network Admin >> Sites.
Hover your mouse cursor over any site to pull up additional options like Edit, Archive, Delete, Dashboard, etc.
Clicking on the dashboard will take you directly to the dashboard of the new site.
Step 6: Adding a Different Default Theme Across the Network
The default theme across the network will be Twenty Twenty-One. If you want to change that, go to your cPanel >> File Manager >> Root Folder and edit the wp-config.php file.
In the file add the lines of code that will be like this:
// Setting default theme for new sites
define( ‘WP_DEFAULT_THEME’, ‘your-theme’ );
You can add this code right above the line which reads:
/* That’s all, stop editing! Happy publishing. */
This is how it should look like:
Note: the theme name is the name of the theme folder you find in public_html/wp-content/themes.
Remember that if you added new sites before adding this code, they will not have the new default theme. The new sites you create after adding this code will have the new default theme.
Important Plugins You Should Use
Once you have installed and configured a new multisite, you should consider using a few important plugins. They are:
Yoast SEO: It will help to perform SEO for all sites.
WP Forms: This one will allow to add contact forms.
WP Mail SMTP: This will fix all the specific ‘WordPress not sending email’ issue by using SMTP server.
SeedProd: This will allow creating ‘maintenance mode’ or ‘coming soon’ pages, thereby allow individual site admins to set up those pages while working on content or design.
UserSwitching: You as a SuperAdmin can switch user accounts using this plugin and see firsthand the problems the users in your network are facing.
ProSites: It will allow you to monetize your network by restricting features for free users. Interested users can upgrade.
Known Issues with Multisite Installation
Login Issues
You may not be able to login to individual sites if you are using subdirectories instead of subdomain. If that happens, go to root folder, and edit the wp-config file.
Replace:
define (‘SUBDOMAIN_INSTALL’, false);
With:
define (‘SUBDOMAIN_INSTALL’, ‘false’);
This should fix the issue you are facing.
Unconfirmed Users
A user registers to your site but does not receive the confirmation email. This will usually happen mail settings are not configured properly. For this you should install the WP Mail SMTP plugin and set it up using Gmail or other options available.
WordPress Multisite FAQ
Not really! You need to have good knowledge of WordPress. The worst part comes when you want to use custom domains for each site on the network. The way you set it up will differ from hosting provider to hosting provider.
Incorrect settings can be a headache, and you might have to start over!
That depends on your specific needs. In very rare cases you will actually need a WordPress multisite. It is almost always better to have separate WordPress installation. But again, your needs may differ.
For rookies, it can be extremely challenging. It requires complex redirections and fixing permalink structures. It is no joke! Technically, you can move a site from a multisite network to a single install.
Yes, it is possible. You will most likely use WooCommerce, and it supports multisite installations.
Technically, one user registered on a site on a network cannot be registered to another site on the same network because the user is already present on the shared database.
But you can always sync users across the network using WP Multisite User Sync – a WordPress plugin. However, you should be careful while assigning privileges.
Yes, the SuperAdmin or the Network Admin can do that.
Unlimited! You can add as many sites as you want. There is no limit!
No! That is not allow. Plugins are to be installed by the SuperAdmin at a network level. However, individual admins can decide to activate or deactivate a certain plugin on a site level provided, you as a SuperAdmin enabled Plugins Menu option in Network settings.
Yes, that is possible. As a SuperAdmin, install a plugin, but do not activate it. Doing so will make the plugin available through individual site dashboards where a user can decide to activate the plugin for his/her site.
Conclusion
WordPress is a complex beast. The multisite function makes it even more complex. So, just because the feature exists, you need not use it. Be “absolutely” sure before enabling the feature. Do not forget that managing a multisite network can be one hell of a task, especially in domain mapping and taking the site out of the network and putting it on a single install. Proceed with caution.