Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Properly Move Your Blog from Tumblr to WordPress

Last updated on by
Elegant Themes
How to Properly Move Your Blog from Tumblr to WordPress

Tumblr is an awesome micro-blogging platform, but there are some obvious limitations to it. Tumblr users who want to do more with their blogs usually seek refuge in self hosted WordPress. We have helped numerous users transfer their tumblr blog to WordPress. Having done it enough times, we thought we should outline a step by step guide on how to migrate your tumblr content over to WordPress. In this post we will show you how to properly move your Tumblr blog to WordPress, so you can do it on your own without hiring a developer.

Things You Need Before You Start

You will need to have a domain name and a good WordPress hosting company. We highly recommend that you use Bluehost because they will give you a free domain and 50% off their hosting plan (special for WPBeginner users). Not to mention that Bluehost is also an officially recommended hosting provider of WordPress.

You will need to install WordPress on your site. Refer to our step by step guide on how to install WordPress. Lastly, you will need to have your Tumblr account access on hand.

Migrating Content from Tumblr to WordPress

Once you have installed WordPress, go to the WordPress admin dashboard and click on Tools » Import:

WordPress Import Tool

On the import screen click on Tumblr to install Tumblr Importer plugin.

WordPress Importer Tools

Once the plugin is installed click on Activate Plugin & Run Importer. This will take you to Tumblr import page. In order to import your Tumblr blog to WordPress, you need to create an app using Tumblr API. This is a fairly straight forward procedure. Tumblr import page has instructions on how to do that. Most importantly it will show you the URL you need to use as the default callback URL in the next step, so copy this URL. Now go to Tumblr Applications page and click on the Green +Register Application button.

Tumblr Register Application

On the app registration form the only required fields are Application name, Application Website and Default CallBack URL. Rest of the fields can be left blank. In the application name you can use your WordPress blog’s name. In Application Website URL field, you can enter your WordPress blog URL. For Default Call Back URL, enter the URL provided by your Tumblr Importer plugin. Register your application and on the next screen Tumblr will show you OAuth Consumer Key and Secret Key. Copy these keys and paste them on Tumblr Importer plugin page on your WordPress blog. Once you have done that, then press Connect to Tumblr button.

Enter OAuth and Secret Keys

On the next screen, click on “Authorize the application”. This will take you to Tumblr, and you will be asked to allow this application read-write access to your Tumblr account. Click on allow to give the importer plugin access to your Tumblr account.

Authorize Application Access

Once you have granted the application access to your Tumblr account, you will be redirected to your WordPress site’s Tumblr importer plugin page. Tumblr Importer will now be showing blogs associated with your Tumblr account. Click on “Import this blog” button next to the blog you want to import.

Import your Tumblr Blog to WordPress

The importer will then start importing your posts from Tumblr to WordPress. The duration of this process will depend on the number of posts you have on your Tumblr blog. During the process it will show you the progress. Once the importer is done it will show you the status as “Finished”. The Tumblr Importer plugin attempts to import your posts using the correct post formats. For example a text post in Tumblr will be imported as a regular post, an image will be imported as gallery, quotes will be imported as quote and so on.

Now you are done migrating your content from Tumblr to WordPress, however we are not done with the entire process. We have a fairly huge problem at our hands which is redirecting our old Tumblr users over to our new blog.

Redirecting Tumblr URLs to WordPress

If you were using a custom domain on your Tumblr blog (like mysite.com), then this process is going to be rather easy. If you were using mysite.tumblr.com, then the process is going to require a few extra steps. Let’s look at both steps one by one.

Redirecting Old Tumblr URLs to WordPress

First thing you need to do is install and activate the Redirection plugin.

Once activated, go to Tools » Redirection. Create a single redirection using regular expressions like so:

Source URL would have: .*/post/\d+/(.*)

Destination URL would have: /$1

Redirections Plugin: Tumblr Settings

Click on the “Add Redirection” button, and you are done. Now all of your old Tumblr blog URLs like this:

www.yourdomain.com/post/2610988231/my-post

Will redirect to your WordPress post URL that looks like this:

www.yourdomain.com/my-post/

Note: In order for this to work, your permalink structure must be set to Post Name. You can do this by going to Settings » Permalinks and check the Post Name checkbox.

Permalink Settings Post Name

If you had a custom domain on Tumblr, then you are done here. If you were using the tumblr.com subdomain, then please continue to the next step.

Redirecting Tumblr.com Pages to WordPress

You would need to edit your Tumblr theme. Go to your TUmblr Account settings, and click on your blog. Next to theme, there should be an option to Customize.

Tumblr Customize Theme

Click on Edit HTML on the left hand side, and paste the following code inside the head element:

//Inside of <head>
<meta name="description" content="this is a legacy blog page, and will redirect to the same post on my new blog">
<script type='text/javascript'>
   var new_slug = window.location.pathname;
   var new_root = "http://your-new-url.com";
   var new_url = new_root + new_slug;
   document.write("<link rel=\"canonical\" href=\"" + new_url + "\">");
</script>

Then paste the following code inside your body element:

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

Source: Cosmo Catalano

This should do the job for you. Now you have successfuly moved your tumblr blog to WordPress.

We hope that this article helped you import your Tumblr blog to the powerful WordPress platform. Once you have imported your Tumblr blog to WordPress you might want to familiarize your self with the new blogging tool you are using. A good place to start is our WordPress Beginner Video Tutorials.


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »

Comments

  1. Rachel says:

    I completed all of these steps to move my tumblr blog to my WordPress website. I do not have a custom domain for my tumblr site so I had to paste in the html code in tumblr for the redirect, but I do not think I did this correctly. When I click “Update Preview” on my tumblr html page I get a 404 error on my website. I no absolutely nothing about coding so perhaps I pasted the code in wrong? Is anyone able to help me verify?

    Also it looks like none of my photos or videos were moved from my tumblr posts to my WordPress posts. Is there another step I need to take?

  2. Stan Williams says:

    Awesome! I can’t wait to try this
    , i have several self hosted wordpress installs. stans-songs.com being one, and 3 Tumblr blogs, 2 Tumblr blogs are using custom domain names and 1 isn’t.
    I will have fun trying i suppose…

  3. Christina says:

    I imported my tumblr site {I had a custom domain} with the wordpress import {disabling the custom domain to import}. My site is functioning great and my images and content were imported. However I need to redirect my images from tumblr to wordpress because my older articles cannot be found with the old address. I did the “Redirecting Old Tumblr URLs to WordPress” for a custom domain and my links are not being forwarded. Its showing track 404s. Am I supposed to redirect every single link I have in order for it to work? Thanks.

    • WPBeginner Support says:

      Christina no you do not need to redirect every single link. Under Tools &requo; Redirection, you can define source URL with regular expressions. Check the screenshot above for an example.

  4. hannah says:

    Is there a way to port a tumblr blog over to a free wordpress blog site? I’m interested in porting from tumblr to a site that would be myblog.wordpress.com, not a site with my own name. I don’t speak developer, so if someone could explain whether or not this is possible in simple terms, this would be quite helpful

    • Editorial Staff says:

      Yes that is possible. Go to WordPress.com and signup for a free account. Then go to Tools > Import and follow the same process mentioned here.

  5. Krzysiek says:

    Is this action is copying only posts or whole whole blog even with theme? I’m trying to move whole blog (even with theme) to WP and I realy don’t have any idea how.

    • Editorial Staff says:

      Moving the theme would require you to create a custom theme that matches your styling at Tumblr.

  6. Glenn Dixon says:

    Two items to be aware of:

    1 – If you are using your own domain name on Tumblr, you need to disable this before you start, otherwise you will have to do most of these steps all over again…

    2 – During the authorization process something went awry and I ended up with a bunch of extra characters in the URL. Here are the characters I had to manually replace before the authorization would complete…

    %25 is %
    %26 is &
    %3D is =
    %3A is :
    %3F is ?
    %2F is /

  7. Matt Cromwell says:

    When I try to authorize the Tumblr app from the WP admin panel I get

    “The requested URL /oauth/http://www.mywebsite.com/wp-admin/admin.php?import=tumblr was not found on this server.

    (Where “mywebsite.com” is my domain of course). Any suggestions or how I can resolve this?

    • Editorial Staff says:

      Really hard to tell what is going wrong. One possible cause is if your callback URL doesn’t match.

    • Otto says:

      This appears to be a bug with Tumblr’s system at the moment. They’re not handling the callbacks correctly. It’s a bit annoying.

    • Otto says:

      Nevermind, I found a fix. Tumblr made a change to their OAuth handling and didn’t document it anywhere. I’m releasing 0.8 of the Tumblr plugin to correct this issue.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.