Many times people complain that WordPress isn’t ‘complete’ because it doesn’t have the features they feel are indispensable. While explaining, and educating, to people that they can’t always get what they want out of core is often fruitless, the point remains that WordPress cannot, and should not, do everything. That’s a part of a longer post, but once you are willing to accept the fact that WordPress will never be everything to everyone, we can move forward.
There are practical reasons why Multisite doesn’t do everything people envision, and there are also some weird impractical reasons. Sometimes the answer to this is a very simple one, sometimes it’s confusing, and sometimes it’s technical. But there are reasons, even though we don’t like them, and over time they change or go away as issues are resolved.
Here’s a list of the common questions I get and their answers.
Why can’t I manage everything about all sites from the network admin?
It would slow your site down. You’ve probably heard me say something like “WordPress Multisite was intended to be multiple separate sites managed by one install of the WordPress files.” When I say that, I don’t mean ‘managed’ the way some people envision managed. When I say ‘managed’ what I mean is “You manage your network settings from the network dashboard, and you manage your per-site settings from the per-site dashboard.”
Not every site has the same settings, anyway. The point being, if WP had to query every site for every setting (like all your comments), it would get really really slow when you have 11k comments on your blogs. And you’d be mad.
Why can’t I set all defaults from the network?
Oh you want them to be all the same? I’m not sure you should be using Multisite, but since you are, this one is annoying.
In normal WordPress, you shove everything into wp_options
and call it a day. On Multisite you have an options table per site, so wp_2_options
and so on, but you also have wp_sitemeta
. Some settings and plugins have been coded in a way to fall back, so it grabs defaults from that table. But. Not everything has been, because there’s a tacit assumption they don’t need to be.
Now there are plugins that will let you force in defaults on new site creation, but given that every single site admin can go in and change them, it would defeat the point. They’ll just change them! Thankfully, it’s a growing trend for plugins to include a Network Admin Settings page, where you can determine how to control things for your network. But that’s only going to be for things like caching and probably Jetpack. Not ecommerce. Yet.
Why can’t I share media?
Because media is content and content is per-site.
There’s a plugin called Network Shared Media which purports to being able to do this, but by it’s nature, content is sacrosanct and separate.
Why are usernames using characters like – . _ are not allowed?
Because they’re not permitted in subdomain URLs and since the blog URL is generated from your login name, it’s not allowed. The site admin can do it from the back end, though. This is highly imperfect, and perhaps should be changed (so maybe we could also have less than four characters in a name, which not even an admin can fix). The logic to do the detection would be a pill though, and you’d still want to do it on things like a mapped domain.
Why can’t I just map a domain!?
That’s being worked on. Eventually WP will have that superpower.
Actually that brings me to the biggest reason why Multisite can’t… It’s not that it can’t, it’s that it probably shouldn’t, or it will be able to do so eventually. If you consider what the original intent of Multisite was, much becomes clear. Open Source Development doesn’t move at your pace, not even if you’re Matt Mullenweg. It moves at the pace of everyone involved in the coding and testing, and it moves at the pace of their ability to innovate. That means sometimes what you want isn’t there yet because it’s not easy, or because it’s not ready, or maybe because no one agrees with you right now that it’s a priority.
After all, sometimes we’re wrong about Open Source Developmen.
Comments
7 responses to “Why Can’t Multisite…”
You made some good points about what Multisite can do and what not.
May I ask 2 very specific questions?
1. When I hit the “Update Network” Button in the network backend (as superadmin) after a plugin, theme or core update – what happens then exactly in WordPress? Which information is updated in the subblogs and how?
2. I use the automatic update function in the background and want to know, if this function also executes the “Update Network” process, mentioned in my first question? Does the automatic update function recognize “oh, it’s a Multisite – I have to update all subblogs too”?
@Lars Mielke: Update network runs any of the DB changes that have to happen. Usually this is just as simple as updating the db_version in wp_x_options.
Auto-update does NOT run that for you on Multisite nor on Single Site. When you log in for the first time, it’ll tell you the DB needs updating (single site) or “Congrats! Run network update!” (multisite).
@Ipstenu (Mika Epstein):
Aha.
That brings me to another question.
What could happen to my Multisite (and especially the subblogs), if I don’t update the entire network? Any consequences that break the site?
So, I always update the network after an upgrade … but, I just want to know …
@Lars Mielke: Worst case? You break the site because of a rare DB change.
@Ipstenu (Mika Epstein):
hm.
And when should I network update? After every plugin- or theme-update or only after wordpress updates?
@Lars Mielke: Only after core. You HAVE noticed it only asks you to do that sometimes, right? When it says “Hey, update me bro!” you update 🙂 The rest of the time, trust your tool.
Stop and think about what you asked 🙂 Does WP prompt you to update the network? No? Don’t do it 🙂 I promise it’s that simple. I often ask myself the question aloud, and if I feel like capt. obvious, then I know the answer already 😀
@Ipstenu (Mika Epstein):
If I would do, what seems to me “obvious” … then my site would have been broken years before xD
Would be a great idea, to write all these useful mind snippets down!