I recently decided to try experimenting with multi networks for multisite on WordPress. Since I often write my best blog posts while I am learning a new technology, I thought I would go ahead and try to blog about it as I learn it!
What does “Multi Network” mean?
You probably already know that WordPress multisite is a convenient way of hosting many individual websites (or “blogs”) on a single WordPress installation. This in turn means that you can easily host many websites on a single hosting account. With this setup, maintenance and testing are vastly simplified, because you only have one environment to worry about. It also has the potential to save you a lot of money in hosting costs.
“Multi Networks” is another iteration of the multisite concept. The WP Multi Network plugin allows you to set up many multisite installations on the same WordPress installation.
And if your head is not spinning yet, then you probably already knew all about this, because it’s confusing as heck the first time you hear it!
Why Would Anyone Want To Do This?
Setting up a Multi Network could be a particularly useful solution if you are a web developer or an internet entrepreneur pursuing more than one WordPress based business concept or startup.
For example, say you wanted to create a number of social media and/or online dating websites, based on WordPress plugins like BuddyPress or PeepSo.
In this scenario, each user account or profile for your social media website will be a sub-site of one of your multisite installations. For the purpose of this post, I’m going to refer to each of those multisite installations as a “network” from here on.
So you have many networks on a single installation. Each network is a collection of sites. In this example, each site is a user profile for one of your users. You will have various plugins configured differently for each network, so that you can offer different functionality and presentation to your users on different networks.
You already know that each site on a multisite installation can have its own themes enabled. By using a plugin management plugin each of those sites can have different plugins enabled, too. This is very useful in a website hosting scenario. It’s perhaps somewhat less likely to be important in a social media setup (unless you are offering a premium upgrade to certain users so they have access to some functionality or service that is unavailable to the majority of your users).
The thought occurs, I could go on about this at length. I think I’m going to save the specific use case scenario examples for another post. It will be detailed and fun.
My Experience Enabling the Multi Network for WordPress Multisite Plugin the Very First Time
So, I just enabled this plugin in my test environment for the very first time. I was pleased to note how relatively straightforward and painless it was.
Naturally, I forgot to do a couple things the first time through. First of all, you have to remember to park the new domain from the control panel (or on Apache, add a new VirtualHost alias). Secondly, you have to comment out the DOMAIN_CURRENT_SITE constant definition line from your site’s wp-config.php file. Thirdly, and this is the one that really got me, you have to remember to fill in the “Title” field on the “Add New Network” admin page.

There is no textual indication that the Title field is even an input, much less required; but if you accidentally leave it blank as I did, you get a mysterious “Network not created” error message with no further explanation.

So if you are encountering the “Network not created” error, you may have left the title input blank! LOL.
There is an online tutorial that can help walk you through all that.
Anyway, once I got that done, it all worked beautifully!

How Does Multi-Network Handle Network Active Plugins?
I was uncertain how the primary site’s Network Active plugins would be treated by the Multi Network plugin. It was kind of a mystery. I was curious and both hopeful and worried.
As it turns out, when I visited my new network’s admin screen, the only Network Active plugin was the Multi Network plugin itself. (Also, the Must-Use plugins are global, and cannot be disabled by any network.) None of the other network active plugins from my primary site were active in the secondary network installation – but they were all available for use.

Pros
So the good news is, this means you have a tremendous amount of flexibility in your network configuration. Each of your networks can have completely different plugins “Network Active” and completely different settings on each of those Network Active plugins. This gives you a precise level of control.
Cons
The drawback is, if you have any premium plugins that require a paid license key, the key may only work on a single network. (Terms & conditions vary greatly.) In many cases, the premium plugin’s license key will not transfer over to your new network and its new domain. You would then have to buy another license key for each of those premium plugins, for each new network you set up. You may end up deciding to spring for a costly “developer license” to cover a larger number of sites.
Major Limitations
You will need a separate SSL certificate for each Network, obviously; but that’s beyond the scope of this post.
So far, the biggest real limitation that I can see, for using a WordPress Multi Network setup, is structural. You can either have a subdomain setup for all your networks; or you can have a folder-based setup, for all your networks. You cannot have both.
In other words, either all of the networks will have the format
something.mynetwork.tld
or else all of the networks will have the format
mynetwork.tld/something/
You will not be able to mix and match, because this setting is defined in your wp-config.php file, which is the same globally, for every network in your installation.
That’s probably a limitation I can live with.
Conclusion
In conclusion, I am inspired by the potential for Multi Networks for WordPress Multisites, and I can’t wait to experiment some more and eventually launch one of these bad boys into the wild. I’ll keep you posted!
