Installing WordPress Multisite for TLDs

These days, a lot of the websites I create are using WordPress on the backend. It’s a breeze to install, fairly light weight, and the developer community around it is fantastic.

The only complaint that I ever have with it is that its framework is being updated ALL THE FREAKING TIME. And it probably wouldn’t bother me as much as it does, but having it say “There’s a new WordPress version” every time you login is kind of annoying. And its even MORE annoying when it happens on CLIENT sites because they expect you to constantly update it for every little change in version. Usually I just say “No thanks”, but despite this I still try and update it for the big releases.

And ladies and gentlemen, I believe that WordPress 3.0 is such a release.

Multisite Functionality Built In
If you’ve been a user of WordPress for any period of time, you may want to check out all the cool additions that are now in 3.0. For me, the biggest feature has GOT TO BE Multisite Functionality or WordPress Mu integration. If you’re not familiar with WordPress Mu, it allows you to run multiple sites off of one WordPress installation. But because it was always treated as a bit of a seperate product, there was an evident lack of consistency between the two products from a usability and functionality point of view. Now to be fair, I don’t know for sure that that has changed, but everything I’ve seen so far leads me to believe it has.



Why I Need WordPress Mu or WordPress Multi-Site
If you don’t know why this is so cool, you probably have not tried to use WordPress Mu and/or have never had a collection of sites powered on WordPress. In my case, I have done both. I had one site that is no longer up called Learn Stuff Online which was basically an About.com before About.com was what it is now. It was supposed to generate tons of AdSense revenue but it was a lot harder to manage than I thought it would be. I had multiple “subjects” on multiple subdomains (hometheater.lso.com, internet.lso.com, etc) and always updating html files to update content on the site became old quick. So one day I had an epiphony to try this whole WordPress Mu thing and I got it KIND OF working. To be honest, it took a lot of work and never felt all the way there as I had to do a lot of fudging on the functionality side to get things working the way I thought they ought to.



Fast forward a couple years, and now I have a collection of my own MFA sites that are powered by WordPress. And more to the point, they are all powered by their own separate WordPress installations. So when I need to create a new site, update the WordPress base or update the slew of plugins on these sites – It’s a huge pain. Now to be honest I don’t think that’s why I hardly update content on those sites, but I think it definitely has kept me at arms reach from doing anything really impactfull with them.

Multisite in WordPress 3.0 is Awesome
But now with WordPress 3.0, I can run all of these sites from a single WordPress installation. That’s right, I’m not just talking about subdomains or directories on a single domain (which you can do too), I’m talking about powering multiple TLDs with a single WordPress 3.0 installation. It took me a lot of figuring out to do it, but with a bit of research and a LOT of work, I did it – And I’ll show you how to do the same. Oh, and before we begin let me say that I host with LunarPages and I have a dedicated server. I’ll show you exactly what I’ve done and I think if you’re in a similar (or even not) a similar situation you should be able to do the same.

Steps to Install WordPress 3.0 Multisite

  1. Download and Install WordPress 3.0.
  2. Download and MANUALLY install the Trunk Version of the Domain Mapping Tool.
  3. Create new WordPress site.
  4. Map TLD to new WordPress site.
  5. Test new WordPress site.

Download and Install WordPress 3.0
So first, go to WordPress.org, download version 3.0 and install it on a domain on your server. Once you’re done and you can ensure that it’s working – go to the next step.

Download and MANUALLY Install the Trunk Version of the Domain Mapping Tool
This part of the tutorial is what I really gleamed from Otto’s post sited below and linked here: http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/. The domain mapping tool is what’s going to make sure that when someone hits one of your TLDs, that it goes to the appropriate place for your single WordPress installation to serve its particular content. To get the files, download them from here: http://plugins.svn.wordpress.org/wordpress-mu-domain-mapping/trunk/, and then follow steps 1-3 on Otto’s site to MANUALLY INSTALL the Domain Mapping Tool.

Create New WordPress Site
At this point, you should have the Domain Mapping Tool rockin’ and rollin so in your Dashboard go to “Super Admin->Sites” and fill out the bottom blanks under “Add Site”. So for instance, you can enter “test” for Site Address, “Test” for Site Title and an appropriate e-mail for Admin Email. Once you’re editing this new site, change the “Domain” blank to the exact address of your TLD (i.e, example.com). For “Path”, enter “/”. Under Site options, make sure Siteurl is the domain name “http://example.com”, under Home enter “http://example.com” and for Fileupload Url enter “http://example.com/files”. Then scroll all the way down and click the “Update Options” button.

Map new TLD to WordPress Site
Now at this point, your WordPress install should be setup to serve files and content for your new site. And even though we’ve pointed everything correctly in the Domain Mapping Tool, we haven’t actually setup your TLD to point to this WordPress location. For me, this was hands down the hardest part of the install as I couldn’t figure out how to get the server part of this whole thing working. What started me on the good path was Matt Dunlap’s post on the subject here: http://mattdunlap.org/website-development/wordpress/how-to-create-a-network-of-top-level-domains-with-wordpress-3-0.html where he directs you to editing your httpd.conf file. I did this and I believe I got it to work, but I really didn’t like editing my conf file directly. So instead, I went into my WHM and parked my new TLD on top of the domain I installed WordPress on. After that I was IN baby!

Test Final WordPress Site and Tweak if Necessary
So at this point if you’ve setup everything correctly and you’re money like me, you should be able to see your new site when visiting your new TLD. If not, you obviously need to find out what’s wrong. For me, it’s usually in the individual site settings under “Super Admin->Sites”. There’s a little checkbox labeled “Update siteurl and home as well”. This whole section just doesn’t update as I thought it would so I ended up going back in and editing this information again.

NOTE : This was a REALLY long post and I will probably come back and edit it when I get the chance to make it much more helpful.

Also, it wouldn’t be nice of me to not credit the various pages I found that helped me out installing WordPress Multisite on my own server:

I Love the Shylock AdSense Plugin

I really should have my WP plugins listed somewhere on my site (for all eternity) but seriously – I already have enough tabs at the top don’t I?

Maybe I’ll lump it into my About tab at some point, but until then I thought I’d share one of my favourite wordpress plugins – the Shylock AdSense plugin!

This is one plugin that has been serving me well for quite sometime now and I think it could do you kids a world of good too.

Why I Love the Shylock AdSense Plugin
Not too long ago, I was looking for a plugin to manage my AdSense ads. A lot of you were nice enough to recommend some, but on the whole I found them to either be a bit too simple for my purposes or a bit too unwieldy. So after a bit of searching on my own, I found the Shylock AdSense plugin.

Shylock AdSense

In a nutshell, it allows you to easily put AdSense code into your posts and to have different code bases for various situations such as individual posts, main page or other situations like that. And of course you get to configure how you want these ads to be positioned and it really is easy as pie to setup – But this isn’t why I love this plugin.

Shylock AdSense

Imho, the best part about the Shylock AdSense plugin is the ability to not have to use AdSense code. “Say what?” That’s right, you don’t have to use AdSense code with the plugin. For instance, you’ll notice that my 300×250 AdSense block has been replaced by an ad for Dual Monitor Babes. Not AdSense, but still taken care of through the Shylock plugin. Oh, and another thing you’ll notice is that the 300×250 ad cycles through 6 various ads how is that accomplished? I did it through a bit of JavaScript I put in the plugin’s option setting.

Final Thoughts on Shylock
This is just a great plugin. At this point, I don’t really hang my hat on my AdSense earnings, but I know some of you do. And with Shylock’s aggressive AdSense options, you might want to give it a look, especially to optimize some of your older posts.