As I mentioned in a previous post, I have moved my Office 365/SharePoint blog from an Office 365 hosted SharePoint Online Public Blog site to a hosted WordPress Blog site.  This is mainly due to the fact Microsoft has decided to not have public SharePoint sites available anymore as part of your Office 365 subscription.  Also due to the fact that WordPress is a way better blogging platform.

In this new blog, going forward, I have decided to combine my Azure blog posts along with Office 365 and SharePoint posts.  This did involve me figuring out a migration strategy on how to migrate my SharePoint Online blog to WordPress.  I will also try to do a better job to tag and categorize each blog as well.

After some trial and error, including exporting/importing to/from CSV, Excel, XML, etc. and playing with some tools that claimed to support the migration, I settled on a WordPress Plugin called Best Import which is a very flexible plug-in that allowed me to choose the XML tags I wanted to map into the new WordPress blog. For those of you interested on how I achieved it, here are the steps:

  1. Create a custom view with the normal blog fields that I could map to WordPress (i.e. Title, Content, etc.)
  2. Ensure that the associated SharePoint generated RSS included these fields
  3. Save the RSS as a local XML
  4. Copy all images/attachments to WordPress Media gallery and make note of the path
  5. Perform some tedious manipulation on the XML file (i.e. find and replace all the image/attachment paths, fix the WordPress compatible date formats, ensure the published date is correct, etc.)
  6. Install and activate the Best Import Plug-in
  7. Upload the RSS XML file using the plug-in and mapping the fields and hence migrate all the data
  8. Using the Redirection plug-in to ensure that all my historic links still worked (again, a tedious, manual process of copying and pasting the old and new URL’s)

Please bear with me if there are still broken links or missing functionality/assets.

Leave a Reply

Your email address will not be published. Required fields are marked *