Redirecting domains to a WordPress Multisite

Redirecting domains to a WordPress Multisite is slightly more complicated that I would have expected. WordPress checks what referrer you’re coming from when using WPMU (which totally makes sense, so it can know what multisite blog you’re wanting), but when it finds a URL that it doesn’t recognize, things go down the tube, quick..

WordPress is fantastic, but there are some things hidden under rocks that you rarely know about until you need it. Today I needed to point an clients’ old domain to their new website! The problem was, WordPress was using it’s logic of “That domain doesn’t exist here, they must want to register it as a new blog!”, which is totally wrong. (Good thinking though, WordPress!)

We have new blog registration disabled. When I was looking at this setting, I noticed a small note below.

If registration is disabled, please set NOBLOGREDIRECT in wp-config.php to a URL you will redirect visitors to if they visit a non-existent site.

Good to know! This means we can actually stop that pesky “Registration is disabled” page from coming up without using any plugins! Just go into your wp-config.php file and direct any non-recognized URLs to any URL (in most cases, the new site’s URL).

define( 'NOBLOGREDIRECT', 'http://ericholmes.ca/' );

Now we can start redirecting domains to a WordPress Multisite with no more interference!

WP on!

Subdomain Multisites for WordPress – and sub-subdomain multisites

Subdomain multisites are a great way to break up a WordPress multisite. I personally think it looks much cleaner, and separate.

books.ericholmes.ca vs ericholmes.ca/books

The former(subdomain multisite) looks like a section or portion of the ericholmes.ca domain, while the latter(subfolder multisite) looks as though you are just sitting within a folder – not as professional!

The setup is actually quite simple to accomplish this. All you need to do is log into your hosting cPanel (or hosting provider equivalent) and locate where you can manage your subdomains. I use JustHost and have never regretted choosing them! Anyways, they use cPanel, so the image below is a screenshot from within cPanel.

Wildcard subdomains for subdomain multisites

It’s a pretty painless process. Once you locate your Subdomains, add the * subdomain. Then set the Home folder to the proper location (most likely /public_html/).

Wildcard Subdomain

Sub-Subdomains

This wildcard process also works for sub-subdomains as well! It’s a pretty edge-case scenario, but I ran into it (today in fact) when setting up a WP multi-site on a development server (where we use subdomains for each project).

From what I can tell (referenced in this post) wildcard subdomains on a domain level (domain.com) will also support sub-subdomain wildcards (blog.books.ericholmes.ca). Thanks to Andrea Rennick for providing this answer!

Transferring a WordPress Multisite

I have run into the situation where I needed to transfer a WordPress Multisite twice now, My first experience was horrific, but it seems I have a better handle on this now.

Step 1: Back everything up

Should be pretty self-explanatory — back up your files and database in preparation to transfer. DO NOT copy the .htaccess and wp-config.php files, it’s better practice to set these up from scratch.

Step 2: Copy the files to your new server/location

Send over your files to the new location via FTP, SSH, SVN, whatever. Create your database and set up your wp-config.php file.

Step 3: Go through WordPress installation

Before you import your database, go through the steps to set up the WP site from a clean install. Go through the steps to setting up a WPMU. This way the code you need to stick into your .htaccess and wp-config.php files will have the proper rewrite rules, as well as DOMAIN_CURRENT_SITE and PATH_CURRENT_SITE definitions.
Continue reading Transferring a WordPress Multisite