Skip to content
My addition to MrHinsh/gwb-to-wordpress tool(previously located at
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead of MrHinsh:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

GeeksWithBlogs was my first ever blog and my first post was on 22nd June 2006. Since then very little functionality has been added. This is not a complaint, but rather an observation that it is very hard to keep up with all of the blogging capabilities that people want. My point would be: “Why bother!”

I proposed a Vote for GeeksWithBlogs moving to WordPress, but this was rejected. With that and a couple of other decisions that were made I needed to move my entire blog from GWB to WordPress.

Unfortunately the owners of GeeksWithBlogs are not forthcoming with data dumps and with the whole idea that you as the author own the content and not them, so I had to do this the hard way.

Herein you will find the tools that I created to migrate all of my posts from GeeksWithBlogs (without the help of a 301 redirect) to WordPress. You can chose to migrate to Self-Hosted, Hosted or whatever.


I have only ever run these tools under debug and Alfa modes and I tweak each run of the tool for the things I am trying to achieve. There is no easy way to do this and I have created a process and tools to support that process that worked for me. You will need to download the source and make the tools work for you. I am DONE with this project as I moved to, but if you want to contribute then let me know and i will add you.

Here is the process and tools that you will have to customise and use:

  1. Get all posts from GeeksWithBlogs (ExportCommand** )**

    For each Post on GeeksWithBlogs

    1. Add it to a BlogML
    2. Save BlogML
  2. **Post all saved posts to new WordPress site **

To import blogML format to Wordpress, there are a few tools available.
If your new blog is self hosted from, you can install some of available plugins, e.g. But custom plugins not supported in For you can use blogmigrator ( ) or BlogML.Helper.exe ( Blogmigrator has less steps to do, but doesn't import comments. If comments are important to you, the only choice that I found is BlogML.Helper.exe For each Post in BlogML
1. Publish to WordPress
2. Save

  1. Update all Posts to change context

    For each Post on WordPress:

    1. Get List of All Images (ExportImagesCommand )

      For each Image:

      1. Download the image locally
      2. Upload the image to WordPress
      3. Change all instances of the image in your post to be the new WordPress location
      4. Save post
    2. Get List of all links (RewriteUrlCommand )

      For each Link :

      1. If link matches a pattern then change it to the new pattern
      2. Save post
  2. Shorten all GeeksWithBlogs posts to avoid duplicate content penalties (RewritePostsCommand** )**

    For each Post on GeeksWithBlogs:

    1. Add “*Moved to: XXXX“ to the start
    2. Shorten and add “*Moved to: XXXX“ to the end
    3. Add “I have moved my blog to “XXX” to the end
    4. Save post
  3. DONE

How To Start

  • In GWBtoWPCommands\MetaWeblogApiProxy.vb
    'TODO: You need to put your own URL in here (Not perfect, fix if you can)

  • In GWBtoWPCommands\Commands\ExportCommand.vb output folder specified as
    Dim folderPath As String = "c:\temp"
    You can change it if you want.

  • if you will use EmptyCat, you need either create the category with the name "None" in GWB admin or change the name of defaultCategory in Commands\FindEmptyCatagorysCommand.vb

  • Specify GWBtoWPCommands as Start Project

  • In GWBtoWPCommands project debug arguments specify
    EmptyCat /u:YourUserName /p:YourPassword
    and run it.

  • Then in GWBtoWPCommands project debug arguments specify
    export /u:YourUserName /p:YourPassword
    and run it.

There are many other tools, but they all need customising to some degree to do exactly the things you want.

All Available Tools

  • CleanerTags - Deletes all Tags and replaces with categories
  • Export - Exports all blog posts to BlogML
  • ExportImages - Exports all blog post images
  • FindEmptyCatagorys - Find all posts with no category and add one
  • PortImages - Downloads all images stored externally to your blog, uploads them and updates links
  • RewriteCatagorys – Loops through all posts and manipulates the categories
  • RewritePosts - Loops through all posts and manipulates the Posts
  • RewriteTechnorati - Loops through all posts and rewrites the technorati tags
  • RewriteUrl - Loops through all posts and rewrites a url
You can’t perform that action at this time.