How To Transfer A Tumblr Blog To WordPress

  • follow us in feedly
Published May 20, 2013 by Brad Knutson
Tumblr to WordPress

With today’s news that Yahoo bought Tumblr, tremors shook the social media world. Many people were excited and happy for Yahoo, yet others were nervous for the future of their favorite blogging platform. Regardless of your opinion on the change of ownership, we can all agree that things are bound to change. The depth and breadth of these changes remain to be seen.

Yahoo CEO Marissa Mayer promised Monday not to screw up Tumblr, the blogging site Yahoo purchased for $1.1 billion.

Regardless of how you feel about the acquisition, you may consider moving your blog to another platform.

In this post, I’ll go over how to transfer your Tumblr blog to a self-hosted WordPress blog.

Setting Up WordPress

The first thing you’ll need to do is determine a domain name if you don’t have one already. If you already use a custom domain for your Tumblr blog, you’ll need to point it to your new hosting server. If you are buying a domain, determine what domain name fits your blog.

The next step, is to choose a hosting company. There are several hosting companies, and it really depends on your budget. If you are looking for a cheap hosting option, look at Bluehost. There are several other hosting options out there, and generally speaking you get what you pay for. If you have a slightly larger budget, you may consider WP Engine, which I have a link to in the side bar. WP Engine is one of the best in the business when it comes to WordPress hosting.

Ultimately, the choice is up to you. Do a little research, read some reviews, define your budget.

The final step in setting up WordPress is to install WordPress. Many hosting companies offer easy one-click installers, or you can install WordPress yourself. WordPress offers great installation help for this process.

Transfer Content From Tumblr to WordPress

To migrate your Tumblr content over to WordPress, start by clicking on Tools > Import in the WordPress admin.

Tumblr to WordPress - Import

On the Import page, click Tumblr to install the Tumblr Importer plugin.

Tumblr to WordPress - Install Tumblr Importer Plugin

Install the plugin from the popup menu, and click Activate Plugin & Run Importer on the next screen.

Tumblr to WordPress - Activate Plugin

Clicking the link will land you on the Tumblr import page. Make note of the default callback URL on this page – you’ll need it for the next step.

Before importing your content to WordPress, you’ll need to create an application using the Tumblr API. Head over to the Tumblr Applications page.

Tumblr to WordPress - Register Application

Click the +Register Application button. A form will appear, in which you need to fill out the Application Name, Application Website, and Default Callback URL you noted earlier. For the Application Name, enter your WordPress blog’s name. The rest of the fields can be left blank, or filled in so you can more easily identify the application should you ever need to come back to this screen.

Tumblr to WordPress - Register Application Form

When you’re done filling out the form, click the Submit button at the bottom.

The next screen will show you your OAuth Consumer Key and Secret Key. Go back to the Tumblr Import page in WordPress and enter these two values.

Tumblr to WordPress - Import Page

After entering your keys, click Connect to Tumblr. On the next page, click Authorize the Application.

Tumblr to WordPress - Authorize

You’ll be brought to a Tumblr page that asks if you are giving Read and Write permission to this application. Click Allow.

Tumblr to WordPress - Allow

You will be brought back to the Tumblr Import page. You’ll see the name and URL of your Tumblr blog, as well as how much content will be moved over.

The final step is to click the Import this Blog button on the far right.

Tumblr to WordPress - Import Tumblr Content

Depending on how much content you had on your Tumblr blog, the import could take a very long time. As a frame of reference, the 1800 or so Tumblr posts that I migrated over took the entire length of time it took to write this blog – from research, screen shot taking, typing, image editing, and posting. Yes – it can take a long time. If you’ve been blogging on Tumblr for years, you might want to let it run over night.

The Tumblr Importer plugin will attempt to import your content into the correct post formats automatically. Text will be imported as text, quotes will be imported as quotes, and images will be imported as galleries. Of course the system isn’t perfect, but it sure beats importing each post one by one.

Redirecting old Tumblr URLs to WordPress

If your Tumblr blog had a custom domain, redirecting to your new WordPress site will be relatively easy. If you ran a blog (for example, your blog was, then you’ll need to perform a few extra steps.

Custom Domain

If you are familiar with .htaccess redirects, you’ll want to set up redirects using regular expressions to redirect your old post format to your new post format.

If you’re not familiar with .htaccess you can install a plugin like WordPress Redirection.

Make sure you set your WordPress permalink structure to postname in order for the redirects to work properly. Go to Settings > Permalinks.

Tumblr to WordPress - Import Tumblr Content

Tumblr to WordPress - WordPress Permalink

Ultimately, you’ll have to work with some form of regular expression if you want to redirect your old posts to your new ones. If you need help, check out Stack Overflow. Redirects

If your Tumblr blog was on the domain, then head over to your blog and go to the Settings page. Click on your theme, then click Customize.

Tumblr to WordPress - Redirect

On the right side, click the Edit HTML button.

Tumblr to WordPress - Edit HTML

Enter the below code (or something very similar) in the head section of the HTML.

<meta name="description" content="This blog is no longer maintained here, and you will be redirected to the new location.">
<script type='text/javascript'>
   var new_slug = window.location.pathname;
   var new_root = "";
   var new_url = new_root + new_slug;
<link rel=\"canonical\" href=\"" + new_url + "\">");

Then paste this code in the body section of the HTML.

<script type='text/javascript'>
    window.location = new_url;

That should be all you need to do to redirect your old posts to your new ones.

This entire process could take several hours, maybe days. Make sure you are prepared for the move, and notify any die-hard followers you have. If you have any questions or concerns, please feel free to leave me a comment below.

The following two tabs change content below.
Founder at Inbounderish
Brad Knutson is a Web Developer in the Twin Cities area of Minnesota. He has experience working with WordPress and Drupal, and also has an interest in SEO and Inbound Marketing.

Keep Up-to-Date



See a complete list of topics discussed in blog posts here.

Check These Out

Get 2 Weeks Free! Sign Up Today! Premium Managed WordPress Hosting Genesis Framework for WordPress SEO is complex. Tools should be simple. Thesis Theme for WordPress:  Options Galore and a Helpful Support Community

One thought on “How To Transfer A Tumblr Blog To WordPress

  1. alexanderf

    Thank you for this instruction!
    I had several blogs on Tumblr, some of them I moved following your tutorial. It works pretty good. But the rest of my blog, two of them I have moved by using CMS2CMS converter. This tool was created both for web developers and website/blog owners. This tool doesn’t require any additional installation and takes just a few minutes to migrate all the content entities, It took me 13 mins to move 6 000 posts and images. It’s rather convenient way of migration if you want to say some time and when you’re not strong in some coding matters.

    Thank you one more time for this post!
    Hope my response will be useful for anybody!


Share Your Thoughts

Your email address will not be shown.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">