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 is…
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.
//include_once(’import.php’);
//if(function_exists(’register_importer’)) {
$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.
{ 2 trackbacks }
{ 12 comments… read them below or add one }
Does this import tool include users?
If not, is there a seperate tool for that?
To be honest, I don’t quite remember. I do believe that you can specify a user for the imported posts (obviously), but I don’t know how well this technique supports multi-user blogs.
Nice… thanks for the info. I did this and everything seemed to import fairly well with the exception of the category names… they’re all ID’s or something.
How did you manage all your indexed content on the search engines? A link to *.aspx is invalid once you do this, so did you just ignore this, or was there something else you did to maintain all your indexed content?
I’m looking at doing the same transition, and many of my posts are doing really well in Google and I’d rather not lose all that effort by making the transition without accommodating those links somehow.
Also, last thing I want to do is create a URL rewrite for each and every bit of indexed content. That would be a real pain. lol
Good stuff, thanks for sharing it.
Good question. I’ve migrated platforms a couple of times now (first dasBlog then BlogEngine.net and now WordPress), and have had to deal with this issue each time.
When going from dasBlog to BlogEngine.net, I implemented a redirect and manually set up all of the links. This time, however, I just focused on making sure that the major search engines would quickly point to my new urls. I did this by setting up a new XML sitemap and feeding its url to all of the search engines. On top of this, I made sure that I had a good 404 page in place. In my opinion, if a user comes into your site via a dead link, they will stick around as long as there is an easy way for them to find the content they are looking for.
In the end, I wasn’t too worried about losing traffic. If this is a priority for you, you’ll probably want to find a more elegant approach.
I think writing your own blog engine is a great idea. And the best part is that you don’t have to bother with someone else’s list of required features. You code it to your needs and leave the rest out. Then add more features as you need them.
So, I’m having a hard time getting this to work with WordPress 2.8.4. You wouldn’t by chance have any suggestions or know of any reasons things would work?
I appreciate any help you can give.
Where is it going wrong? Are you getting any error messages?
I haven’t tried this with any of the newer versions of WordPress, but it should, theoretically, work.
С Днем тестировщика! С праздником!
Thanks for posting this. I’m getting ready to go through the same process from BlogEngine to WP. Having some issues with BE on my hosting account and its doing funky things with links and some features aren’t working right so I’m gonna head to WP. Plus I have buddy who can help with a nice WP theme.
Cheers!
Advantageously, the post is actually the greatest on this precious topic. I fit in with your conclusions and will thirstily look forward to your incoming updates. Saying thanks will not just be adequate, for the phenomenal clarity in your writing. I will instantly grab your rss feed to stay informed of any updates. Fabulous work and much success in your business efforts!
I am also trying to do this as I have a blog on blogengine that is over 300 posts.
Where can I find this:
“Export to BlogML” tool in BlogEngine.Net
Is this tool within the backend of the blogengine blog or within the file manager of my hosting?
Would appreciate the help