This short blog was born out of frustration, I wanted to move my wordpress.com blog to a self hosted .net based blog blogengine.net

Wordpress.com does not give you the option to move your blog in a SEO friendly way (no 301 redirect) only paid 302 redirects which you would have to pay for indefinitely.

It also gives you 7 import formats and only one export (wordpress to wordpress).

This was not what I expected from a company which has its root in open source. This smells like blog vendor lock in.

I can’t install plugins on wordpress.com of course.

 

Solution nearby

I found this blog WordPress BlogML Export, but the blog reffers to code I can’t find on codeplex, and it would probably need me to install something in wordpress which I am not allowed to do.

I still think what I was searching for probably does exist already, but I gave up searching and made it myself.

 

My converter

It is a command line tool made in .net 3.5, so you would need the Microsoft .NET Framework 3.5.

Don’t worry I don’t like commandline tools myself so no strange command line parameters.

Just use the built in wordpress export functionality to download a WXR file. Drag and drop the file from windows explorer to the executable: WXR2BlogML.exe

And you will get a new file in the same directory with the converted file in BlogML 2.0 format.

 

Quality

Well… each export is validated with the blogml.xsd. But I don’t pretend to be complete.

All categories, posts and comments seem to be exported correctly, writers get a fake email address as I did not find this info in WXR.

I do nothing with attachments and pictures. So the pictures in the blog still point to wordpress.com (great their bandwith)

Tags are not in blogml 2.0,  blogml2.5 has tags but I needed a blogengine compatible file.

Changing two comment lines in the code gives you 2.5 + tags.

The sourcecode is quick and dirty, with no comments and lot of static functions. It is a Linq to XML on steriods sample, making heavy use of LINQ power, normally I would say abusing linq because the linq statements are long. But I already told you quick was my focus, so dirty is my solution.

 

What about SEO?

I can’t do it with 301 redirects, so my plan is to just copy the whole blog, and in the original replace the blog posts (not that much) by a short summary and linking to my new blog.

I hope the new blog gets the link juice this way, even if it is only a little bit.

Tips on this subject are welcome.

 

Downloads:

 

 

 

 

 

The license is DBAP OSL. (Don’t be a pr#$!ck open source license.)

Which means do what you want with it, but let me know if you have any improvements worth mentioning.

An Image extractor and src=”” replacer would be nice. :-)