A couple of weeks ago, the new owner and editor of MasterWP, Rob Howard, stirred up a little hornet’s nest with his piece on whether multisite should be removed from WordPress core. Suffice to say; the response was less than favorable.
I’m not privy to the inner workings at MasterWP, nor Rob’s thought process when he wrote this article. I’d hate to be the one reading the email replies to that week’s newsletter! I’m pretty sure it cost him a few subscribers.
Multisite is not dead
I think it’s worth noting that Rob is also the CEO of Howard Development & Consulting, a WordPress development firm. This probably means Rob’s experience is building single-site solutions for his clients, if I had to guess. He probably rarely needs to create a multisite for reasons other than the things he mentions in his post (multiple sites on a single web server, single sign-on, etc.).
Rob probably doesn’t know that there are many specific use cases where WordPress multisite is not only preferred but often required.
Most folks probably don’t know this, but the official website for the WordPress project runs on multisite. If you’re just a user of WordPress, you might never see this, but anyone who contributes to WordPress knows that each contributor team site is a network subsite. I doubt any folks who use these sites and contribute to WordPress daily would be happy if multisite were deprecated.
Higher education that uses WordPress also relies on multisite. One of my first freelance WordPress projects was a child theme for a university website. Everything from a website on degree programs to student-related directories is an instance of a network subsite. Using a single theme/child theme restricts all sites’ design and layouts to a specific standard. The university web administrator is often not the same person as the IT specialist who manages the servers or network to provide new hosting infrastructure for a new site. However, a multisite admin can spin up a new subsite in seconds, apply the specific requirements to the subsite, and add admins to manage it.
In my years as a WordPress developer, I’ve worked on all different types of multisite, from non-profits using subsites for their various outreach projects, to higher education, to retail franchises that all used multisite because it’s the best option to solve their problems.
That having been said, while I disagree with Rob’s opinion, it did make me stop and think about the multisite experience and how the single-site experience is quite a bit better than the multisite one. I wouldn’t go as far as to say I die a little each time I have to set up a multisite, but it’s certainly no picnic.
Multisite could do with some love
Let me start by saying I love the fact that WordPress has multisite support.
In my early days of blogging, I managed my blog, a blog related to jiu-jitsu, and a site for my “business” persona, all in one multisite. Managing everything in one place was quite pleasant; I logged into one site and simply switched when I needed to manage content on another.
Fast forward to today, and I don’t manage any more multisite for my personal sites. Everything is a single site. And part of the reason for this is the way you have to set up a multisite.
WordPress almost prides itself on the famous five-minute install, but converting a single site install to a multisite install requires reading quite a lengthy 6 point document. Compared to the five-minute install, it also requires some pretty technical knowledge of things like DNS settings, how to edit the `wp-config.php file`, what a `.htaccess` file is, and how to edit it (never mind if you’re hosting on an Nginx web server). While most managed web hosts support configuring multisite out of the box these days, if you aren’t using one of those platforms, you’re on your own. I remember the first time I set up a multisite network, and it was daunting.
The WordPress dashboard can also be confusing the first time you use a multisite. If you’re already used to the single site experience, converting to multisite takes a little getting used to. I used to run a simple multisite network for client staging sites on my old business domain, and I always forgot how to access individual sites from the dashboard after logging in.
WordPress.com does this well. The toolbar makes it super clear which site I’m currently editing, and the Switch Site button makes, well, switching sites very intuitive.
If you are a new WordPress developer dealing with a multisite network, there’s no straightforward way to find information specific to developing for multisite. A section on Multisite on the Developer Resources would go a long way to helping this, or even just a page on what to expect as a developer using Multisite. The Create a Network help doc does have a link for plugin developers, but this is to a Stack Overflow post, linked from the bottom of the page.
The multisite-related internal functions could also do with some love. For example, the function to get the current subsite in a multisite network is `
get_current_blog_id()`. While most experienced multisite developers probably know why this is the case, WordPress tends to advertise itself as a great way to develop websites, not just blogs. As a developer, I might expect to see a `
get_current_site_id()` function (which could just be a wrapper for
get_current_blog_id()) to determine which site I’m currently acting on.
Where to from here
This article is a brief overview of my personal experiences with multisite as a response to Rob’s original opinion. I’m sure that other developers out there have encountered specific hurdles and overcome them in some way. I’d love to see some of those problems raised as issues on trac and some of those solutions implemented.
I’ve even seen some folks advocate that multisite be the default, and if you’re installing WordPress for a single site, it just registers one site. This idea definitely has merit, but I’m not sure if it’s something that would happen any time soon.
Either way, I’m personally glad Rob shared his thoughts and allowed me the opportunity to reply with mine. If nothing else, it got people talking about this often forgotten but widely used WordPress feature.