When you export all your post data from BlogEngine and try to import the data file into WordPress using Aaron Lerch’s BlogML import class, I found that it does not include any of the commentators URL’s, which means all those comments that my readers left would no longer be a link. I find that very unacceptable.
The BlogML import class also left out all tags on my 350 posts. I don’t want to go back through all those posts creating new tags for them after I perform the transition, so I decided that I would spend some time modifying the BlogML class so that these two issues would be resolved.
After some testing and tweaking, I was able to accommodate both of my requirements and make the transition from BlogEngine to WordPress a little more nice.
This version does everything that Aaron’s BlogML class does, with my two additions included.
Installation Instructions
Simply copy to BlogML.php file into your /wp-admin/import/ folder. Once you do, you will see the BlogML import format as a selection on the Tools – Import screen.
Install the Php.XPath class into the same folder as the BlogML class.
Download
You can download the updated class from one of my other sites until I have a chance to make the migration and place the file into a directory on my new host.
Download the Updated BlogML Import Class for WordPress
You will also need
Php.XPath library available from SourceForge (Get version 3.5)
Support
I’ve tried my best to ensure that everything happens smoothly with the import, however if you have any issues, please feel free to leave a comment here or contact me.
Wayne John is a health coach for people that want to lose weight, gain weight, improve athletic performance, or simply maintain a healthy lifestyle. Wayne has lost over 55 pounds and improves his current health every day by using simple, straight-forward techniques that anyone can integrate into their lives to achieve the same. Contact Wayne today to realize your own health and fitness goals, or get started now by completing and submitting the free Wellness Profile. He also has been developing websites since 1995 and programming solutions for clients even longer. He'd rather be outside having fun in the sun though.

Getting closer….
Twitter: CyberCoder
says:
Excellent information. Always good to see people share their real experience from transitions like this.
I’m trying to import my BlogML exported file (from BlogEngine.Net) but when I use your’s/Aaron’s BlogML import class my Tools->Import page is blank.
You wouldn’t happen to have any ideas on how to remedy this?
Twitter: waynejohn
says:
If you don’t see the list of importers under the Tools – Import page, then I would suspect a bad install of WordPress. I went through several iterations without an issue like you describe, so I’m not sure what might be causing it.
I think the user was talking about to the blank page shown once pressed onto import. That’s what I got. Any idea? BlogML file is in UTF8 as suggested somewhere.
Twitter: waynejohn
says:
But did the import work? I don’t recall anything of my own effort since it was many months ago…but I might imagine blank page appearing due to the size (timeout?) of the import. I had to break my import into 3 chunks, and import each one to do my entire set of posts.
Perhaps that’s what we’re talking about?
I get the same issue. Blank page after you choose what platform you’re importing from. Before you start the import. I have been trying for weeks to figure it out…
I found the answer. Turn off all of your plugins and then try the import. it worked for me..
Ok, just to double check.. are you using v2.8 of WordPress? If I remove the blogml.php file from the imports dir then all the importers are visible again, weird.
It might just be best to reinstall WordPress and try again.
Thanks!
Twitter: waynejohn
says:
You might want to make sure that you didn’t change the character encoding of the file, or *gulp* if I have a different encoding in the file.
I believe that will be the problem now that I’ve had a chance to consider the issue a bit.
Hi,
Great tool.
I seem to gave a small problem with my BlogML file exported from blogengine.
when I import it to WordPress, It works fine, but most of post are posted without content, while the content is there in BlogML.xml
any solution?
Twitter: waynejohn
says:
Check to make sure that you’re not running into a character encoding issue. If you’re going from Windows to a Linux system, that might be the cause. I’ve hit that a few times, but that is the only thing I can think of that might cause that issue. Unless there is something about the way the export formatted the file, or something in your content…
I originally found Aaron’s but was having some weird issues with step1 after import of the xml file… Found your post and was hopeful since it was over a year newer… but I’m still having issues using the importer.
Fatal error: Out of memory (allocated 41943040) (tried to allocate 262144 bytes) in /home/username/public_html/wp-admin/import/XPath.class.php on line 2163
Installed a local copy of WP and increased the php memory
ini_set(‘memory_limit’,’128M’);
… that allowed the import to run but only on my local copy, won’t work for the site online. So I have the posts, users, and the categories… well – about the categories…
The categories imported the name and the slug as the ID from blogML… can’t edit them because for some reason the slug already exists? IDK but I’m going through it now to figure out that portion of it…
Wondering if you experienced that at all?
.-= Chuck Reynolds´s last blog ..Android to Iphone Part 2 =-.
Twitter: waynejohn
says:
I know what you’re going though. What I had to do was split the export into several export files, 1, 2 and 3 in my case. By splitting the file up into smaller ones, you can import each one, one after the other.
The xml file has nodes in the beginning and ending part of the big file that you’ll want to have in each of the files you create. Like the category info and what-not. The importer needs that info to be there to work as it will look for it during the import process.
As for the categories, I ignored them in my particular case as I decided to redefine my cats, which subsequently also forced me to give each post a new category once the import was complete for each file.
You might try, and I didn’t test this, but I believe you might be able to edit the exported file and modify the guid’s into category names. You might have to do a find-replace operation on the whole file as I cannot remember if the post items referenced the guid or name of the category. If they reference the guid, then once you change the category definition, you will most likely have to change the posts category guid as well to match whatever text you give them.
I hope that helps. I’m pretty distracted right now as I write this, but I think you might understand all this. If not, feel free to hit me up with any more questions you might have.
Right on, just got your email too… thanks for being so responsive – I like that.
I got it to work on my local server on my laptop… the categories were the long ID’s that blogml used, but i just looked at the CDATA that was in the xml associated with the ID’s and manually edited those in the DB. I had to get rid of the tags he used on the blog… TONS of tags… and obviously BlogML doesn’t do proper taxonomy because a lot of the tag slugs were the same as what the category slugs were. He was doing tags all wrong so I wiped them and did the tags properly, but would be something to look at for anybody else in the future.
I don’t think it’ll ever be seamless but getting that initial start, importing the 600+ posts was the biggest thing….
Now I just need to do the 301 redirects… sigh…
Take it easy man! and thanks again!
Chuck
.-= Chuck Reynolds´s last blog ..Android G1 to iPhone 3GS =-.
Twitter: waynejohn
says:
You can get all the 301 redir info you need from the import log that is created. I used Excel to put the lines altogether properly, and copied to the .htaccess file, done. Each import will wipe any prior logs, so grab the log data after each import.
I am planning to migrate on WordPress too. Unfortunately link on your updated class is broken. Can you fix it, please?
Twitter: waynejohn
says:
Fixed! Thanks for alerting me to that.
awsome man,thanks a lot
.-= Jeff´s last blog ..Hello world! =-.
Do you have an updated script for wordpress 2.9
Twitter: waynejohn
says:
I don’t, does this one not work?
I am trying to import a blogEngine exported file into WordPress 3.0.1 running on Ubuntu 10.10 desktop (in VM for learning purposes). I am very new to Linux but so far have everything installed and working.
However, following your directions, there was no import folder under the wp-admin folder. When I created it and then placed the two files there, the Tools >> Import page now was blank except for the title (was showing other importers before I added the folder). In other words, all of other available importers were now missing. So I broke something somewhere when I added the import folder at /usr/shared/wordpress/wp-admin/import/.
Perhaps WP 3.0.1 handles this differently now? Any idea what I could have done?
Any hints or suggestions would be greatly appreciated.
Twitter: razorfrog
says:
Thanks for the code tweaks! I added them into the plugin for a easy 3.1-compatible solution. Download a copy here:
http://maxelman.com/etc/blogml-importer.zip
Twitter: waynejohn
says:
Thanks for updating the code Max! Looks good!
Twitter: fat4lity85
says:
Excellent information. Always good to see people share their real experience from transitions like this.