How to Setup WordPress Multisite Network (Step by Step). WordPress multisite functionality was introduced in version 3.0 of the open source content management system (CMS). Multisite functionality makes it easy to run – as the name suggests – multiple WordPress sites using one central WordPress installation. This simplifies scaling and the subsequent management of your online presence.
Follow this post to learn how to Setup WordPress Multisite Network (Step by Step).
What is WordPress Multisite Network
Multisite is a type of WordPress installation that allows you to create and manage a network of multiple websites from a single WordPress dashboard. It creates a network on your WordPress installation to run and easily make changes and keep all of your websites updated from one place.
Enabling WordPress multisite functionality is easy and takes about 10 minutes. But with more power comes more responsibility. Let’s take a quick look at the pros and cons:
Problem Sharing where one site gets more traffic and consumes more resources, it will also affect the other sites. This can be solved by better WordPress hosting.
Not all hosting plans support a multisite setup.
Not all themes and plugins will work in a multisite environment.
Migrating individual sites from within a multisite setup to a standalone setup can be complex.
The security of a multisite installation requires special mention. Since there are more moving parts – more plugins, themes, users and, critically, information – it is essential that you implement strict security measures.
After all, a vulnerability in one plugin could compromise all sites; malicious code in a file uploaded by an unsuspecting user on one site could compromise all sites. Depending on where you are in the world, and your country or region’s data protection regulations, any potential breach can be a costly and time-consuming experience.
Aside from a domain name and website hosting, a multisite brings a few other considerations to the table. These should be in place before you begin your multisite setup:
Subdomain or subdirectory?
During the setup, you’ll be able to choose a URL structure – subdomain or subdirectory.
A subdomain is a name prepended to your domain name: in https://sub.domain.com the ‘sub’ refers to the subdomain.
A subdirectory is added to the path of your domain: in https://domain.com/subdirectory the ‘subdirectory’ refers to the subdirectory that will be created for each new site if you choose this structure. This option is only available with a fresh WordPress installation.
If you’re fixed on choosing a subdirectory structure, keep in mind the potential for conflict between site content and a subdirectory name. For example, a careers page at https://domain.com/careers could clash with a user’s desired ‘Careers’ site, also at https://domain.com/careers.
Take the time to carefully consider which option you’ll want to use moving forward.
If you’re using a subdomain URL structure, you’ll have to add the necessary DNS records before you begin. For this tutorial, I used www.esquecreative.dev as a primary domain, and sub1.esquecreative.dev as a subdomain. To achieve this I need at least three DNS records for the domain:
An A Record that maps esquecreative.dev to an IP address
A CNAME Record that maps www to the A-record domain above
A CNAME Record that maps sub1 to the A-record domain above
If you’re unsure how to do this, contact your hosting provider for assistance.
A note on wildcard subdomains:WordPress.com is a good example of a WordPress multisite using a wildcard subdomain setup. When you sign up, you can create https://yoursite.wordpress.com. The ‘yoursite’ subdomain is created dynamically. To achieve this on your domain requires additional configuration of the following:
A wildcard subdomain (*.esquecreative.dev) instead of a specific subdomain (sub1.esquecreative.dev)
The remainder of this tutorial how to Setup WordPress Multisite Network (Step by Step) will focus on a specific subdomain, sub1.esquecreative.dev. We’ll also focus on domain mapping to replace sub1.esquecreative.dev with a completely different domain name (isgreen.net in this case).
Since the whole reason for using a multisite or network setup is to have multiple websites in one WordPress installation, the webserver must be configured so that all subdomains or additional domains (see Domain Mapping) use the same set of WordPress files.
If you’re managing your own web server, this means using a single document root for all addresses you want to add to your multisite setup. In certain hosting environments, this could mean adding a subdomain or a new domain as an alias of the primary domain you wish to use for your multisite setup (so that they can all use the same WordPress files).
Given the various types of web servers and web server control panels available on the market, it would be impractical to cater for each case here. If you need help, leave a comment below or get in touch with your hosting provider.
Other requirements
mod_rewrite is an Apache module needed to manipulate URLs. It is required for a multisite setup if you are using Apache
Options FollowSymLinks should be specified in your webserver config or the virtual host file (see below)
AllowOverride All should be specified in your webserver config or the virtual host file (see below)
You will need an SSL certificate for each domain / subdomain you want to use in your multisite setup
Unless you’ve set your web server up from scratch, these options should be enabled and configured correctly by default.
When all other requirements have been met, and when all DNS records have been set up correctly, setting up a WordPress multisite is easy.
This tutorial assumes that you already have a WordPress installation configured. If you don’t have an active WordPress installation, follow these steps to install WordPress:
1. Navigate to the location where all your WordPress files are installed. Open wp-config.php and add the following line to the file, just above /* That’s all, stop editing! Happy publishing. */:
3. Open your web browser and log into your WordPress dashboard. Once logged in, go to Tools > Network Setup
4. Choose your desired URL structure. As mentioned previously, we’re going with a subdomain URL structure.
5. Click ‘Install’ when you’re ready to proceed.
Notice the error? It occurred because I haven’t configured my webserver (Apache) and my DNS for wildcard subdomains. When we use a dedicated subdomain, the error can be safely ignored.
6. Follow the on-screen instructions and make the necessary changes to your wp-config.php and .htaccess files.
7. Go back to the WordPress Dashboard page. Hover your mouse over the ‘My Sites’ menu item and navigate to Network Admin > Sites.
8. Click ‘Add New’ to add your subdomain.
9. Enter your subdomain name (do not include the ‘dot’ or the rest of your domain name). Give your subdomain a description and enter the Admin Email address.
10. Click ‘Add Site’ when you’re done.
Congratulations! You’ve just set up a WordPress multisite.
Hover your mouse over the top-left menu item, ‘My Sites’. You’ll see your subdomain added to the list of sites. Hover your mouse over your subdomain to access the Dashboard, create a New Post, Manage Comments, or visit the site.
One of the benefits of running a WordPress multisite or network installation is that you can use custom domains instead of subdomains. This makes it easy to manage completely different websites using one single WordPress installation.
Example: Now that I’ve created www.esquecreative.dev and sub1.esquecreative.dev, I can replace the latter with another domain I own, isgreen.net. And it’s surprisingly easy:
Hover your mouse over the top-left menu item, ‘My Sites’. Navigate to Network Admin > Sites.
Click ‘Edit’ on the subdomain you wish to replace with a domain.
Replace the subdomain URL with the full URL of your domain. Example: https://isgreen.net.
Click Save Changes.
You’ll now see your domain in your Sites list.
Note: If you get cookie errors after enabling your multi-site, or can’t log in, add the following line of code to your wp-config.php file just below the code you added during the multisite setup:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
Great effort! We have learned more about How to Setup WordPress Multisite Network (Step by Step).
How to Setup WordPress Multisite Network (Step by Step) Conclusion
WordPress Multisite is an incredibly powerful tool for creating more than one site, saves disk space and make you more efficient. There is loads of use cases for WordPress Multisite: your personal and business sites, to host client sites or to run a WordPress.com blogs. We hope this article helped you learn the basics of WordPress Multisite and how it works!
In a normal WordPress installation, the Administrator role is used to manage the entire website. With a multisite setup, a new role is created – the SuperAdmin. This role can install themes and plugins, and manage user accounts across your entire WordPress installation. Take a few minutes and read up on the differences between a SuperAdmin account and an Administrator account in a multisite setup.
I'm a freelance writer in the tech industry. When I'm not writing about hosting-related topics, I spend my time doing calisthenics or in the ocean doing my level best to stand on a surfboard.