The below is an abbreviated transcript from Andi’s presentation at Wordcamp Miami 2013. Here’s the presentation itself.
I chose to introduce WordPress multisite for a couple reasons. First, although I’ve been working with WordPress for a very long time, until recently I was afraid of multisite – mostly because of now debunked myths about what it can and cannot do. Sadly, multisite is still trying to shake off the bad reputation of WP-MU – the multisite “plugin” it used to be.
Second, once we started working with multisite, got familiar with the administrative interface, with managing themes and clients and plugins – we were amazed. The power and structure of multisite allows us to do things we couldn’t in that past. It’s a way to offer complex solutions to clients and amaze them as well. And it’s all very, very simple. So don’t be scared. Let’s jump in.
What is WordPress multisite?
Multisite is a capability built into WordPress that allows it to run a network of websites through one installation of WordPress. Multisite allows you to manage several sites that would normally be separate WP installs under the “umbrella” of one WordPress installation.
Each site is installed as a subdomain of the parent site (i.e. subsite.yourdomain.com) or as a sub-directory (www.yourdomain.com/subsite). You can use domain mapping to give each site its own unique domain name (i.e. www.sub-site.com).
But wait! I haven’t seen any “multisite” in my WordPress, and I’ve been everywhere! Well, it’s just not enabled out-of-the-box. We’ll get to that.
Some great examples of multisite installations include bbcamerica.com. This giant WordPress Multisite install is the home for all the BBC America shows. Each site has its own child theme which is powered by the main framework.
Why would you use multisite?
Until recently, I really didn’t know the answer to this question. We work for a lot of clients in a lot of different industries. No projects seemed to need to be a “network” of sites. Until we started working for one particular client who was starting a franchise network within his company. Aha!
Some other great opportunities to use multisite include:
- To enable your customers or clients to set up their own blogs or websites (ala WordPress.com.
- Organization with many branches, locations – these could be businesses, franchises, teams, school districts, non-profits, associations, programs on a station, etc.
- To run a blogging network for SEO or shared content publishing that need oversight in one place.
- To herd your cats – or keep your clients in line by maintaining all of their updates, plugins and themes through your ONE super-admin.
You have access to and control of every single site in the network from one WordPress dashboard. Sub-users are granted control of their specific sites. To them, the rest of the network is effectively invisible.
If it’s so great, why wouldn’t you use multisite?
Multisite is not always the answer.
- If your sites need separate databases, as in the case of secure data (personal, financial, COPPA-compliance, etc).
- If you ever need to ever extract sites or change hosts, it can be a big undertaking.
- If your clients need control and the ability to upload or add their own plugins, make theme changes or access to the files on the server.
- If you don’t know what to do when your site gets attacked by Russian porn hackers, don’t try to run a WP network. If you’re great at keeping everything up to date and know who to call when things go wrong, go for it. There are some great security plugins out there that will force you and your users to act safely, even if you’re not great at it yourself. Just use them.
Multisite is a maintenance life-saver, but it does require more setup and more technical background. Definitely not for someone just getting WordPress.
So what are the benefits of multisite?
There are some great reasons to look into using multisite versus installing dozens of separate WordPress sites.
- One WordPress install, one hosting account to manage, one place to upgrade the platform and all plugins, one uniquely branded environment (if you’re the sort that likes to brand the admin, login screens, stuff like that).
- You, as the super-admin, can see and virtually control everything that happens on your network – or you can pass of that fun to your client who wants that level of control (i.e. brand manager, franchise owner, blog dominatrix, whatever)
- Reduce plugin fatigue and save yourself from plugin mayhem. How many times have you handed over a site to a client, only to be called back to fix something a few months later to find they’ve installed 30, 40 even 60 plugins? 90% of them are disabled but they’re there, sitting ducks for security breaches.
- Updates! Always know that your clients are using the most secure, up-to-date versions of WordPress and their plugins available because you update them – multisite is a maintenance life-saver!
Let’s get started then, shall we?
First and foremost, I want you to think long and hard about your hosting situation. You don’t want to be setting up a multisite installation that you think might at some point hold hundreds of sites on a shared host. You need to consider scalability and growth implications before you set up your sites. Because each site will (most likely) have it’s own domain mapped to it, moving the entire installation at a later date is going to be incredibly difficult. So choose wisely.
Now let’s get multisite enabled.
- Edit your wp-config.php file to include the following:
- Set up your network under Tools > Network Settings
- Most of the questions here are self-explanatory if you’re familiar with WordPress, but pay special attention to: Directories vs Subdomains.
- Subdomains: Make sure your hosting company allows “wildcard domains” on your account for this to work. I like to use subdomains when I’m setting up sites that will eventually have their own domain mapped to them anyway. Sub-domains look like “subsite.yourdomain.com.”
- Directories mean that the sub-sites on your domain will live in the a place like “yourdomain.com/subsite.” Also fine, and works really well for multisite being used for locations or branches of a single business, when they only want to use one top-level domain.
No matter which you choose, you can configure each site to use it’s own domain using a Domain Mapping plugin later, but it’s near impossible to have to change this approach later. So choose wisely.
You now have not just one, but TWO admins!
The regular /wp-admin is where you’ll go to do all of the things you’re used to doing in a WordPress admin. You’ll manage the content of the main (root) website, you’ll enable plugins and themes, you’ll add Pages and Posts.
You now also have access to a Super-Admin, where you can manage your entire network. You can create sites, upload plugins and activate them across the entire network, upload themes and assign them to your sites – anything and everything. This is where the magic happens.
- Manage sites
You can now add new sites using a form in the Super Admin that looks very similar to creating any other new thing in WordPress. Simply visit Sites > Add New and you can create a new website in seconds. To edit sites, simply hover their information in the list to view the ‘Edit’ link (or click their name) and you can manage the site’s settings – like which users have access to the site, which themes are enabled for it, and whether or not it’s available to the public or listed as private.
- Manage themes
The big questions I had as a noob were in managing plugins and themes – both of which I thought would be unnecessarily restrictive or impossible. Themes are *really* easy, by default, but a bit counterintuitive if you’re used to WordPress.You’re not going to do much from the Themes tab in your Super-Admin except to perhaps upload a theme and to decide whether or not the themes you’ve uploaded should be available to the entire network. In our case, we do custom design so we don’t usually make themes available to everyone. In that case, we upload themes, but then go to Sites > Edit Site to enable a specific theme for just this site.
- Manage Plugins
Plugins are managed much like themes, but off-the-shelf you aren’t able to specify which sites can access which plugins. It’s either Enable for Network or not. We use a plugin called Multisite Plugin Manager that allows us granular, site-specific plugin management capabilities. There are others out there too, and Google can help you there, but start with WPMU.org. Great multisite plugins.
And what about Updates?
Updates are the best part of multisite, by far. Just click “Network Update” under your Tools and you can update plugins, themes and even the WordPress platform for every user in your list. One click. Done.
So what’s left?
Just get out there and build something!
Set up a preview site and enable multisite. Start exploring the plugins available that can help you extend multisite to do so, so much more than you’d ever imagined. Play with it – the same way you learned WordPress!