I recently transitioned a client with a popular financial Tumblr blog over to WordPress. After helping him choose a suitable WordPress theme and customizing the theme, it was time to start importing Tumblr posts.
I installed the official WordPress Tumblr Importer to get the posts moved over. I inputted the API key and hit the Import button. The plugin warned me that it could take some time to import all the posts. I went for coffee. I kept checking back, but the plugin showed that it was still importing. After a day of me letting it sit, I came back with the spinner still spinning and only one post imported.
Going back to the plugin homepage to read the documentation, I saw the plugin had not been updated in over 2 years. Given that two years is a long time in API land and that Tumblr has changed hands at least twice in that time (Yahoo, now part of Verizon), I figured it would be more than a simple pull request to get the plugin in working condition.
Since I didn’t have time to update the plugin ( a good project for another time) I had to get creative. To resolve the issue, I knew that WordPress allows users to import via XML/RSS, so I found a service called Tumblr2WordPress that can export a Tumblr account’s posts to an XML file.
The service has a few options including the ability to set the exported content format and the permalink slug. I popped in the url of my client’s Tumblr blog, hit submit, and it spit out an XML file. Tada!
After I downloaded the exported file, I installed the RSS Importer from Tools > Import in the WordPress Dashboard.
One caveat of the RSS Importer is that it will not download images linked in the RSS feed. You have to trust that Tumblr will not one day purge your images or (safer) manually re-upload images to each post. Luckily only about half of the over 200 posts that I imported for my client had images.