What To Do Or Consider After You Enable Multisite In WordPress

James GoodbradThis is a guest blog post written by James Goodbrad, author of the blog, Zebedeeweb.com/. You can also follow him on Twitter.

With the WP/WPMU merge in WordPress 3.0 it’s now wicked simple to get up and running with your own network of sites. There are many reasons you might want to do this ranging from creating your own niche community to developing your own Blogger or other website hub.

There are already plenty of great tutorials out there on how to enable the multisite functionality. This tutorial will assume you’ve already done that and talk about what you’ll want to do next. If you’re looking to setup multisite, it is truly simple and you can read about it here:

Multisite Setup Video Walkthrough
WordPress Codex Page – Create A Network

Now, you’ve got your WordPress network up and running and it still has that new multisite smell! Let’s get busy with implementing all the features and functions that your users will want right off the bat. We’re going to focus on 3 separate areas – all of which exist in the wp-content directory: themes, mu-plugins, and plugins. I’ll be providing an overview of each with some specific examples of ones I have found beneficial.

TIP: BuddyPress is a fantastic plugin for creating your own online community. As a plugin it can be used on top of WordPress with or without multisite. BuddyPress has an active development community itself and is already being used in exciting ways. Though this article isn’t going to focus on BuddyPress it does bare mention.

Before you begin any network project you want to take some time and think about your users. What are they going to want to do? What are they going to be interested in seeing? How web savvy are they? Answering these questions will help you select the appropriate themes and plugins to build your site. Initially it’s very tempting to provide every single feature you can think of (who wouldn’t want the ability to BLANK after all!), but it’s better to resist this and focus on what will be important to your users. I cannot over-emphasize how important it is to know your users. Ask these questions early on and ask them often.

Multisite Help and Support Communities:

Where do you go when you’re ready to dive in? Thankfully, there are a couple key places to get help, support, and even some very specific MU plugins.

  1. WordPress.org Support Forums – The official WordPress multisite forum. This is a great place to go for information – especially if someone has already addressed a problem that you’re experiencing. Beyond that, I personally prefer the online communities listed below. Each one has a premium option. Let me save you the trouble of asking – yes, it’s worth it.
  2. WPMU DEV – I have been a member of this forum for right at a year now. I have found amazing support and a collection of plugins that are continually developed and guaranteed to work. There’s some history with these guys and the core WordPress team as WPMU DEV’s very name has led to confusion about their association with Automattic. These guys have no official relationship with Automattic or the core dev team or the WordPressMU project in general. I’m not sure why they’ve ever marketed that way as they truly don’t need to do so. The service and plugins they offer make a subscription worth every penny.
  3. MUsupport.net – Run by the incredible Ron and Andrea. Ron is a new core dev for WordPress and is largely responsible for the WPMU merge. Yeah, he knows his stuff! A paid membership costs a minimal $40 for 3 months or $100/year. I dunno how they do it, but this one’s a no-brainer if you’re serious about multisite. One of my regular thrills is to ask a question and get a response direction from Ron or Andrea. I’d go so far as to call them minor celebrities within the WordPress community – and for good reason. If you’ve mentioned the term “WPMU” on a forum or a tweet you’ve probably received a response from Andrea and it was exactly the answer you needed.
  4. WPTavern – Did you know WPTavern has it’s own section specifically for multisite questions and discussion? Totally does. Hit up the forums or grab up a premium membership for more advanced information. WPTavern has some great moderators and commentators. Great discussion happens here and if you’re trying to create your first (or second or third) multisite you’ll want to be part of it.

Themes

There area a couple important things to note about themes in multisite. The first is that while themes are uploaded directly to the “themes” folder in wp-content, they must be activated by you, the “Super Admin”. Your new Themes option page shown below shows how you activate a theme for your network.

TIP: Why would you have a theme uploaded, but not activated? Themes that are not activated are still available to you as the super admin. You can use this method to keep any theme exclusive to a particular site. For instance, you may have a beautiful theme for your main site, but don’t want users to have the same look. Keep that theme as inactive. For any site, you can go into the “Edit Site” page from “Sites” and make a theme available to that site. Something to keep in mind.

There are many themes out there, some better than others. Remember those questions we asked earlier about our users? Apply those answers here.

Where to Find Quality Themes:

The WordPress theme ecosystem is amazingly well-developed. Over the past couple years companies such as StudioPress, WooThemes,and Press75 have raised the standards for what a “premium” theme should look like and the options that should be available. Add to that the possibilities of child themes for various theme frameworks such as Hybrid, Thematic, and Genesis and the options are truly staggering. The main thing to keep in mind is that you must support each theme that you provide for your users. Find a set of themes or framework that works for you and your network goals. Test your themes out ahead of time. Try things your users will be doing. If you get stuck, how easy can you find support from the theme designer? These things are important to keep in mind

timthumb: Many themes incorporate the timthumb script to allow for photo uploading and resizing using custom fields. This function is largely no longer necessary due to the introduction in 2.9 of thumbnails in the default media uploaded (this has even been improved for 3.0). However older themes, even premium ones, still may rely on timthumb. Timthumb is to multisite what bluray is to apple – a big bag of hurt. I won’t go into the “why” for timthumb and multisite’s bad blood, but there are some different/interesting ways to make it work. If possible, avoid it in any of your user themes. If you must use it, here’s an article on modifying it for your theme:
TimThumb And WordPress MU

mu-plugins:

mu-plugins are not new to multisite although some have been confused because of the old WPMU name. In mu-plugins the “mu” stands for “must use”. In other words, every site must use whatever plugins are put into this folder. These plugins handle functions across all sites on your install and cannot be deactivated by users. Why would you do this? Think again about your users. What sort of features are they expecting? What experience are you wanting to provide? There may be some things you’d like them to have optionally and others you want to be required. The mu-plugins directory is THE place where we get to globally define what’s happening for our sites. The sky is the limit here and this is where things get really fun!

Tip: WordPress doesn’t create the mu-plugins folder automatically. Go to your wp-content folder and create the folder [mu-plugins]. It can even be used on single-site WordPress!

5 Must-have must-use plugins and uses:

All plugins listed here are provided for free as is. For many of them, there are multiple versions of the same thing out there that have better support by going through one of the communities listed earlier. WPMU DEV and MUsupport especially have some excellent custom plugins that you can’t find anywhere for free.

  1. Sitewide Sitemaps and SEO – You can always use a great plugin like AIOSEO and network activate it across all sites, but for sitemaps a multisite version is the real way to get it done. This is great as it gives your users a default setting of search engine optimization and allows for finer tuning.
  2. New blog defaults: Give your users a leg up on getting started by providing only the options they need. How experienced are your users? How well do they know the ins and outs of WordPress? There’s those questions again! A “first impression” is important. WordPress is powerful in its abilities and extensibility, but rather than requiring a newbie to do all of this on day one is probably too much. Having their site be created with some default settings will make them successful more quickly and of course, they can always go back and make changes themselves.
  3. Plugin Commander – This guy is great for managing which sites get which plugins. I’m linking to the free version here which needs some updating for 3.0. The paid version has an update, but you should be able to use the one linked to here by changing all references of “wpmu-admin.php” to “ms-admin.php”.
  4. Admin Menu Editor – This one I only recently stumbled on and immediately loved. Using the admin interface you can add, delete, hide, or even just move various menu items from the left-hand sidebar. Don’t want the “Links” menu? Hide it! Do you have a theme/plugin adding something to the sidebar you wish wasn’t there? This will take care of it for you. There are installation instructions for an mu installation with the download. Make sure you follow the directions for customization correctly!
  5. Domain Mapping – Sure, it’s cool to have everyone hanging out at http://myawesomesite.example.com – but your users are professionals. They have an image to keep and already have a domain name they love. Wouldn’t it be great if they could use their own domain name? Well, now they can! This mu-plugin get’s the job done and allows you to “host” limitless domain names on your single install. Setup here is slightly more involved, but nothing you can’t handle. Word of caution, if you’re using multisite on a shared hosting account (which isn’t considered a best practice and as your site gains traffic, you’ll want to make the move to a VPS) you may be required to manually add a “parked domain” for each new domain a user wants to use. The domain mapping plugin will match your users domain name to their specific subdomain on your WordPress installation. The user is required to change the A record on their site to your server information (documentation is provided, but you may want to provide further instruction as necessary).
  6. Pay-to-blog/Supporter/Membership – There are a few of these around and there has been some recent advancement on this that are very promising. I haven’t found a free solution that I’m particularly fond of at this point.

Tip: WordPress doesn’t scan the mu-plugins sub-directories natively. This means that when you upload a plugin to mu-plugins you only upload the appropriate php files – NOT the container folder from your downloaded zip file. For example: mu-plugins>plugin.php is correct while mu-plugins>pluginfolder>plugin.php is not.

Essential plugins:

Here is where you add the optional components that will be available for your users to customize at their leisure or any plugin you want to feature on your main site. You can install these plugins by uploading directly to the plugins folder or with the Add New Plugins menu in the WordPress Admin. Obviously there’s a huge range of options available. One more time, think of your users and their needs – install accordingly and responsibly. Below are a few of my favorites.

  1. Total Social – More than likely, your users are going to have multiple hubs on the web that they use to interact with others. This plugin is beautiful in its simplicity. Once activated a simple widget appears allowing you to provide your account information for the top 12 social media destinations. Enter in your URL and a nice icon appears directly linking people to your profile on Twitter, Facebook, Myspace, etc.
  2. Akismet – The plugin for comment spam. Once installed and activated each user must have their own API Key from WordPress.com. It’s free to sign up and receive. If you’ve got a large network going and want to have Akismet work across your network you can purchase a sitewide license and move this to your mu-plugins.
  3. Simple:Press – This plugin has the easiest setup and integration for WordPress. If you activate it on your main site and have all new users be registered as “subscribers” they will automatically get access to the forum. Instant support forum FTW!
  4. Gravity Forms – This is THE plugin to have for form creation. Gravity Forms provides beautiful plugins with tons of customization. Your users will especially appreciate the incredible ease of which the forms are created and implemented on any page or post of their site. Do yourself and your users a favor and purchase a developer’s license so that you use it when combined with domain mapping.

TIP: Use the Network Activate feature to activate a plugin for all sites on an install. These go in the normal /plugins folder. Any site can see that this is installed via plugins.

Worth Mentioning:

Of course there are plenty of other options. I didn’t even get to hit on mu-plugins such as:Signup-TOS, Signup-Password, Easy-Blogging, toggle_admin_menus, Google Analytics, remove email verification or the myriad of options available in plugin/widget form for Twitter and Facebook integration.

At any rate, your site is now up and running smoothly and you’ve got your first user! Unfortunately, it’s probably a Spam signup often referred to as a “splog”. There are a few different anti-splog tools available, but due to the limited amount of information available on a signup, it’s hard for these tools to be extremely effective. My advice is to limit the number of signups to your site a day and create your own custom wp-signup page. You can copy the code directly from wp-signup.php and place it in your own file (name it something unique) in your main site’s theme directory. Link to this new page in your theme versus the one that comes with WordPress by default. Finally disable wp-signup from being used by creating an mu-plugin. Don’t worry, just drop the following code into a file ending with a “.php” and upload it to mu-plugins.

<?php

function ms_block_wp_signup() {
 if( strpos( $_SERVER['SCRIPT_NAME'], 'wp-signup.php' ) !== false ) {
 wp_redirect( get_option('siteurl') );
 die;
 }
}
add_action('wp', 'ms_block_wp_signup', 99);

?>

By the way, that little snazzy piece of code? Brought to you by Ron Rennick. Just one example of the kind of support and information offered by Ron and Andrea at MUsupport.net.

Closing Thoughts:

Database and file backup is a necessity. As your site grows a caching plugin is also a good idea. With multisite, WP-Super Cache is an amazingly solid choice. Scalability and multiple databases are also something to think about as the number of sites on your network goes from hundreds to thousands, but by then you’ll be past the scope of this introductory article.

Hopefully you’ve found some information and tips useful for your next big project. What resources have you found to be helpful? Hit me up with your ideas in the comments!

20

20 responses to “What To Do Or Consider After You Enable Multisite In WordPress”

  1. Great write up James,

    This is a huge topic and you’ve done a solid job of summing it up. Congrats. One quick correction you may want to make is in the statement:

    The mu-plugins category is THE place where we get to globally define what’s happening for our sites.

    As you point out below this sentence, the mu-plugins is a directory under /wp-content/ and not a category.

    Just trying to avoid any confusion for those new to Multi-Site…

  2. @James,

    Thanks, and what are the odds that I would visit your site and realize we’re in the SAME town! It’s getting close to happy hour and the tavern is giving me the itch. Might be time to head down to the tiki at Marina Jack’s or slide into Shakespeare’s.

  3. @James – Using multi-site how do i upgrade all of my plugins on a network wide basis without logging into all my sub-domains. When you say that you have to create a mu-plugins folder/directory in wp-content, does this then mean transferring all my existing plugins into this folder and deleting original plugins folder? I have a normal wp install which i have upgraded to multi site. Do plugins have to be MU specific to upgrade network wide?

  4. Using multi-site how do i upgrade all of my plugins on a network wide basis without logging into all my sub-domains.

    When you upgrade one plugin, you;re upgrading the ONE file used by all the sites in the network.

    When you say that you have to create a mu-plugins folder/directory in wp-content, does this then mean transferring all my existing plugins into this folder and deleting original plugins folder?

    No, this is an *extra* folder for plugin that run continuously. If a plugin is meant to go here, the instructions for that plugin will say so.

    Extra reading:
    http://wpmututorials.com/basics/what-is-the-mu-plugins-folder/

    I have a normal wp install which i have upgraded to multi site. Do plugins have to be MU specific to upgrade network wide?

    No. like I said above, if you install a plugin, it is now accessible to all sites in your network. One copy.

  5. Hi James, thanks for the article. We intend to buy Admin Menu editor today! Do you know of a good plugin that would keep new site creators, in a mu setup limited to Author privileges in “their” site ?

    Thanks!

    Jason and Mauro

  6. If you want to lower admin privileges on individual sites you’ll definitely want some kind of role management. The Admin Menu editor just hides/adjusts the menu placement. If they know the full admin link, they’d still be able to access those areas.

    What you’re looking for is a “membership” plugin. I know that Justin Tadlock had worked on a plugin for wordpress called members and here’s a link. It may accomplish what you want, but I’ve never tested it myself on multi-site. There are several out there if you do a google search.

    Also, wpmu premium dev just released a pretty full-featured plugin that I believe would do what you’re looking for, but it may be overkill.

  7. What a action packed and informative write up. You sparked ideas that I didn’t even know were considerations when running in multisite mode. What brought me here was my quest to create a custom wp-signup.php without messing with the core. Mine’s currently modified to the teeth and I’d like to resolve this before my next core upgrade (yikes). The script you shared to block access to wp-signup.php sounds great as it seems to help kill two birds with one stone. I can have my alternate signup and divert some splog attempts. However, how would someone address the “register” link presented in wp-login.php? When used, wp-login.php redirects to wp-signup.php if multisite is enabled. Any thoughts would be appreciated.

    Have a great day!

  8. Word of caution, if you’re using multisite on a shared hosting account (which isn’t considered a best practice and as your site gains traffic, you’ll want to make the move to a VPS) you may be required to manually add a “parked domain” for each new domain a user wants to use. The domain mapping plugin will match your users domain name to their specific subdomain on your WordPress installation.

    No, this won’t work in every case. You can park a domain in cpanel ONLY on top your MAIN cpanel domain.

    That means if you did not install WordPress multi user under your main cpanel domain, then don’t park the domain you want to add to your network, because it won’t work!

    Instead, do this: http://support.hostgator.com/articles/cpanel/how-to-park-a-domain-on-an-addon-domain

    Every blog post which discuss the domain mapping plugin forget to mention this, and this drive a lot of people nuts.

  9. I agree with @Ron

    For most of my sites I build a custom login form into the homepage (or other page) so the default wp-login is only seen occasionally by users – who don’t need to register. A majority of the time, someone going to the login page and then trying to sign up is going to be a spammer.

  10. @Ron -@James – I see both your points and I agree. And though I’m a stranger to you, you both are very familiar to me and I wouldn’t think of challenging your expertise. Your approach will certainly shake things up for the sploggers and spammers. But I don’t want to frustrate potential new members expecting to land on a register page and then find themselves trying to figure out what went wrong. For a new user to get a blog on my site is a two step process. The wp-signup.php is modified to only present the “get a user name” portion of the form if the person isn’t logged in. And then when they return they will get the remainder of the form to get themselves a blog. They can’t sign up for both in one shot. It will also limit them to a defined number of blogs. Then I had to change the displayed texts and email snippets to reflect this as well.

    I’ve already begun a plugin to embed all the wp-signup /wp-activate stuff directly into a WordPress page so I can have a short URL like mysite.com/signup without adding extra to the root directory and keeping it portable if I need to switch themes. And most importantly gain control of how they behave without messing with the core. Heck… I might attempt to merge wp-login into it as well if I have the extra time and feel froggy.

    I’m sorry if this reply isn’t worded well, my kids aren’t allowing me to write it in peace :)
    Cheers, Lee

  11. Thanks for the post!
    One thing is that Plugin Commander you mentioned is no longer in that link, it redirects to their home page, I assume it’s now a pay only plugin.

    And a question Is there a way to let users not only create new blogs, butalso let them install their themes or plugins via the network?
    It sounds that for security it’s not possible, but is there a way anyway to do that?

    Thanks

  12. Hiya Maor,

    Yeah, I believe they have pulled all of the out-dated “free” plugins in order to make things easier to manage in the short term.

    I’ve uploaded a separate version that I’ve used in the past (which also was in the WPMU DEV free section). I know I took a look at updating it for 3.0, but haven’t used it in several months. Still, might be worth giving it a shot:
    Plugin Manager: http://db.tt/NH8aiUJ

    Hope this helps! Thanks! :D

  13. Hi,

    Excellent write-up, thank you! I have a question for a WP 3 network of sites I am setting up. I want to hard code an opt-in form into the themes, but make it dynamic so that, if someone fills it out on a sub-site, it goes to that site’s listed admin email (listed in the general settings section). Any thoughts on an out of the box solution for this?

    Thanks!

    Kindly,

    Michael

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.