WordPress Multisite: Setting up, configuring, and managing the network
Editor’s Note: This WordPress Multisite article was first published on February 23, 2016. It was updated on October 20, 2018.
A WordPress Multisite network makes site administration much easier. It lets you run multiple websites on a single WordPress installation, which allows you to updated and manage all of your themes, plugins, user accounts, and content from one single location.
Many people embrace WordPress Multisite, because of the following core advantages:
- When you add themes and plugins to a multisite installation, they are made available to all sites on the network.
- Individual sites can enable and disable themes and plugins as necessary. This is handy for plugins that handle optional functionality, like contact forms and social sharing.
- You can activate plugins across the entire network so that individual sites can’t disable them. This is useful for plugins that add key functionality, like analytics and SEO.
- You can quickly update plugins across the entire network with only one update at the main multisite installation.
Let’s explore of is WordPress Multisite is for you, how you set up a Multisite environment, and then the best way to manage plugins across the individual sites.
When WordPress Multisite is a strong fit
The best example of a Multisite website is perhaps none other than WordPress.com. With WordPress.com, people can create and host free websites — which can look completely unique and have different levels of personalization — while still technically being managed on one stable platform.
This type of setup is also helpful in larger organizations that might need different designs and managers for different groups or departments. A perfect example might be a single college that has unique “schools” (Edublogs — the world’s second largest Multisite behind WordPress.com — springs to mind here), or if you’re creating different websites for international visitors’ native language.
You should consider using WordPress Multisite if you’re trying to display a large amount of content to different audiences, or where you’d like to provide access for others to create and manage their own little slice of the overall pie (while you take care of managing the boring stuff).
However, if you’re just running a relatively simple website or blog, you’re probably fine without it.
Even if you’re managing multiple websites for different people (who aren’t or don’t need to be connected in some way), there are better options, such as ManageWP and InfiniteWP.
How to install a WordPress Multisite network
Unfortunately, there isn’t a simple setting to help make the transition from single site to Multisite. Run a basic WordPress installation, then enable the multisite network capabilities by following the steps outlined in the Codex.
If you don’t already know how to find the WordPress core files, you’re best off finding someone to help. This process ain’t for the light-hearted. However, if you know your wp-config.php from your style.css and you’ve got some time to spare, let’s roll our sleeves up and get stuck in!
Always start by backing up your site, so if any mistakes are made then you can roll back to the previous, unaffected version. New site? No need to worry then.
You should also have a good hosting plan to start with, as a shared server might not allow a multisite setup, or get too bogged down later in the process as your new network of sites becomes larger.
Once you’re ready, there are two things you need to edit.
Open up the wp-config.php file and find where it says:
/* That’s all, stop editing! Happy blogging. */
Right above that line, add the following:
/* Multisite */ define( ‘WP_ALLOW_MULTISITE’, true );
If you don’t see that line anywhere, add the previous code above the very first line that starts with “require” or “include”. Then hit Save.
You’re going to make a few more edits, but you’ll need some extra info first. Head back to your WordPress website and under Tools, you’ll see a new Network Setup option.
If this is a brand new site, you might be given the option to select between subfolders (e.g. http://mywebsite.com/subfolder/) or subdomains (http://subdomain.mywebsite.com/). This part is largely up to your personal preference. However, if you’re editing an existing site, you might be forced into subdomains.
Next, you’ll get a few extra lines of code that you need to copy and paste into your wp-config.php and .htaccess files (the Network Setup screen will indicate exactly where that is). Save the files and you should be good to go.
Congratulations – there might be a programming future ahead of you yet!
How to manage your new WordPress Multisite setup
Up and running? Great! Once you log back into your WordPress site, you should notice a few new options.
Keep in mind that this multisite installation process just added the ability to create and run completely separate websites with totally unique design, organization, and content. However, you’re able to help manage all of those website settings from one central location from the back end of your original WordPress site. Like magic.
One of the biggest changes that will be immediately apparent is a new Sites option, which enables you to create brand new sites that can each have their own theme and plugin settings. There are far better resources already expanding on themes and highlighting the best themes and plugins.
Another big change is the user roles you might be familiar with. With a multisite network setup, you’re given new permissions of having a Super Admin user who can oversee the entire network, versus the typical Administrator role who can manage everything on one website in your network.
Create your individual websites
After the network is successfully set up, you’ll have access to the new Network Admin area. You’ll have one address already: the main site that the network is installed on.
You can create more sites through Sites > Add New.
Note: To make sure the Multisite Plugin Manager works, you’ll need at least two sites created.
Install some plugins
Next, we’ll need to install some plugins. I’m using the following for my network:
- WP Super Cache, for speed.
- Yoast SEO, for search optimization.
- Wordfence, for security.
- Google Analytics Dashboard for WordPress, for reporting.
And making the following ones optional:
- AddThis, for social sharing.
- Postmatic and Epoch, for commenting.
- Give, for fundraising.
- Disable Comments, for disabling on-page discussions.
How to restricting WordPress plugins at the individual website level
Consider this scenario: You’re building a WordPress Multisite installation for a network of nonprofit organizations. Each organization gets its own website on the network.
Now let’s say one of these organizations is testing out a new website feature, online fundraising, which the WordPress plugin Give will handle.
Because we’re testing this feature out, we don’t want to make it available to all of the sites on the network. We want to roll it out slowly.
So, how do we restrict the plugin so it’s only available to the sites that we specify? Multisite Plugin Manager to the rescue!
Multisite Plugin Manager does exactly as the name implies, helping you manage plugins across a WordPress multisite network. According to their WordPress.org plugin description, you can:
- Select what plugins sites have access to.
- Choose plugins to auto-activate for all new blogs.
- Mass activate/deactivate a plugin on all sites in your network (very handy!).
- Assign special plugin access permissions for specific sites in your network.
- As Super Admin, you can override all these to activate specific plugins on the sites you choose.
- Removes the plugin meta row links (Version, Author, Plugin) and any update messages for blog admins.
So let’s go through the steps, shall we?
Restricting plugin access
So now we have our sites and our plugins. The next step is to figure out which sites should have access to which plugins.
Let’s take a look at network-wide plugin management options. From the Network Admin area, go to Plugins > Plugin Management.
We have a few options with Multisite Plugin Manager.
We can enable plugins across all network sites and we can disable plugins across all network sites.
We can also change the User Control setting, which grants or revokes the ability for users to enable or disable certain plugins.
On my network, I have some conflicting plugins: Postmatic and Epoch are plugins for enabling discussions. Disable Comments, on the other hand, removes discussions. These two plugins shouldn’t overlap.
We also have the Give fundraising plugin, which I only want to enable on a single site.
So how do we do this? The secret is the User Control options.
Configuring User Control options
I don’t want Disable Comments, Postmatic, or Epoch to accidentally be enabled on the same site. I also don’t want Give to be enabled by anyone other than myself, the Super Admin. So I’m going to keep User Control set to “none” for all.
I’m fine with the rest of the plugins being controlled by users, so I’ll set their User Control to “All Users”.
Note: As a Super Admin you won’t see any changes. You can go into the Plugins screen for each site and enable or disable the plugins.
If you log in as a regular Administrator user, however, you’ll notice the difference. The available plugins are entirely dependent on the User Control settings.
WordPress Multisite: One of the easiest ways to manage a network
A WordPress Multisite network setup isn’t for everyone, but it can be a lifesaver for those who need it.
It’s one of the simplest ways to get a network of sites up and running, with completely different styles, run by completely different people, yet all under one house for administration and technical settings.
If you’re looking to manage a network of websites, a WordPress Multisite installation can save you a lot of time.
Image by: emilianofelicissimo via Compfight cc