Migrating from Blogger (esp FTP) to Wordpress

Posted by: Emmanuel Bernard on February 10, 2010

I am one of the “few” that have been let down by Blogger. They no longer support FTP export which makes it a no go for me.

I’ve decided to move over to a self hosted Wordpress. It was a very easy process overall, this blog summarizes the few steps needed.

1. Install Wordpress

The first step is to install Wordpress. My provider offers a very easy install via SimpleScript.

I have personally installed Wordpress in a subdirectory of my blog site to avoid messing with the existing files.

2. Find a theme you like

Moving along, nothing to see here. Pick and chose from the theme explorer in the admin console of Wordpress.

3. Move your Blogger blog from FTP publishing to myrandomblog.blogspot.com publishing

For the import to work, you need to expose your Blogger blog as a blogger hosted website. Don’t worry, since your blog is already published, your users will still be able to access it while you are messing around.

4. Create a user (optionally)

By default, the user is admin but you can create a dedicated user (in my case emmanuel).

5. Import your posts and comments

In the Wordpress admin console, go to Tools, select import, Blogger, the specific blog you want to import (in this case myrandomblog), and click. You can optionally associate your posts to a user in Wordpress ( hence step 4. :) )

6. Adjust the .htaccess (if in a subdirectory)

In the root directory of your website create an .htaccess file if you don’t have one already and add the following rule.

DirectoryIndex index.php wordpress/index.php
<IfModule mod_rewrite.c>
RewriteEngine On
#point to the wordpress directory
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !^atom.xml$
RewriteCond %{REQUEST_FILENAME} !^feed$
RewriteRule . /wordpress/index.php [L]

7. Adjust your feed to point to Feedburner (optional)

If you use feedburner and want your feeds to point to the feedburner feed, install FD Feedburner Plugin (from the Wordpress admin console, select Plugins-> add new

Then burn your feed in feedburner (or reburn it if you already have a feedburner feed). The URL to burn is typically blog.mywebsite.com/feed

Copy your feedburner feed URL in the Feedburner plugin configuration (you can reach it form the Plugins menu).

Note, you can also burn your comments feed using the same solution.

8. Redirect your old feed to the Wordpress feed

Blogger publishes your feed in atom.xml by default (unless you have overridden that in the publishing panel). Let’s redirect the old feed to the new feed, you don’t want to lose your existing followers, do you?

In your .htaccess file, add the following line

Redirect permanent /atom.xml /feed

You might have noticed that one of the RewriteCond rules is about the atom.xml file. If your feed is publicly available to a different file, change that as well.

9. Do not delete your old .html files (optional)

I’ve decided not to delete the old .html files that were pushed by Blogger. My reason was to let old references to still work. It’s up to you.

And you are done. Happy blogging :)

Emmanuel Bernard

About Emmanuel Bernard

After graduating from Supelec (French “Grande Ecole”), Emmanuel has spent a few years in the retail industry where he started to be involved in the ORM space. He joined the Hibernate team 4 years ago. Emmanuel is the lead developer of Hibernate Annotations and Hibernate EntityManager, two key projects on top of Hibernate core implementing the Java Persistence(tm) specification, as well as Hibernate Search and Validator. Emmanuel is a member of the EJB 3.0 expert group and the spec lead of JSR 303: Bean Validation. He is a regular speaker at various conferences and JUGs, including JavaOne, JBoss World and JavaPolis and the co-author of Hibernate Search in Action from Manning.

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »