How can I migrate from another platform to WordPress (using the same domain) and launch when ready?

As others have already mentioned, this can be a long process. But it can also be relatively straightforward, and I’ve done this to migrate other non-WP sites to WordPress in the past.

Export your site

First things first, you’ll need to export your site from Tumblr into a format WordPress can work with. There are a few tutorials out there on how to do this, but also one great tool built specifically for this purpose called Tumblr2WordPress.

You’ll also want to make backup copies of any images you’re using, just in case they’re lost during the export/import process.

Set up WordPress on a temporary domain

Most hosting packages allow you to access your site from a temporary domain while in development. Use this feature to set up your WordPress site and tweak all of the settings to be just the way you want them.

Then …

Import your Tumblr site

Once WordPress is up-and-running, import your old site and make sure everything is working the way you want it to.

Change the site URL

Now that WordPress is running, we want to tell it the correct domain name to use. So log in to your dashboard and go to Settings » General. Change both the site URL and blog URL to the values you want to use and click “Save.”

This will temporarily break your site!!! You will not be able to log back in until following the next steps!!!

Edit your hosts file

On Windows, you can edit your hosts file to redirect domains to different locations. This will make it so, on your machine only, your site will appear at http://mysite.com even though it’s actually at http://temporarysubdomain.myhost.com.

Flush your DNS

From the command prompt (i.e. DOS), run the command ipconfig /flushdns. This will flush your DNS resolver cache and speed things along a bit.

Log back in to WordPress

If you’ve done things correctly, you should now be able to access your site at http://mysite.com from the computer with the edited hosts file. Log in and make sure the site is still displaying as it should. Take a few minutes to edit any image URLs that broke in the transition and get things looking snazzy.

Point your domain

Now that WordPress is installed, configured to work with your domain, and displaying your migrated Tumblr content, it’s time to actually point the domain at WordPress. Go back to your host and move the domain so it’s pointing at the right location.

Reset your hosts file

Now that the domain is pointed, go back and un-do the changes you made to your hosts file … otherwise there’s no way to know when the transition has been made (your system will always be pointing to the right site, even if the rest of the world isn’t).

Crack open a beer and watch a football game

Seriously. DNS updates can take a while to propagate over the Internet, so don’t expect your re-pointed domain to work immediately. It might take 12 minutes. It might take 12 hours. This depends on your host and your ISP.

Go to your site domain

Check in from time-to-time during the football game you’re watching to see if it’s been pointed correctly (I recommend commercials and time outs … they’re boring anyway). Now that you’re running with the default hosts file, you should see the new site immediately when the DNS finally pushes through.

Viola! You’re done

If you’ve done all of the above steps correctly, you should be done. The entire process can take anywhere from 15 minutes to several hours depending on how long it takes for your ISP’s DNS cache to refresh. I’ve used this process more than a dozen times on client sites and it works every time.

Some quick notes …

  • When your images are imported, they’ll likely be stored with the URL http://temporarysubdomain.myhost.com rather than http://mysite.com. You’ll either need to create a server-side redirect to fix this, or manually edit your images. Since you only have 25 posts this isn’t a huge deal to do by hand, but there are ways to automate the process with SQL search-and-replace statements if you’re looking for a shortcut.
  • Do not touch the GUID! I can’t stress this enough. The GUID stored in the database is a “Globally Unique Identifier” … meaning it’s unique for that specific page or asset, despite the domain you’re on. Yes, WordPress uses the site’s URL to generate the GUID, but that doesn’t actually mean anything. It’s just a static string that’s not supposed to be used for anything except to identify the post as unique from others in the database. Even though your imported posts will have your test domain as part of the GUID, do not change this.

As always, if you have any questions, feel free to ask.

Leave a Comment