How to Use WordPress 3.0 Multisite for a Blog Network

WordPress 3.0 is now available and it has a lot of great new features. One of these features is what is now called WP 3.0 “multisite”. There are many things you can do with multi site.

In the past, WordPress had 3 versions.

1. Free WordPress Blogs: signup for for a free blog like: yoursite.wordpress.com
2. Self Hosted WordPress: download and install wordpress on www.yoursite.com
3. Self Hosted WordPress MU (wordpress multi-user): download and intstall the official “wordpress.com” software to create a blog network on your www.yoursite.com

Over the last year behind the scenes, wordpress core coders took the capabilities and functions of WordPress MU (WPMU), and folded them into the self hosted version of WordPress. That means if you’re reading this, and you have a WordPress powered web site (that’s updated to 3.0) – you have the ability to create a “blog network” on your domain (and you didn’t even know it).

What is a “Blog Network” Anyway?

Well, normally if you install wordpress on a web site you get a single blog on a single domain. What WordPress MU used to allow you to do was create an installation of wordpress that allowed people to setup free blogs on your site like crazyblog.yoursite.com, music.yoursite.com, etc.

The advantages of doing something like this are inumerable. You could have different sites for a company for different products or divisions. You could build a community site for your business or organization – allowing people internally to have their own web site (great for realtors, car dealers, insurance agents, teachers, students, etc.).

Think about the potential possibilities of this from an affiliate marketing point of view. If your used to buying up keyword-laden domains because of their value, think about the capabilities of WordPress MU for an SEO blog network.

I’ll give you an example. The other day I was doing linkbuilding, which at that time consisted of some article marketing, and press releases. As usual, an idea crossed my mind – “I should start a press release site!” I did some quick research, and quickly found the words “free press release” were what I wanted to use. Of course, all the normal domains were already registered. I toyed with the notion of registering 1freepressrelease.com – but I don’t like sites with numbers in them (for things like this) much anymore. I’m also not a big fan of free-pree-release.com for projects like this either.

I thought of a domain I’ve had sitting around for awhile called “websitewhore.com”. My intention was to enable people some “shameless self-promotion” through either an article directory, standard directory, classifieds – or something like it. But with the new multi-site feature of WordPress 3.0 I can setup as many blogs as I want like:

freepressrelease.websitewhore.com
freedirectory.websitewhore.com
articlesubmit.websitewhore.com
backlinkbuilder.websitewhore.com

Those are all examples – but you get the picture. This may be a bone of contention with some SEO’s, but I can get just as much URL juice out of a subdomain with exact match keywords, as I can from the main domain name. Creating a “blog network” like this will enable me several things at once:

1. I can created multiple blogs on a theme
2. I can use keywords in the URL without having to buy multiple domains
3. I can use one version of WordPress to manage it all
4. I can upgrade wordpress and all plugins from a central location

Multisite Domain Mapping: Also, one thing I hadn’t mentioned is that you can also use one installation of WordPress now to manage multiple domains within one WordPress instance. Let’s say you own 10 WordPress powered sites. That’s 10 versions of WordPress and plugins to keep upgraded. You “could” install WordPress 3.0, then enable the “Network” of sites, and create 10 web sites – and then use “domain mapping” to keep all your web sites in just one wordpress install. I would only recommend this to advanced users, but if you’re interested in this scenario – read more here: WordPress 3.0 Multisite Domain Mapping tutorial

WordPress Multisite Choices and Setup

One of the first things you have to do is decide whether or not you want to use WordPress Multi-site as subdomains or subdirectories. You only get to choose this once during installation, and then you’re stuck with it.

This is subdomains:

newblog.yoursite.com

This is subdirectories:

www.yoursite.com/newblog

Personally, I prefer subdomains for all installs – but the final choice is yours on your site. Once you have a wordpress 3.0 installation, all you have to do is place this line of code in your “wp-config.php” file:

define(‘WP_ALLOW_MULTISITE’, true);

Once you do this you should see a new “Network” options under “Tools” in the left hand sidebar in dashboard admin.

wp 3 multisite nework

Now, the directions I read said that you didn’t need to do this before installing wordpress, you could add it to the wp-config.php file of any WP 3.0 install. The site I’m testing this on now was upgraded from 2.8 to 3.0, and for me – I had to take the wp-config-sample.php file from a newly downloaded 3.0 zip file, and update it with my connect info. Then I upload it to the site and it worked. In other words, for my test – using a wp-config.php file from previous wordpress installs didn’t work – there was no network option. Once I updated my wp-config.php to the latest version, it worked fine.

The first time you visit “Tools->Network”, you’ll see that you’re supposed to deactivate all your plugins before starting. Once you do that you’ll see this screen:

wordpress 3.0 mutisite setup

Then you can install and enable your network.

wp 3.0 multisite setup

The following screen gives you the exact code to copy and paste into your wp-config.php and .htaccess files in order for your new “network” to work properly. Once you make those changes, you’ll have to login to the admin dashboard again.

wordpress 3.0 multi-site setup

Once I logged back in, WordPress asked me to add 4 more lines of security code to my wp-config.php file:

WP 3.0 setup

The codex directions say to remove the “wp_allow_multisite” line you added to your wp-config.php file earlier, but during the install WordPress had removed it for me. You’ll also notice when you log back in that the “Network” option under “Tools” has disappeared. This is normal, and you should now also see a new section in your dashboard side bar, like the one at left that says “Super Admin”.

wordpress multisite setup

Using WordPress 3.0 Multisite “Super Admin”

The main site will tell you how many sites, and how many users you have:

wordpress 3.0 multi subdomain setup

In the sites screen, this is where you can add sites to your “network”. Just add in the name, title, and admin email.

wordpress sub-domain multisite setup
Just like in the old WPMU (wordpress multiuser), the “Themes” section of Super Admin allows you to enable or disable any theme for use in network sites. If it’s not enabled for use here – it won’t be available for use (even by you) in any of the sub-domain sites.

*Item to remember*: There’s a fundamental difference between using themes in a single WordPress intallation and the new WP 3.0 multisite. The themes you install (when enabled), are available to be used for ALL subdomain sites. So, if you customize your theme code for the main site (or a subdomain blog) – those changes will be in every site using that theme. This could be good or bad. Let’s say that you decide to add adsense code in the homepage of one theme. It would show on every site using that theme. If your intention was to have adsense ads on all the blogs on the network (because you can edit theme files and they can’t) – then this worked out just fine. But if you were using the theme on the home site only, and then another sub-blog user enabled it, they would have the theme with all the customizations you’ve made for just the home site. As far as I know, there’s (currently) no way to disable a theme from use in the network (and still use it as the home theme). So, keep that in mind when using themes…

wordpress 3.0 multisite theme admin

The options tab under Super Admin has some very important features. One of which is the “dashboard site” option. Normally, every single wordpress site gives the ability to prompt login by adding in /wp-admin to the end of the URL. This is your chance to change that to something different! Change it to “dashboard” or “panel”. You can also choose if regsitrations for users (and new sites) are enabled or disabled, and whether admins can add new users. You can even setup the welcome emails and first post, pages, and comments to each new blog when they’re setup (if you’re building a community). You can also choose what people upload, how much they can upload, the the types of files they can upload. You can choose whether users have the ability to use and configure settings (individually for their blog) for plugins as well.

wordpress 3.0 multisite plugin setup

So, once you have all your options setup, and you create your first “subdomain” site in WordPress 3.0 multisite – what if it doesn’t work?

1. Submit a ticket and ask your webhost if they support “wildcard DNS subdomains” (for WordPress multsite / multiuser)

2. When going to your first “subdomain” site – do you get a “Forbidden You don’t have permissions to access / on this server. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.” message?

The problem is wildcard DNS isn’t setup yet. Using Hostgator as an example, if you login to your web control panel and go to “addon domains”, look for an entry like *.yoursite.com. If you don’t have one you’ll have to set it up like I did in this image:

wordpress 3.0 wildcard DNS setup hostgator

Here’s the thing to remember. Let’s say that you have a hostgator account with multiple domains installed in it. If that’s the case, then the “main” account is the one that owns the /public_html root. Then the sub-directories within it are mapped to “addon domains”.

I mention this because if you’re installed WP 3.0 multisite in the main site for your hosting account, then the “document root” will be public_html. But if your installed wordpress on a sub-directory “addon domain” to your hosting account then the document root will be /public_html/yoursite.com. If you do this wrong, then when you visit your new subdomain site, it will probably bring up your main hosting site instead of the newly created subdomain.

If you see your new subdomain site in a browser, then you should be able to add new sites in the future with no problems.

When I was describing the features, I did mention that you could control in Super Admin->Options whether or not to allow users to configure plugins. If you checked “yes” to allow that – then in the image below you’ll see that you can also choose when activating plugins whether or not to allow them to be activated for just the main site, or for the entire network of sites.

One of the problems that WordPress Multi-User (WPMU) was always plagued with in the past was that it had 2 separate directories for plugins – one for the main site, and one for all sites. This meant that many (if not most) plugins failed to work properly in WPMU because of the changed directory path. Most plugin authors count on plugins always being located within the /wp-content/plugins directory. Now, with all plugins and themes in their normal respective folders, nearly all should work within WordPress multiuser (fingers crossed!). At least, the chances are now better, but your mileage may vary.

For further reading:

Migrating Multiple Blogs into WordPress 3.0 Multisite
Created a Multisite Network

Visit JTPratt Media if you’d like to hire me for WordPress or Multisite Work