Setting up the WordPress MultiSite Network is actually a very simple task to complete, however can take some time to do as it requires a few steps to be completed and a few re-logins to take place.
But first, why do we want to even do a multi site WordPress? What are the benefits of this? There are many reasons out there to why you would want to do this rather than individual instances, however we are just going to list off a few.
1. Multi sites will provide you quick access to your blogs.
- With in a multi site network all of your blogs are managed and easily accessible provided you are listed as a user for that blog.
- Depending on your users access level, you will be able to manage all of your sites plugins and content just with a few clicks.
- Users can be shared across multiple sites in the network. This makes it easy when managing access across multiple sites, you will only need to remember 1 username and 1 password between control panels.
2. Shared Plugins and Themes
- You will have the ability to distribute themes and plugins across your sites by selecting which ones you would like to have them.
- Note: Network-activated plugins are automatically applied to all sites with in the multisite network. This is great especially when dealing with abusive traffic to your sites.
3. Upgrade once.
- Exactly how it sounds. With WordPress always coming out with new updates to the CMS for security and functionality, it can be a pain to have to individually update 1 site at a time. Since this is technically 1 WP install, there is only 1 upgrade you will have to do.
However, there can be some drawbacks to this as well. Before making any big upgrades between versions, you will want to make sure all of your sites with in the network are compatible with those changes. This can also go with PHP version changes.
Now what about the cons of a multisite WordPress? As in all things with life, there are also some downsides with a multisite WordPress. The multisite network, as great as it is for in sync content, plugins and themes, there are drawbacks and limitations with it.
1. Not all plugins will work with a multisite. These things come all the way down to the developers of those specific plugins and how they are coded to work. If you come across a plugin that doesn’t seem to be working, you may want to check forums for that plugin and even reaching out to the developer themselves.
2. If there is a shared theme across multiple sites, any kind of change done to that theme will spread across the other sites. It is best to try and activate a different theme for different sites, unless it is intended to be the same and those changes reflect all sites associated.
3. Even though the multisite network houses more than 1 site, it still utilizes 1 database to manage all of the content as well as requires more memory than a standalone site would. It is important to deploy precautions to reduce your resource footprint especially when it comes to memory. If you would like to know more about managing WordPress, feel free to check out our article on Suggested WordPress Plugins.
For this walk through I will be using my domains for the setup.
First we will want to make sure we have WordPress installed under our domain. If you are unsure how to do this, please feel free to check out our guide here on How to install and setup WordPress.
After you have WordPress installed, next we will want to open our wp-config.php file and enable the MultiSite Network. To do so, we will want to enter in the following line of code in to the wp-config.php above the line that says “/* That’s all, stop editing! Happy blogging. */”:
define( ‘WP_ALLOW_MULTISITE’, true );
You should have your wp-config look like the following example:
After the initial edit is complete, you will want to then refresh your WP dashboard and then go to Tools > Network Setup. Here you will be able to select how you would like your sites in the network to be created.
You will be provided 2 options, sub-domains or sub-directories. Now most people will select sub-directories as it is easier to manage and set up later on. So for this walk through, we will be going with sub-directories.
Next you will set the Network Title and Network Admin Email. This will be the primary “Super Admin” of your network.
After this is complete, you will then select Install.
The next screen you will be presented with will look like the following image shown here:
As mentioned in the beginning, there are a couple more edits we will want to make to our WordPress core files. Luckily the install process is detailed and specific to what is needed to be added and where! Also note, depending on your servers setup, the directory paths may be different than what is shown in the example images, however rest assured the install will direct you where to go. In most cases, as long as you remember how and where to access your WordPress’ core files, you should be fine.
Please Note: When WordPress initially does it’s install, it will create an .htaccess file with in the root of your domain. With in this file there will be rewrite rules that starts with #Begin WordPress and #End WordPress. We will want to remove these lines before adding the information provided in the network setup. The reason being is later on these rules will actually cause a redirect loop issue for new domains added to the network.
Once these edits are complete, you will need to log in to your WordPress again. You can simply do so by clicking on the Log In link at the bottom of the page.
Once logged in you should see at the top of your dashboard a new button that says My Sites as seen in the image below.
The next step we will want to take is installing and setting up the plugin that will allow you to map your domains to your WordPress Network. To do this you will want to hover over My Sites > Network Admin > Plugins. The best plugin we can recommend for use with this step is WordPress MU Domain Mapping. This plugin is a very simple interface to use and configure for domain mapping. You can download this plugin either through your the dashboard by clicking on Add New and searching for MU Domain Mapping or you can download the plugin from WordPress’ site Here.
Once you have added the plugin to your WordPress, you will need to go through the setup process to activating MU Domain Mapping in your WordPress. You will first need to copy the sunrise.php file to your /wp-content folder. This file will be located with in the MU Domain Mapping plugin folder.
After you have copied the file to the right location, you will also be asked to edit your wp-config.php file to enable sunrise. To know what you will need to add to the wp-config, you can refresh your browser and the message will change instructing you what to do next after copying sunrise.php to the wp-content folder.
You should see a message like this:
You will want to add this line above the sentence “That’s all, stop editing! Happy blogging.” with in your wp-config along with the other entries you’ve placed enabling multisite. Once you have enabled sunrise, you should now see the following screen to allow you to configure the last bit of this plugin:
The next area after the mapping configuration are the Domain Options. You can select any option here that you wish to have enabled when setting up your network. It is recommended to leave Permanent Redirect enabled as this will ensure that all sub-domains or directories will redirect to the domain URL instead.
There are some options here that are not generally recommended to enable as they can cause some issues or undesired results. Remote Login is one of these options for example. This option will make your login pages for all sites redirect to your main site to do the actual login. The benefit to this is when you log in to one site you log in to all of them, however the downside is that the URL changes to a different domain, which can be undesirable from some perspectives.
Once you have configured your multisite network and the domain mapping plugin, the last step will be to adding a new site to your network. This step is probably the easiest out of the entire setup!
First we will want to add a new user to the network that you would like to assign to this site. If you are only using 1 user then you can skip this step as the primary administrative user has already been added.
To add a new user, with in the WordPress dashboard, select Users > Add New. You will want to fill out the Username and Email for the new user. They will be sent a password reset link once complete. Now if there is no site assigned to this user, once password is reset and logged in, the user won’t see anything besides their user profile.
Next, we will want to add a new site and assign that to a user. To do so, make sure you are logged in as the Network Admin or Admin so that you have access to adding new sites. Select Sites > Add New. You will be presented with the Add New Site page where you will name the sub-directory or domain, depending on the initial configuration you set up. Next you will enter the site title and the admin email. For the Admin Email, here is where you will enter in the email used for the new user you added earlier that will be responsible for that site.
Once that is complete, if looking back at the list of sites now, you will see the newly added site, last updated date, registered, users, and mapping.
The final step to mapping a domain to this new site can be done 1 of 2 ways. It can be done on the Network Admin side or it can be done through the user login that you assigned to this new site. Either way you do it, you will need to go to the dashboard of the new site and select Tools > Domain Mapping. You will be directed to the domain mapping page where you can put in the site URL you wish to direct your new site to.
Once you have done this, you are all set and have successfully installed and configured a Multisite WordPress Network.