Migrating from tumblr to WordPress

Tumblr to WordPress Migration: Step-by-Step Guide to Help You Move Your Site

Do you have a blog on tumblr which you’d like to move to WordPress? While Tumblr is a pretty good platform for blogging, self-hosted WordPress will provide you with more options in terms of both design and flexibility.

In this tutorial, I will guide you through the process of migrating your blog from tumblr to WordPress. Not only that, but I will cover important post-migration steps to make sure your new site is optimized and set up properly.

IMPORTANT: Migrating your site from one CMS to another IS NOT simply a matter of moving over the content. It is essentially building a brand new website from scratch.

If you’re looking for quality shared hosting for your WordPress website, we highly recommend A2 Hosting. They offer unlimited SSD space, free automatic site backups, hosting optimized for speed and 24/7/365 guru technical support.

Reasons to move from tumblr to WordPress

WordPress is the most popular CMS (Content Management System) around, and for good reason. It is easy to use, offers a wide range of options regarding both design and functionality, and can be used to create virtually any kind of site you want, including:

Important: When I am talking about WordPress, I am referring to self-hosted WordPress (available at wordpress.org), NOT WordPress.com. To learn about the differences between the two, check out my WordPress.org vs. WordPress.com post.

Tumblr is a popular platform, but it doesn’t offer the flexibility that WordPress does. You don’t have total control of your site and its content, and are limited in terms of monetizing your website.

Follow the steps below to move your Tumblr blog over to WordPress.

Pre-migration steps

Before you start moving your content, there are a few things you’ll need to take care of.

Registering a domain name

You will need to register a domain name for your new WordPress site. There are a bunch of domain name registrars you can use, but I’d go with either NameCheap or GoDaddy.

Namecheap, domain name registrar

When choosing a domain name, you want to keep some things in mind:

  • Make sure it’s relatively short.
  • Avoid using numbers and hyphens.
  • Make sure it’s easy to pronounce and type.
  • Choose something brandable, not generic.
  • Consider using keywords in a natural fashion.
  • Get a .com domain if possible.

Buying web hosting

Since we’re dealing with self-hosted WordPress, you’ll need to purchase web hosting. A web host simply lets you use space on a computer server which is connected to the internet.

For a new website (and many old ones as well) shared web hosting will suit your needs just fine. If your site gains popularity and traffic, you can always upgrade your plan later or even switch to cloud hosting.

UPDATE: While I used to use SiteGround for the majority of my sites, I no longer recommend them. After moving all my sites from cPanel to Site Tools (terrible move on their part), I experienced constant 500 Internal Server errors, despite having enough resources on my cloud hosting server.

SMART ADVICE: Whatever you do, ignore all the jerks who recommend BlueHost. They used to be a great hosting company, but have gone completely downhill since being acquired by EIG. Save yourself the time and hassle that comes with using any hosting companies owned by EIG. Also, steer clear of SiteGround!

Installing WordPress

Now that you purchased a domain name and hosting account, you’re ready to install WordPress. The majority of web hosts offer a 1-click installation within cPanel. Read below for step-by-step instructions.

WordPress tools in cPanel

In the WordPress Tools section in cPanel, click on WordPress Installer to get started.

WordPress install button Softaculous

Then, click the Install tab.

Choose protocol and domain

Next, choose your protocol from the following:

  • http://
  • http://www
  • https://
  • https://www

You can get a free SSL certificate from Let’s Encrypt, so there’s no reason not to use one of the https options.

Take this advice: Making your website secure will give you a slight ranking boost in Google SERPs. Basically, if there are two identical sites in terms of SEO and quality, the one with SSL will outrank the other. In newer versions of Google Chrome, it shows Not secure in the URL bar on sites without SSL.

Once you’ve selected the protocol you want to use, choose your domain from the dropdown list.

Under Site Settings, enter your site name and description. It doesn’t have to be perfect now because you can easily change it once you’ve completed the installation.

Site settings in Softaculous WordPress installer

In the Admin Account section, enter a username and make sure it’s NOT admin or your name. It’s best to treat it like you would a password, and make it something that would be hard to guess.

In Admin Email, enter the email address where you want to receive site-related notifications. This email address will also help you in the event that you need to reset your password if you’ve forgotten it and cannot log in.

Admin account area in Softaculous WordPress installer

Next, select the language for your installation. You can disregard all the other stuff.

Finally, click the Install button and wait until the installation is complete.

Click install button to finish WordPress installation in Softaculous

For more information on creating a WordPress site, check out my comprehensive WordPress setup guide.

If you don’t want to deal with installing WordPress, you can sign up for my FREE WordPress Setup and I’ll do it for you (conditions apply).

tumblr to WordPress migration

Step #1: Importing tumblr content to WordPress

Now that you have a domain name, hosting and a fresh copy of WordPress installed, you’re ready to import your tumblr content to your new site.

Tumblr import in WordPress tools

First, go to Tools in the left sidebar of your WordPress dashboard and click Import.

Find Tumblr in the table there and click the Install Now link beneath it. Once the the importer has been installed, click the Run Importer link to continue.

Run tumblr import tool in WordPress

Next, you will be taken to a screen where you will need to provide OAuth Consumer and Secret Keys, which allow your new WordPress site to connect to and import your tumblr content from their servers.

To obtain these keys, you need to click the link on the Import Tumblr page, which will take you to tumblr to continue the process.

First, enter your email address associated with your tumblr account and log in with either a password or link that they’ll send you.

Register application on tumblr

On the next page, you will click on the Register application button.

Register application details on tumblr

Now, you will need to enter the following details:

  • Application Name – make this whatever you want.
  • Application Website – use your WordPress site URL in this field.
  • Application Description – type whatever you’d like.
  • Administrative contact email – enter your email address here.
  • Default callback URL – enter your WordPress site URL here as well.

Once you’ve filled out the required fields above, complete the ReCaptcha and click the Register button at the bottom of the page.

OAuth and secret keys for tumblr application

Your application is now registered, and you will be redirected to a page with keys that you’ll need. Copy the keys and paste them within the Tumblr Importer on your WordPress site.

OAuth Consumer and Secret Keys for tumblr import

Paste the OAuth Consumer Key and Secret Key in the appropriate fields, and click Connect to Tumblr.

On the next page, click the Authorize the Application link.

You will be redirected to tumblr where you’ll need to click the Allow button.

Back in your WordPress dashboard, the importer will now show a table with your tumblr blog details. To import all your tumblr content, click the Import this blog link in the right-hand side of the table.

Let the importer do its thing, which may take a while depending on the amount of content on your tumblr blog.

Once the process is complete, you’ll see a Finished! message in the Action/Status column.

You can now check out all your imported content under Posts > All Posts and Pages > All Pages. In addition, you can see what your posts and pages look like on your WordPress site on the front end.

Make sure all your imported content looks good, and adjust anything if need be.

Step #2: Setting up redirects from tumblr to WordPress (custom domain)

If you were using a custom domain on tumblr (e.g. mycoolsite.com), you’ll want to update your DNS settings so it redirects to your new WordPress website.

This is important to ensure that people visiting your old tumblr posts are taken to the corresponding post on your new site.

There are two parts to setting up redirects:

Redirecting your domain

Redirect your domain by pointing your DNS records to your new hosting account where you installed WordPress. Updating your domain name settings is straightforward, but the process varies depending on your registrar.

You will want to log in and look for DNS settings within the control panel. Then, you will update the ip addresses to match your new hosting account.

Setting up individual post redirects

The second step is a bit more complicated, and may be pretty time-consuming if you had a lot of content on your tumblr site.

Basically, you will need to set up individual redirects for every page and post on your old tumblr site. This will help you to avoid broken links and preserve any SEO rankings your old posts had. It will also make your website visitors smile when things work properly!

In order to set up redirects, we’ll use the handy Redirection plugin.

Redirection plugin to setup redirects in WordPress

Install and activate the plugin, then head over to Tools > Redirection in the left sidebar of your WordPress dashboard.

tumblr to WordPress redirect

Next, you’ll click the Add New button at the top of the page.

  • Source URL – Here you’ll put the old source tumblr URL without the domain name at the beginning (e.g. /post/156485494764/my-cool-post).
  • Target URL – In this field, you’ll enter the target URL on your new WordPress site (e.g. http://myneatsite/my-cool-post/).

Setting up redirects from tumblr to WordPress (tumblr subdomain)

Were you using a tumblr subdomain on your old site? If so, your redirect options will be somewhat limited.

You have a couple options in this case:

Option #1: Disregard redirects

Forget about redirecting your old posts and simply notify your tumblr followers that your blog has moved. If you didn’t receive a lot of traffic, this option will work just fine. You can simply focus your energy on building your new WordPress blog and not worry about it.

Option #2: Implement Javascript redirects

If you insist on setting up redirects, you can use a Javascript redirect by editing the HTML in your tumblr site settings. This won’t help you preserve any SEO from your old site, but will help people locate your new WordPress site. If your old tumblr posts received a ton of traffic, then it’s worth setting up.

To add a Javascript redirect, first log in to your tumblr account.

Edit account on tumblr

Click the account icon at the top (looks like a head and torso), then select Edit Appearance.

Edit appearance in tumblr settings
Edit tumblr theme
Edit HTML tumblr theme

Next, click the Edit Theme button, followed by the Edit HTML link under your theme name.

Look for the </head> closing tag, and paste the following code right above it:

<meta name="description" content="Redirecting this post to the same content on my new WordPress blog!">
<script type='text/javascript'>
var new_slug = window.location.pathname;
var new_root = "http://yourname.com";
var new_url = new_root + new_slug;
document.write("<link rel=\"canonical\" href=\"" + new_url + "\">");

Make sure you replace the http://yoursite.com with your actual new domain URL!

Next, locate the opening <body> tag, and paste the following on the line right after it.

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

Now, your old tumblr post URLs should successfully redirect to your new WordPress site.

Post-migration steps

Now that you’ve moved over your content from tumblr to self-hosted WordPress, and set up redirects, you’re ready to start putting your new site together.

Choosing a WordPress theme

When moving any site to WordPress, you need to choose a new theme. Unfortunately, you won’t be able to use the same design you were using on tumblr unless you hire a developer to create a totally custom theme.

WordPress theme directory

In most cases, you won’t want to do this, as it will likely cost you more money than using an existing WordPress theme.

You can simply choose from 5,000+ pre-built themes in the WordPress Theme Directory or use a free or premium theme from other vendors including:

  • Colorlib
  • Elegant Themes (creators of the Divi theme)
  • Themeforest
  • Themezilla
  • themefuse

Take some time to think about the functionality you want your site to have, and choose a theme which accommodates those needs.

With your new site, you will need to create a navigation menu. You can either replicate what you had on tumblr, or set up something totally unique.

Creating a menu in WordPress.

It’s SUPER important to make sure that your visitors can easily navigate your site by having a well-organized main menu.

Creating a menu in WordPress is very easy. In the left sidebar of your dashboard, go to Appearance > Menus. Then, click the create a new menu link near the top of the page. Give your menu a name (e.g. main menu) and add whatever pages, custom links, posts, categories and other items you want to it.

In Menu Settings near the bottom of the page, select where you want your menu to be displayed, and click the Save Menu button.

Setting up contact forms

There are a variety of free contact form plugins that you can use to make it easy for people to reach out to you.

Contact Form 7 WordPress plugin

I have always used Contact Form 7 on all of my sites, and it works really well. You can configure autoresponder emails, add reCaptcha to cut down on spam submissions and connect it to MailChimp (and other email newsletter services) so people can easily sign up for your email list.

Pro tip: I recently found out that Contact Form 7 javascript loads on all pages of your site, even the ones without contact forms. This can negatively impact your site’s performance, so you should follow this guide to selectively enable it ONLY on pages with forms.

Other well-known contact form plugins include the following:

  • Gravity Forms
  • Ninja Forms
  • Contact Form by BestWebSoft
  • WP Forms

Creating widgets

With WordPress, you can easily add different content blocks to various areas of your website. These are called widgets, and are often found in the sidebar or footer of your site.

You can easily add widgets by clicking on Appearance > Widgets in the left-hand sidebar of your WordPress dashboard. In addition, with many themes you can add them in the Customize section while viewing the front end of your site.

Customize in WordPress admin bar

You can add a wide variety of widgets to your site, including:

  • Archives – shows a monthly archive of your site’s Posts.
  • Audio – adds player for audio.
  • Calendar – displays your site’s Posts visually in a calendar.
  • Categories – shows a list or dropdown of categories.
  • Contact Details & Maps – displays contact details and a map.
  • Content – adds text and/or images in a flexible grid.
  • Custom HTML – adds HTML code. 
  • Custom Menu – shows a custom menu.
  • Image – display any image.
  • Meta – shows Login, RSS and WordPress.org links.
  • Pages – displays a list of your website’s Pages.
  • Posts – sows your site Posts.
  • Recent Comments – displays recent comments on your site.
  • Recent Posts – shows a list of your most recent Posts.
  • RSS – displays entries from an RSS or Atom feed.
  • Search – adds a website search form.
  • Tag Cloud – shows your most used tags.
  • Text – used to display text or HTML.
  • Video – adds a video from your media library or a video hosting site (e.g. YouTube, Vimeo, etc.).

In addition to those mentioned above, certain themes have their own custom widgets. Once you choose your theme, decide what kind of functionality you’d like your site to have. Then, add and customize the widgets that you need.

Adding essential plugins

You already know that WordPress is an amazing CMS with tons of options in terms of both design and functionality. One of the reasons it’s so great is the amount of plugins you can use on your site, including those for SEO, site speed/optimization, security and more.

WordPress.org plugin directory.

With any fresh WordPress installation, you can install these plugins right away:

  • Yoast SEO – Use this to optimize your site’s on-page SEO, create and submit your sitemap to Google and much more.
  • W3 Total Cache – This caching plugin helps speed up your site.
  • Wordfence Security – Effectively protect your site against malicious activity.
  • BackWPup – This backup plugin lets run manual and automated partial and complete website backups.

You can learn more about the above-mentioned plugins in my must-have WordPress plugins post.

There are a boatload of plugins to choose from, and it can be difficult deciding which ones you should use. It’s a good idea not to go crazy and add a whole bunch of them, but rather install only the ones you truly need.

Prior to installing and activating a plugin, make sure you check when it was last updated and read some reviews about it.

When setting up how URLs are structured on your new WordPress site, it’s best to use short, concise permalinks. It’s important to configure your new website with best practices in mind, and this includes your site’s URLs (e.g. mysite.com/about).

Setting your permalink structure in WordPress dashboard

Your new site’s permalinks will be different than those you used on tumblr, so you’re starting with a blank slate. To set your URL structure, go to Settings in your dashboard’s sidebar and click on Permalinks.

In most cases, you’ll want to choose the Post name option, but there are times when you’d like to use a different structure (e.g. news sites with date-based articles may choose to add the date in the URLs for blog posts).

Carefully consider your particular needs, choose the appropriate permalink structure for your site, and click the Save Changes button.

Pro tip: You can also set custom terms to be used for both tags and categories if you’d like to use something other than the defaults (category and tag). If you’re running an online shop, you have options to adjust the product category, product tag and product attribute base values, as well as the product permalink (e.g. myshop.com/shop/sample-product/ or myshop.com/product/sample-product, etc.).

After moving from tumblr to WordPress, you want to make sure to check all of the internal links on your site. This includes those to pages, posts and media items.

Broken link checker plugin

Since you changed your permalinks structure, you will have some broken internal links that need to be fixed.

There are a couple different ways to do this:

Using Broken Link Checker – This helpful plugin will scan all of your site content and locate any broken links

Broken links will be displayed in two places:

The Broken Link Checker section in your WordPress dashboard.

Broken Links Checker widget in WordPress dashboard.

In the left sidebar, under Tools > Broken Links.

Broken Links Checker menu item under Tools.

This plugin is super helpful, and it even lets you fix broken links directly through its interface. Instead of having to navigate to every page or post you need to edit, you can make all corrections in one place.

Table of broken links in Broken Link Checker plugin

After the plugin has scanned all your site links, it will display the broken ones and you can proceed to fix them.

Fixing broken links with the Broken Link Checker plugin

If you hover over a broken link, you will see the following options: 

  • Edit URL – Here you can enter a new, updated URL which works.
  • Unlink – Quickly delete the broken link and forget about it. If the link was to a resource, you may want to update the text so as not to confuse your readers.
  • Not broken – In rare cases, the plugin mistakenly shows a good link to be broken.
  • Dismiss – Lets you ignore the broken link.
  • Recheck – If a site you link to goes offline for even a moment, a link will appear to be broken. With this, you can recheck to make sure the link really doesn’t work.

Once you’ve found and fixed all your broken links, I suggest deactivating and deleting the Broken Link Checker plugin. It works by scanning your site on a somewhat regular basis, which uses your server resources and negatively impacts your site performance.

PRO TIP: Instead of keeping this plugin installed and activated, you can use the Free Broken Link Checker tool to check periodically for any broken links on your site.

Manually – If for some bizarre reason you want to waste time going through all the pages and posts of your new site one by one, you can fix broken internal links manually as well.

Simply navigate through all your site content, fix any broken links and make sure to save your changes by clicking the Update button.

Making sure your site works properly

Now that you’ve moved over all your tumblr content, and set up your new WordPress site, you should spend some time checking everything.

Go through your site and make sure everything is working properly, including:

  • internal links
  • menu items
  • media files
  • permalink settings

Frequently Asked Questions

Will I have to choose a new site design when I move from Tumblr to self-hosted WordPress?

While you could always hire a developer to create a custom WordPress theme which mimics your Tumblr site, it’s much easier and less expensive to simply select a new theme from the countless free and premium WordPress themes available (see my guide for selecting a theme here).

Should I set up redirects from my old Tumblr posts and pages to their new WordPress equivalents?

The majority of Tumblr sites probably don’t have a lot of traffic, so in many cases setting up redirects is a waste of your time. If your site was really popular, then you may want to set up redirects. Whatever you do, make sure that your new WordPress site uses a concise permalink structure.

What WordPress plugins do you recommend for my new site?

I use and highly recommend Yoast SEO, Wordfence Security, BackWPup, and W3 Total Cache (or alternate WP Super Cache).

How about hosting? Which web host should I choose for my WordPress website?

Performance is crucial when it comes to your online presence, and web hosting plays a huge role. While I’ve never used A2 Hosting, they have a solid reputation. They use quality hardware, have super useful tools and offer amazing 24/7 technical support.


Moving a site from one platform to another may seem like an overwhelming and time-consuming task. Hopefully, this guide has helped you move all your content and configure your new site quickly and easily.

Is there anything I missed or you think I should add to my tutorial? Feel free to let me know how I could improve or add to it in the comments below.

If you’re struggling with your tumblr to WordPress migration, please leave a detailed comment below and I’ll do my best to help you.

Do you have a site on another platform that you’re looking to migrate to WordPress? Check out all of my website migration guides below:

If you found this post helpful, please share it and spread the word!

Want more like this? Sign up for my newsletter to receive helpful WordPress Tutorials, Tips and Tricks.

4 thoughts on “Tumblr to WordPress Migration: Step-by-Step Guide to Help You Move Your Site”

  1. Thank you for this tutorial. What I’m wondering is, will my content still be available on Tumblr as I’m migrating it to WordPress? I guess I’m confused on whether I’m physically importing the content, or more like copying it from one platform to another.

    1. Hey Contel,

      Thanks for your comment, and I’m glad you found my tutorial useful. You’re essentially copying the content, and it will remain on Tumblr unless you delete that page.

      Hope that helps! Feel free to reach out with any more questions or if you need help with anything.

  2. Hi! Great post! I already successfully migrated all my posts from Tumblr to WordPress. Just have a few questions:
    1. Should I delete my tumblr account? I’m afraid search engines will detect duplicate posts (since what I have in my Tumblr is the same in WordPress).
    2. Photos that are included in a text post were not migrated on my wordpress acount . Is there a way to easily migrate those photos? Or should I manually upload them on WordPress?

    Some note: I use my own domain name for my Tumblr, and the same domain name is used for my wordpress.

    Thank you and would appreciate your response!

    1. Hi Hazel, thanks for stopping by. Regarding your questions: 1. Yes, delete your tumblr account (but make sure you have all your images first); 2. As far as moving the images from text posts to WordPress, you can simply download them to your computer and upload/insert them in WordPress manually. While there may be a plugin to help automate this process, I would just do it manually because then you’ll have more control over where the images are inserted, etc. You can also check out my in-depth guide to optimizing your web images.

      Hope that helps!

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top