Don’t Use WordPress MultiSite

I talked about this at WordCamp SF 2013. Check out my slides or watch the video.

I love MultiSite. I think it’s awesome and very helpful when you want to make a network of sites. But more and more I see people doing things where I just tilt my head and wonder why they’re using MultiSite for that particular use-case.  People seem to think that simply because they can use MultiSite that they should use it, and this simply is not the case!

MultiSite, either by intention or effect, works best when you think of it as running your very own version of WordPress.com.  You have a network of sites that are disconnected from each other, data wise, but share the same available user base.  That means the only ‘information’ that is shared between two sites is your user ID, and even then, unless you’re explicitly granted access to the site, you’re nothing more than a subscriber.  Which is to say you can read the site, and comment. 1  That means that while there are many perfectly valid reasons for having a MultiSite, it will never be a perfect solution for all people.

One of the best alternatives to MultiSite is Custom Post Types.  They let you make ‘subfolder’ additions to your site and format them as you want.  There is a drawback, though, in that you cannot use YYYY/MM/DD in your permalinks for them 2 however I would wonder why people use that anyway these days?  The only reason I use YYYY in my URLs is that I believe there’s a date on the usefulness of these posts, and if you come back in five years, you should know how old the information is.

Another alternative is good planning.  If you sit down and define your needs for your site before you build it out, and plan for the growth you desire, a lot of things become clear.  Think about how many different places you’d want to go to maintain your site.

Here are some examples of sites that should not be built out as MultiSites:

To Categorize Posts

File CabinetThis one comes from my girl, Andrea, who reminded me of a fellow we ran into who wanted to have one site to post from, and each post would go to a special site based on the category.  WordPress already has that built in!  It’s called, get this, ‘categories.’  Now the user in question said he didn’t want categories because your URL shows up as /category/pemalink, and that wasn’t his desire.  So I suggested Custom Post Types.  /posttype/name was much better, and he could add in tags as he wanted.

When Your Site is Homogenous

Do you want your whole network to look and feel 100% the same?  Don’t use MultiSite.  If every single subsite is going to be exactly the same, except for content, but the content is all written the same way, you don’t need MultiSite.  Replicating the theme and settings on every subsite is a pain, and you can achieve the same result with categories, tags and CPTs.  You can even use a membership plugin to control who sees, and has access to, each CPT! 3

Now someone will point out that this site fails that check!  If you notice, three (four, kind of) of the sites look very similar. Same general layout, same links and sidebars, but different headers.  This site could have all been done as categories and CPTs, and not needed the multisite until I hit on the children sites like the one for my grandmother.  But.  When I built it out, I decided to put my tech posts on their own page to separate the writing.  They are separate sites.  What I write here is vastly different from my blog, and that’s important to me.  The site has the same ‘feel’ in look alone: the context is what separates us. 4

For One Special ‘Thing’

I’m guilty of this one.  I had a site that was a blog, and I wanted to make a ‘video’ section.  So I made a MultiSite!  Boy was that dumb.  Two admin areas, two sections for layout, and I wanted the site to still look like ‘itself.’  I caught a clue later on and converted the whole thing to Custom Post Types!  Much easier to maintain!  Now I have a smaller, faster, site.

Users Shouldn’t Know About Each Other (AKA Separate User Databases)

Andrew Norcross pointed this out.  If you need users to be on different sites, but not aware that they’re on a network, don’t use MultiSite!  Now, yes, there are ways around this, however it’s an auditing nightmare for any large company, and a security risk that you should be aware of before you start.

Hidden UserCurtiss Grymala points out that if you need totally separate user databases, this is a strong case against MultiSite.  Be it for security or just obscurity, if the users need to be separated  don’t do it.  There are workarounds, but you’ll spend more time on that then updating your sites.

Hosting Small Client Sites

I don’t host my Dad’s site, Woody.com, even though I maintain it.  Why?  Because, as

Cristian Antohe said, he just needs a standalone WP install.  Would it be easier for me to have one place to go to upgrade him?  Yes and no.  He’s small, he doesn’t need a lot, and he now owns his domain, his site and his email, all in one place.  It costs him $7 a month, plus the number of meals he buys me when we’re in town together, and he’s master of his own domain.  This is great for him, because if he fires me, he still has everything.  Also, if he does something weird that spikes his traffic 500% (like last month), it doesn’t affect the rest of my sites.  Factor that into your budget.  Make your client own their own data.

Users Need To Embed JS Into Posts

This is not a bug, people.  Only the Super Admin on a MultiSite install has the access to include iframes, javascript, and other non-oEmbed’d data into posts! You don’t want them to!  If you’re running a MultiSite, you’re the big dog, and you’re responsible for limiting their actions to things that won’t take down everyone becuase they don’t understand what an insecure iframe hack is.  Yes, there’s a plugin that will let you allow this.  No, I won’t tell you what it us, because unless you’re using a 100% locked down, you approve users you know and trust with your car, site, you do not want to open this door.

If you can’t give them they access they need via shortcodes, then they need to host themselves, or you host them separately.  Protect everyone on your network, and don’t give them unregulated access.

Users Need To Install Themes/Plugins

Curtiss again reminded me that MultiSite doesn’t let you let your users install themes and plugins as they want.  You can, via the use of clever themes that save settings per site (like TwentyEleven) and plugins that allow you to tweak CSS (like WordPress.com Custom CSS) give them more customization, but you cannot give them access to install plugins and themes.  Why?  Because those things will be available to everyone on the whole Network. 5  Remember, we’re sharing here!

Same Post, Every Site

I keep running into this one.  “I want to have the same post pushed to every single site on my network!”  I understand why people do this, I just think they’re doing it wrong.  It’s not just that MutliSite is meant to be separate (aka individual) sites, it’s that you’re diluting your content.  The more different places someone can go to in order to get the information you’re providing, they less impact you have because you’ve given them too many options.  Decisions.  Make one. Also, as Andrea reminded me, identical content in multiple places is something spammers do. Google will downgrade your site ranking if you do this. 6

Mimeograph (copy)Now, one user said he needed to do this as a business decision, because each of his (mapped) domains was a separate brand.  But the separate brands had shared data.  So … they’re not actually separate, but children.  Me?  I’d have everything link the shared data back to the master brand.  McDonalds may sub-brand out happymeal.com (they did!) and make a whole separate site, but if you click on their ‘Privacy’ link, you go back to macdonalds.com!  Why?  Because the parent brand is where that stuff belongs.

BuddyPress Separation

This comes from Andrea again.  If you need to have totally separate BuddyPress installs, use separate installs entirely.  Just … y’know, you can do it other ways, but it’s not worth it.

What else?

This list could go on and on, so jump in and tell me your reasons why you’d never use MultiSite!

Notes:

  1. You could get nitpicky here and point out that there are a lot more things one can do as a subscriber on a site, but you understand the gist.
  2. Otto on Custom Post Types – wp-testers email list
  3. Role Scoper claims to do this, in fact.
  4. And I have a plan for the photo blog.
  5. There are plugins to manage plugins more granularly, and only permit some sites to use certain plugins, but again, this isn’t something everyone on your network should have access to do.
  6. This doesn’t impact categories, tags and archives because of the use of canonical links.
StudioPress Theme of the Month

Comments

  1. One reason TO use it that I think a lot of people don’t realize is for development use. In my case, I have MultiSite installed on my dev server for client work. When I need to start a new theme for a client, I just add a new site. This way, I can have as many (within reason of course) sites as I need without the overhead (in disk space) of multiple standalone WP installs.

    • On the other hand, right now copying any widgets from your home-Multisite to the end user’s single site is a bear. You need to know to copy out the wp_x_options table and rename everything. That one is enough of a split decision to leave it alone (especially since IIRC exporting widgets and menus is on someone’s to-do list). :twisted:

    • This is true, however, since I’m usually the one migrating the site from my MS install to the client’s standalone install, I just work transferring any widget settings into my migration workflow…but in general, I don’t usually use widgets on the dev side of things unless there’s a specific need for it (a specially-styled widget or something like that).

    • Sounds like you’re following my alternative of ‘Good Planning’! You’re thinking about all this before you go! :lol:

    • IIRC, when you export from WordPress (using Tools -> Export), as long as you choose to export everything, menus and widgets are actually included in the export.

      However, you need to make sure you have the correct theme installed and set up before you perform the import on the new site. Otherwise, WordPress won’t know where to put those widgets and menus, so it will ignore them.

      I’ve done this a handful of times when developing sites.

    • Curt, not that I’m aware of. Menus and widgets never get ported over…

    • I just tested importing/exporting from one subsite to another and menus came over just fine, but widgets did not. I checked and I was using the same theme on both sites.

      Probably better off using WP Replicator ( http://wpebooks.com/replicator/ ) to duplicate sites or looks like BackupBuddy now works with multisite and can do some cool stuff like migrating sites into multisites and multisites into multisites… crazy stuff.

    • Menus … must fall under post-types, then, and get grouped that way. Hah. That would make sense.

      Replicator is awesome, but that’s only going to help duplicating inside a single Network. That won’t help you move from network A to single site B.

    • Ya, network A to single site B. Looks like BackupBuddy ( http://pluginbuddy.com/purchase/backupbuddy/ ) can do that now. If it does in fact work good, I wish I had that months ago when I was migrating 20 single sites into a multisite! :P

    • To be fair, I don’t think backupbuddy had MultiSite support at all months ago :lol: … Though I may be confusing that with VaultPress.

      You could do the standard import/export dance, and then copy over wp_X_options to your single site, rename it wp_options, and see how that goes. I know of some people who’ve done it and they didn’t complain.

    • Ya, multisite support for backupbuddy is new. I just wish it was there months ago. ;) I plan on testing it out for the migration feature alone. The backing up feature seems cool, but right now I use rsync to rackspace which saves a ton on server resources. With backupbuddy it appears you do an entire site copy each time. Anywho, getting off topic, will search ipstenu.org for a wordpress backup post… not sure you’ve done one??? maybe you have.

    • I don’t (think I) have a backup post, since my methodology is directly related to running a VPS and multiple domains. WHM runs a nightly backup of the whole server. DBs and user folders are zipped and tar’d and duplicated off-site. Plus my host does crazy good backups.

  2. I was thinking on having all my ‘small’ clients (think 5-10 page sites) on a MultiSite setup because of security and update reasons. I can easily access the whole thing, update a plugin like ContactForm 7 or whatever, and have them all happy. Since none of them often update their site, none of ‘em have admin control. Sometimes they edit a price, an address etc. or add some images.. Plus, I can have a ‘real live’ staging environment domainname.mymulti.com, w/o the site being live and link the real domainname on launch..

    Good idea ? I still think it is..

    • It might be, but consider the points above. If you ‘own’ their domain, that is it’s pointed to you, and they need their own email, you have to set something up for them, and now you’re a fullblown webmaster. Do you want to remain responsible for that level of data?

      It’s a case where I would say yes, but I think it could go either way depending on the content of their site (like if one’s a girlie magazine type site).

    • True..
      I don’t own their domain, I register it for them on their name (they have the license), I’m their technical contact so I point nameserver records to my server. I have to do that too if I have separate installs btw..

      Mail is indeed tricky.. and something you should always keep in mind (everyone who ever transferred a site got a phone call “I didn’t receive mail for the last two days..” I guess ;) ..)
      Is of course configurable and all.. but indeed, a valid point that exceeds the simple webdesigner.. but I’m used to clients asking me “everything”.. I do stay away from their printer though ;)

    • If the domain points to your server, you ‘own’ the domain, in practical terms. Personally, I think it’s okay to say ‘no’ to people who want more tech support than you can give. If you’re a designer, stay the hell out of being a webhost.

    • I’d second staying away from being a webhost. Speaking from experience of having to maintain a VPS for my clients. As for email, I have email services completely shut off on my server for a couple reasons. 1. Email eats up a lot of service resources. 2. I don’t want to manage email accounts/lock outs/storage problems/recovery/etc.

      So I usually just set up Google Apps accounts for clients if they want email with their domain. I used to go with the free (standard) account, but now try to push them toward the paid business account. That way it’s supported by Google.

  3. Hey. Great article! I’d be very interested to know what your thoughts are on this “multisite rationale” I wrote up for my own project, as a pitch of sorts to the rest of the team for consideration:
    http://bit.ly/oF4Ysx

    I’d welcome your argumentation against my rationale.

    • That falls under a use-case similar (ish) to this very site :evil:

      It would really be one of the times I’d say “Yes, MultiSite would be beneficial to your process, and speed up support.” You want integrated users, a social community, and as few places to update as possible. I don’t see any major flaws in that, you’ve looked at the angles thoughtfully and you have an idea of your growth plan! That’s well done.

      The load difference between 6-10 single sites and 1 multisite with 10 subsites is minimal, at best. Domain mapping makes it appear slower, but that’s about it.

    • Thanks a lot for the feedback! Feel free to copy from or point to that writeup if you want to write a counterpost to this one, i.e. “when to use multisite”.

    • Done. :lol:

    • And, just to keep the ball rolling, how about a “When (not) to use Buddypress” post? :?:

    • I’ll see what I can do ;) BuddyPress is a lot more obvious though.

      (except… I have seen a lot of people saying ‘I want special profiles! BuddyPress!’)

  4. Love the article but have very serious question.

    I have a Network of radio stations hubs.
    Philadedlphianightoutradio.org
    bostonnightoutradio.org

    each hub would have its own users per say they could log into different city radio stations.
    I need each hub to have an admin that runs the site so admin access for each.
    But I want the overall brand to look the same.
    So the main nav would look the same and the side menues but they would all lead to content that was unique to the site.
    And here is the kicker when I make a change to the site or add a feature how can I add it to all. The shared plugin things is a real proponent for mulitsite. but why not thebe able to share information as well like static content. Buttons and such?
    Sorry I have been up too late and looking at too many systems.

    Maxx Fairo
    Nightoutradio.org

    • The shared plugin things is a real proponent for mulitsite. but why not thebe able to share information as well like static content. Buttons and such?

      You can do a shared navigation bar between sites, you know. My homegirl Andrea has a plugin called Network Wide Menus: http://wpmututorials.com/plugins/networkwide-menu/

      Now, you are pointing out another fringe case. This is a good reason to use MultiSite (same as Erlend’s), but it’s something you need to think about reasonably and understand the built in limitations before you get too far down the rabbit hole. Using that Menu Plugin and the same theme on ever site, you could actually do it all the ‘old school’ way and hard code in sidebars etc. Instead of using the widgets, you’d be controlling it via the theme.

      But why not share STATIC content?

      Duplicating static content that is identical will dilute your brand. Not just in SEO, but to your readers. Make it clear that ‘mycoolradio.com’ owns these subsites, just like McDonalds does. It gives your parent brand more ooph, and it tells investors “Hey, these people know to run a business.”

  5. The main reason I recommend people don’t touch multi-site is because they are not aware of the security implications of it.

    If one site gets hacked, they ALL get hacked. And judging by the propensity for some (most) muppets to just willy nilly include plugins and themes galore without auditing the code there is a very real risk that they’ll eventually have their entire network taken down.

    They also need to be aware that by allowing users to act as an administrator on a WordPress install which has many other sites running on it, that they need to ensure that those users aren’t going to attempt to hack the other sites on the network. Many (and I mean a LOT) of WordPress plugins do a piss poor job of securing themselves against cross-site attacks on multi-site networks.

    I run nearly all my websites on a multi-site network (eventually it will be all), but I’m incredibly anal about what code I run on there. I’m so anal about limiting the code that I run on it, that I’m even only running one theme on it (albeit one which can look like anything I want it to).

  6. I should clarify here that I have to be uber anal about this stuff as I’m intending to allow totally untrusted users access to my network.

    • I only allow uber-trusted people to be on my network (like the woman I live with :evil: ) but if I was running an open MultiSite, the amount of plugin interrogation I would go through…

  7. Hello!

    There is another situation I’d love to hear your opinion on…

    I’m working on a multi-language website for a small travel agency selling mostly walks and small tours. I’m planing to use MultiSite for two main reasons:

    1) So I don’t have to deal with the WPML plugin
    2) So I can manage and promote each language content and offer as independently as possible
    3) To avoid any possible conflicts between WPML and TourCMS (the SaaS web booking solution I’ll be integrating on the website)

    But… I’m having sooooo much trouble installing MultiSite locally on my Mac that I’m wondering if it wouldn’t be wiser to go for a single WP installation with the multi-language plugin.

    Any insights, anyone?

    Thanking you in advance…

    • I think MultiSite would work here, but if you’re having trouble installing it locally, maybe not. MultiLanguage has always been a good reason for a network.

  8. Thanks!

    Goos news, then, I guess. At least my rationale was good… Not bad for a beginner.

    As for the technical skills… I’ve looked and tried every single tutorial and forum thread that I could find but there is always something that doesn’t seem to work.

    Is there someone I can get help from on setting up a local WP network on a Mac?

    I wouldn’t like to drop a good idea for technical incompetence…

    Thanks again for your time!

  9. Well I am noticing that there isnt really a great system for profiles for multisite. Buddypress but I cant stand the way the profiles look. Any other suggestions out there.
    I am becoming a proponent for the Multi Site. But can see how easy it is to get carried away with. Control and simplicity is the key.

    Maxx
    nightoutradio

    • Are there good profile systems for Single Site? There are a lot of profile related plugins and it all depends on what you want.

    • Well we are talking about Multisite? I have typed in every variation of search parameter– profile, online community, social network into the wordpress.org/ google /magic eightball.LOL

      So I have as of today broke down and intergrated buddypress into my system for mulitsite. But it comes with many features but also many headaches as well. GRR…Ad these headaches to the multisite platform and yeah TUMOR here I come…
      Maxx

    • BIG super secrets time! :evil:

      MultiSite profiles are shared across all sites on your network. Also, a surprisingly (to some) high number of plugins work on MultiSite without any changes. Ergo … there’s a very high likelihood that there already exists a plugin that does what you want!

      http://wordpress.org/extend/plugins/cimy-user-extra-fields/ works.

  10. The entire thing is confusing. I have 4 WP applications that are intended to be used as a single community site. (ie: Main site/blog, Directory, Classifieds, etc) and having members sign in at each one diminishes the user experience. I assumed multisite would be the application of choice, but as I research the good/bad of it, I’m getting more horrified by the minute.

    • That’s why, no matter what tool you use, it’s crucial to understand what you want before you jump in. FWIW, you generally don’t have to log in to each site. If you’re using subfolder or subdomain (and not domain mapping), you can just log in once and you’re logged in to every site on the network that you have access to.

    • So then, for my purpose of making a “community” site, multisite is ideal? Or is there a way of having a common login for individual subdirectory sites without going to multisite?

    • I think there are very few situations in which using a multi-site install would be ideal for a community site. Normally you are better off using a single installation and making use of categories, custom taxonomies, custom post-types etc.

    • Multisite is ideal if your community needs separate blogs.

      If they don’t, I’d just do what Ryan said :)

    • Bob, Ipstenu is correct, but be aware that if you literally just want to display a bunch of posts specific to one topic on a separate section of your community site, that you could also achieve that by simply using a tag or category and dumping posts from them into a static page. That would segment off various chunks of your site into what would effectively be separate blogs, but keep them all under the same roof, same logins, same everything in a nice seamless fashion.

      Multi-site is awesome; I use it myself and love it. But it’s very important to make sure you don’t open a can of worms you then need to maintain and deal with later on.

  11. Ryan, agreed, but in this case, the Directory site and the Classifieds site are using different Themes (PremiumPress) that pretty much dictate separate sites.

    So I assume then, if I go multisite, the user database is shared and the login will be singular.

    If I am logged into one site, does the second site then automatically recognize me as logged in? It should I guess.

    • You can style various parts of a site entirely differently from each other via a single theme. No need for two different themes for that.

      If you want to use off the shelf themes, then that could be a problem. But if you are getting your hands dirty and writing them yourself then separate themes are not needed.

    • Forgot to reply to your actual question:

      Yes, if you are logged in on one site, it will keep you logged in on any other ones you may be a member of.

      For security reasons I recommend having an “Admin” login and a separate “Super Admin” login. That way you don’t need to stay logged in as the super admin all the time which is theoretically more of a security risk. Having said that, I don’t practice what I preach and still just login as a super admin all the time :P I keep meaning to change that habit though.

      If you are wanting to use data collated from across all your sites you may run into some problems. Things which are trivial in a single install and can become a real pain in the butt when you need to grab data across an entire network and collate it. Things like site-wide menus etc. all become really annoying. There are lots of plugins available, but you need to be careful of them as some really suck quite badly.

      Tip: All of the best multi-site specific plugins are free and all of the worst ones I’ve seen cost money. It sounds counter-intuitive but it is very true.

      I specifically look for anything made by the Rennicks or Automattic. Everything they release is top-notch.

      Many plugins which claim to be “multi-site compatible” often are not. They’ll kinda work, but will be a bit janky and not really do things as you would expect. Multi-site support is often an after thought and when the developers don’t use multi-site themselves they often don’t realise how their plugins should be built. For your purposes, you probably won’t mind some of the deficiencies but I thought I’d point it out just to keep you informed :)

    • First, thanks for the help.

      No, I’m not up to the task of getting too dirty and the Themes from PremiumPress don’t allow it regardless. I’ll do some CSS work on each to make them look similar, but that’s the extent of it.

      By the way, I’ve already set the sites up. I assume I can migrate them to a multisite setup, or would I be better off starting from scratch with the subdirectories (no data or anything is there yet)?

      Did I mention that this whole thing terrifies me? :???:

    • I didn’t know what PremiumPress was, so I googled them. It doesn’t strike me as particularly promising when they consistently misspell WordPress on their site!

      I wouldn’t worry too much. It sounds like you are wanting something pretty basic, particularly if you are happy to do it as a sub-folder setup as it’s much easier that way since there’s no need to muck aroud trying to setup wildcard sub-domains.

      Migrating content is trivial as you can just shunt it over via the built in importer/exporter in WordPress. If you want to move everything over, theme, plugins, settings and all, you could check out the latest version of BackupBuddy which can apparently do that quite well. I haven’t tried it, but I’ve heard good reports.

  12. PremiumPress’s themes actually work very well, even if they’re illiterate :).

    I’ve been hesitant to buy into BackupBuddy because I just didn’t want another yearly bill, but I agree, in every forum they note how it enables migration, so I’m gonna go for it.

    Armed with your information and a bottle of xanax, I’m going to plod through it now.
    Thanks for the help

    • You don’t need pay a yearly fee for BackupBuddy. You just pay once, migrate your sites and yer done.

    • At first blush, all of these Premium plugins seem that way, but when you consider that they only give you 1 year of updates and support, and you know they’ll have to update it periodically, you essentially have to buy it again after the 1 year period. So it’s a yearly membership. Unlike purchasing software, where you can still operate the program for years if you don’t need the new features, with WP, you update or die!

    • Many ‘premium’ plugins are worth it. Anything by the Rennicks is something I’d pay for, personally. But I’ve never been sold on the usefulness of, say, WPMUDev’s stuff.

    • Let me know how it goes! I’m interested to see how it works with MultiSite.

    • I’m with you on the WPMU stuff, although I like the site and their blog.

      Simply tune into your local news station and watch for the reports on “Florida Man Kills Himself Over WordPress Debacle”. That’ll be me.

    • By the way Ipstenu, would you recommend any site as the best guide for going multisite?

    • It’s really so easy I don’t think about needing a guide, but if you were to grab one of the guides from WP eBooks, they’re worth the price :) And they come with good support!

    • Took a test site and set it up in 10 minutes. Easy as pie. Themes are all accessible. Login seems to be a common login. Going to give it a try on my real site now. Pretty easy when there is no migration involved.

    • OK, Thanks again. I’m hooked now. It was simple and now that I have it working it seems so logical. No doubt I’ll figure out later what’s wrong with it, but for now, I’m setting up another group on multisite.

      The one I just finished is http://vetinformed.com

      And again, thanks for the help.

  13. I tried using multi-site for our school site, because each division wanted it’s own site and certain “look” that fell under the parent look, but I quickly realized none of the sites connected together. It would of been ideal otherwise, each instructor could have had their own login to manipulate the site as they pleased, but we needed content to be searchable network wide and it isn’t built that way…so in the end, we ended up scrapping the whole idea. So in question, since nothing really connects together other than a username and perhaps a master theme (if even that), I really don’t get what multi-site is for.

Trackbacks

Half-Elf? Try Half OFF WordPress ebooks!