Switching to WordPress from Blogger

My original Anne 2.0 blog was published by Blogger via ftp to my own webhost. I decided to switch to WordPress for these reasons:

  • The variety of themes offered by WordPress
  • Its open-source AMP (Apache/MySQL/PHP) architecture
  • The array of interesting plugins made available by the WordPress community
  • The control WordPress gives me over my blog presentation
  • The fun of playing with the source code

Switching from an FTP-published Blogger blog to WordPress has so far been fairly easy, though I haven’t quite finished. If you want to do the same thing, here are the basic steps to follow, with links to helpful articles:

  1. Install WordPress on your domain host. Download Wordpress 2.0.2 and then install it on your web host. I use GoDaddy. I initially had a Windows/ASP hosting account but switched it with the check of a box to Linux. Although it took a few hours for the switch to complete, my existing website functioned without problems afterwards. Supposedly you can run WordPress on a Windows host, but why make things so hard on yourself?
  2. Create a local testbed. You don’t want to have to upload individual css and php files every time you make a change to see how it looks and acts. Here are the instructions I used for installing WordPress on OS X Tiger.
  3. Import Blogger posts into WordPress on the remote host. Justinsomnia has the most detailed and useful instructions. If you are planning to import Haloscan comments, you’ll need to make one slight change to Wordpress’s standard Blogger import file before importing posts to make sure the comments can get properly associated with posts. My import ran exceedingly slowly and showed MySQL lost database connection errors until I removed one little space from wp-blog-header.php. Check out this thread on the WordPress support site for details and for the fix.
  4. Import Haloscan comments, if needed. I used Haloscan for my Blogger comments. Justinsomnia has instructions for importing those too.
  5. Modify WordPress permalinks so that links to your old post will look the same. Justinsomnia gives all the gory details. First, change your WordPress permalink structure to match Blogger: /%year%/%monthnum%/%postname%.html. Then, because WordPress doesn’t convert post names into post slugs (filename components) in the same way as Blogger does, you’ll need to do some fancy stuff with SQL. I haven’t done that part yet, so I can’t comment on how well it works or how difficult it is.
  6. Direct feed subscribers to your WordPress feed. You shouldn’t need to post a “subscribe to my new feed here” link. You can make it the change almost transparently. I say “almost” because Bloglines has yet to completely comprehend my new feed setup. If you have a feedburner feed, it’s easy to switch it to your Wordpress feed: just plug in the URL of your new WordPress feed, e.g., mydomain.com/index.php?feed=rss2 or some such). For the atom.xml feed, use a mod_rewrite rule, described here. That’s the theory anyway. I haven’t gotten Bloglines to respond to the atom.xml redirect yet. If this continues, I’ll have to make an announcement in atom.xml and hope subscribers find their way over to my feedburner feed.
  7. Delete or move Blogger files. If the directories holding the posts are still there, this will screw up WordPress’s handling of monthly archives. I moved them into a subdirectory in case there’s something I need.

7 Comments

  1. Posted May 11, 2006 at 4:59 pm | Permalink

    Anne, I’m glad my Blogger/Haloscan to WordPress instructions proved somewhat helpful. I need to look more deeply into making sure the old Blogger permalinks get pulled over in WordPress. The process I took was hackish and haphazard. I’m not sure I’d recommend adding .html to your permalink, but heck, it gets the job done. Now you just might need to go remove the “a”, “an”, and “the”s from your post slugs.

  2. Posted May 12, 2006 at 4:44 am | Permalink

    Ahhh I’d spotted Justin’s posts on this topic. So I guess I’ll be using them! Glad to see it was pretty straightforward. Mind you I’m going to be importing blogger posts into an existing WordPress blog so may need to do some pre-tweaking of my own.

    Glad the HaloScan move wasn’t too bad either.

  3. Posted May 12, 2006 at 7:07 am | Permalink

    Hey, Justin, I was thrilled to find your instructions. I’ve learned so much about WP just by reading through them. I’m not sure how I feel about the “.html” in my WP permalinks. Seems cheesy to have that suffix there, but mod_rewrite didn’t work the initial time I tried it–I probably could get it working now that I understand more what’s going on. But it’s all a fiction anyway right? Whether WordPress does it or I do it with my own rewrite, the .html isn’t real. I need to think on it more, and think on the right user interface for a permalink.

    Gordon, hope it goes well when you import your posts. I didn’t notice anything in the process that would be affected by having existing posts.

  4. Posted May 12, 2006 at 10:38 am | Permalink

    Anne, here’s the rewrite rules I put in my .htaccess file, which is located in the same directory as WordPress’ index.php. I put this block just above the the block added automatically by WordPress.

    <IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteBase /
    RewriteRule ^atom\.xml$ http://example.com/feed/atom/ [R=301,L]

    # maintain old blogger .html post and archive pages
    RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html$ $1/$2/$3/ [QSA,R=301,L]
    RewriteRule ^archive/([0-9]{4})_([0-9]{1,2})_01_archive.html http://example.com/$1/$2/ [R=301,L]

    RewriteEngine Off
    </IfModule>

  5. Posted May 12, 2006 at 10:43 am | Permalink

    Of course I forgot to mention, example.com should be changed to your preferred domain. You can see it in action as both the published permalinks:

    justinsomnia.org…importing-haloscan-comments-into-wordpress/

    and the rewritten/redirected .html permalinks work:

    justinsomnia.org…importing-haloscan-comments-into-wordpress.html

  6. Posted May 12, 2006 at 12:05 pm | Permalink

    Thanks a bunch, Justin. I’ve been fighting with mod_rewrite some more this morning. Haven’t gotten it working yet, though, so I’m glad to have your instructions.

  7. Posted July 9, 2007 at 7:07 am | Permalink

    Suggestions by you were really nice, thanks for taking out time and write about your experiences to help others.

    For me it dint work out some how so finally I used my wordpress online account for importing my blogger account and then later I exported it.

    I dint face any trouble importing the wordpress export file on my server.

    I guess this is a quite simple and assured way for moving from blogger to wordpress.

One Trackback

  1. [...] I’m late to this particular usability party, but I just realized in converting to WordPress that permalinks are part of the user interface of a website. It didn’t initially seem problematic to me to mindlessly stick “.html” as the suffix to every WordPress permalink so as to get a little backward compatibility with my Blogger past, but a comment from Justin on my Blogger to WordPress instructions made me rethink that. As a longtime Windows user, I like to see filename extensions. But there’s no reason my blog readers need to see “.html” when they browse or link to a particular post. So I’ve eliminated the .html from my WordPress permalinks and I’ll handle old Blogger links via Apache’s mod_rewrite, which allows URLs to be rewritten as they come in. Fortunately Justin has provided even more details on how to do that, because my own experimentation this morning resulted in much learning about mod_rewrite, the Apache web server on Mac OS X, and regular expressions but no actual stripping of the .html suffix. When I get it working I’ll update my instructions. [...]

Post a Comment

Comments are moderated. Rude comments may be edited or deleted.

Your email is never published nor shared. Required fields are marked *

*
*