Migrating from BlogEngine.Net to WordPress
I finally did it. I pulled the trigger and switched nateirwin.net to WordPress. I’ve used open source Asp.Net blog engines (first dasBlog and then BlogEngine.Net) since the inception of this blog, but finally decided to move to the best supported blog engine out there. Why?
Well, first of all I am ready for a simple blogging experience. I simply don’t have the time to “tweak” and “hack” anymore. When I first started writing back in the Fall of 2006, I had much more time on my hands. Nowadays I’m trying to juggle multiple projects and at least keep some semblance of a personal life going. Secondly, I really want to start playing around with platforms other than Asp.Net, and PHP seemed like a good place to start.
So what does this mean for the blog? Well, now that I don’t have to put a lot of time into maintaining the blog, I’ll hopefully be able to post more often. I’m also planning on posting much more code, including some fully-working demo projects.
Now that that’s out of the way, I’ll outline what I had to do to get all of my content from BlogEngine.Net into WordPress. It was actually pretty simple.
First of all, I used the “Export to BlogML” tool in BlogEngine.Net to get all of my posts (including categories, comments, and tags) out of the system and into a format that I could easily transfer. BlogML
an open format derived from XML to store and restore the content of a blog.
I then followed this post
from Aaron Lerch’s blog to walk me through importing the content into WordPress. A couple of high-level points:
- Download the latest import module from the tools section of Aaron Lerch’s site (here’s a direct link to the download).
- Update the “PATH_TO_CURRENT_DIRECTORY” section to the path that you’re using.
- Download the Php.XPath library from Sourceforge.
- Upload “blogml.php” and “XPath.class.php” to your “/wp-admin/import” directory.
- Go to the “Manage>Import” section in the WordPress admin area and click on “BlogML”.
- Now you need to go back into the “blogml.php” file and comment out the section shown in the syntax box below(thanks to this post for pointing this out).
- Next, simply go back to the “Manage>Import” section and load the BlogML file. When the operation is successfully finished, you should download the CSV file that is created in the process, as you can use this to create redirects in your .htaccess file from the old urls to the new urls.
$blogml_import = new BlogML_Import();
register_importer('blogml', 'BlogML', ('Import posts, comments, users, and categories from a BlogML file'), array ($blogml_import, 'dispatch'));
And that’s it. You are now good to go.