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:
- a website or blog
- an eCommerce site
- a membership site
- a community forum
- an online course
- a podcast site
- and more
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.
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.
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!
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.
In the WordPress Tools section in cPanel, click on WordPress Installer to get started.
Then, click the Install tab.
Next, choose your protocol from the following:
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.
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.
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.
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.
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.
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.
On the next page, you will click on the Register application button.
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.
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.
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.
Install and activate the plugin, then head over to Tools > Redirection in the left sidebar of your WordPress dashboard.
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.
Click the account icon at the top (looks like a head and torso), then select Edit Appearance.
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!">
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.
window.location = new_url;
Now, your old tumblr post URLs should successfully redirect to your new WordPress site.
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.
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:
- Elegant Themes (creators of the Divi theme)
Take some time to think about the functionality you want your site to have, and choose a theme which accommodates those needs.
Adding navigation menus
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.
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.
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.
Other well-known contact form plugins include the following:
- Gravity Forms
- Ninja Forms
- Contact Form by BestWebSoft
- WP Forms
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.
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.
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.
Optimizing your permalinks
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).
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.).
Checking and fixing internal links
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.
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.
In the left sidebar, under Tools > Broken Links.
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.
After the plugin has scanned all your site links, it will display the broken ones and you can proceed to fix them.
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?
Should I set up redirects from my old Tumblr posts and pages to their new WordPress equivalents?
What WordPress plugins do you recommend for my new site?
How about hosting? Which web host should I choose for my WordPress website?
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:
- Weebly to WordPress
- Wix to WordPress
- Squarespace to WordPress
- Blogger to WordPress
- Joomla to WordPress
- Drupal to WordPress
- WordPress.com to self-hosted WordPress
- Medium to WordPress
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.