Being a theme or plugin developer is a tough gig. Between WordPress updates, bug fixes, PHP version incompatibilities, and customer support, you have a lot to deal with. And donβt forget about the bunches of potential users who ask,Β is this Multisite compatible?Β Β Itβs a pretty common question, and it may not be something every dev has considered.Β So I wanted to dig a bit deeper into WordPress Multisite development, and specifically, when you should factor Multisite installations into your development process.
Why Build for Multisite?
Hereβs the thing. When youβre installing WordPress and building websites, when you ask yourself should I build for WordPress Multisite?,Β the answer is going to be no far more than it will beΒ yes. The situation flips, though, if you are in plugin and theme development. Maura Teal discusses some of the reasons why in her WordCamp San Diego talkΒ calledΒ Why Good Developers Donβt Ignore Multisite.Β Take a guess at what point sheβs trying to make.
You can check out our total overview of what Multisite is, but the basic gist of it is this:Β one WordPress installation powers a network of sites. WordPress.com is actually an example of this in practice.
Itβs a really cool feature, and Maura Teal is right β you shouldnβt ignore it. However, if you want your plugin or theme to work with it, you need to put in some special effort. See, Multisite installs share a database, and some tables in that database are shared between sites (for example, usermeta), while others arenβt. You may also run into be major issues with network-wide activation, table creation, plugin deactivation, and a few other speed bumps.
Soβ¦why should you actually take the time to sort through those issues?
Well, first offβ¦
Plenty of People Ask For Multisite Compatibility
Really. It may notΒ be the default setting, but people use it. A lot. InΒ an episode of WP Water Cooler, the panel discusses what you should do after launching a WordPress plugin. As part of that discussion, they talked about common support issues and feature requests.
Translation was the first one they mentioned. WordPress is mega-global, right? But after thatβ¦Multisite compatibility was the next issue to pop up. And it doesnβt just pop up in podcast episodes with developers. The question is plastered all overΒ the WordPress.org support forums.

Yes, most WordPress installs are single-site installations. But there are plenty of WordPress Multisite users out there, and those webmasters want multisite plugins and themes that play nice with their versions of WP.

Itβs Not That Hard Ifβ¦
In that same WP Water Cooler talk, Jon Brown from 9Seeds talked about the biggest reason to develop for Multisite:Β Itβs not that difficult if you code for it from the beginning.
That is, if you test on a Multisite environment, and you code with Multisite compatibility in mind, then itβs not actually that much extra work. Most of the realΒ workΒ that you have to do is really just following best practices. It may add a little onto your overall timeline,Β but itβs not going to double your development time or anything that drastic.
Adding Multisite Compatibility Later, Thoughβ¦
This is where you can get into a sticky situation. Adding Multisite compatibility from the start isnβt that difficult since you can plan for it. Going back into your codebase after the fact and trying to add in Multisite compatibility is going to involve unraveling a lot of spaghetti code.
Letβs say you ignore Multisite compatibility because you want to get a plugin up and running as quickly as possible. What happens if your plugin becomes a smashing success? Thatβs great! Congratulations! Now the support tickets start rolling in, youβre getting lots of comments and questions regarding Multisite, and if you say noβ¦thatβs a lot of lost customers, revenue, and honestly brand loyalty. Because you either ignore those people and keep on keeping on. Or you can try to go back in and try to retrofit everything.
Neither solution is particularly appealing.
Specific Issues to Consider When Building for WordPress Multisite
So letβs say youβre convinced to start developing for Multisite. What does that actually entail, though?
While this is very much not a comprehensive list, these are some of the bigger issues to consider when planning out your development.
By the way, there can be a lot of code involved with sorting out Multisite vs single-site development, and there are people who have some fantastic examples already. You should totally check them out. These are a handful of the great resources I recommend checking out.
- ShibaShakeβsΒ Write a Plugin for WordPress Multi-Site
- WPHubβsΒ post onΒ Making Plugins Compatible with WordPress Multisite
- OnextrapixelβsΒ How To Properly Code Your Plugin For A WordPress Multisite
1. Put an Extra Focus on Scalability
Obviously, you should always strive to make your code as efficient as possible. But when youβre working with typical WordPress installs, you have a bit more leeway. And I am not saying you do this, but youβ¦can get a little lazy when it comes to performance optimization. Tidying up every single db query? Mmmmβ¦
Those kinds of shortcuts add up when your users are managing 300 sites on their network. Your plugin or themeβs performanceΒ performance and scalability matter much more. So much more that you may lose clients and users if the code isnβt optimized well enough.
2. Use Proper Database Table Names
Because of how Multisite works with database tables, you need to avoid making calls to hard-coded table names. Eat site on the network shares a single database, but they each make their own tables. So if you if you try to execute something on wp_posts, for example, youβre going to have some issues with Multisite.
The proper way is to use the $wpdbΒ global object to ensure youβre always getting the correct database table names for both single site and Multisite, no matter who is running your code. Itβs not a hard change to make, but itβs a change nonetheless.
3. Think About Activation and Deactivation
If your plugin, say, creates a table during the activation process, youβll need to iterate that over every single blog in a Multisite install (assuming the plugin has been activated network-wide, as many are).
What about when a new blog is added to that Multisite network after your plugin was already activated? In those kinds situations, youβll need to make sure your code runs the activation function to create the required db table whenever a new site is added.
And of course, the same rules apply to deactivation and uninstallation. Make sure you cleanup your mess before you leave.
4. Consider Admin Options & User Permissions
Beyond specific code changes, you also need to put a little bit more thought into interface options. For example, is there a specific feature of your plugin that the Multisite Super Admin might need to turn off network wide?
Mauraβs example of a wp-cron call that ran through the entire posts table is a good illustration. On one site, sure! Thatβs just fineβ¦but on 300? It can sink a network just as quickly as getting a link on the front page of Reddit.
Additionally, Iβve heard about some issues with themes on Multisite where only the Super Admin can manage theme settings. Thatβs fine in some situations, but if the Super Admin wants each siteβs users able to change their siteβs appearanceβ¦again, issues. Part of coding for Multisite is considering likely possibilities and use-cases like this one.
Soβ¦Should You?
All in all, WordPress Multisite generates some strong opinions in the WP community. Some people really love it. Some people really hate it. Hate it enough to give WordCamp talks titled Donβt Use WordPress Multisite. Again, guess the point theyβre trying to make. (Admittedly, thatβs an older talk before there were many updates to the feature, but my point is the ideology.)
In the end, whether you plugin and theme devs should build for Multisite is a big ole maybe.Β If youβre developing for the general public, putting your themes and plugins on the repo, or selling them on your own, you absolutely should take the time to code your project to work with Multisite. It opens up more opportunities than the dev time takes up.
But if youβre developing websites for clients, Multisite is usually not the answer. You will have certain situations when using Multisite will make sense, but more often than not, it wonβt. For many clients, the extra features Multisite installations give are more overwhelming than useful.
What are your thoughts on WordPress Multisite development?
Article featured thumbnail image byΒ Jiw Ingka Β /Β shutterstock.com

Great that ET mentions Multisite although Divi doesn’t support the full power of multisite – like having a shared library over all websites…
this is great
This is a blog post that that’s definitely food for thought and one that a Blog comments or can’t really give a definitive answer to. My hypothetical feedback for this post would be that it would probably be okay to build the theme and the plug-in for WordPress multisites. My only suggestion is you may want to check the search engine rank of the WordPress theme builder and plug-in author before integrating the WordPress themes and WordPress plugins into the multi-site just to make sure you’re getting quality outgoing and incoming links for WordPress blog. One thing many people don’t know is that Bing, Google, and Yahoo look at things like that and plays a determining factor in your long-term search engine optimization objectives. Agree? π
I have a client who has offices in 10 different countries around the world and they wanted a website for each of them with their own unique domain name. Using WordPress Multisites I only have to install 1 copy of WordPress and plugins, 1 Divi child theme and 1 style sheet. I’d say that was the complete opposite of useless unless someone can tell me a better solution!
We use 2 multisites because we have over 10 ecommerce sites.
So yes please make your plugin for multisites!
I think because of many external tools like managewp.com WordPress multisite is or is becoming useless.