Migrating a SharePoint blog to Hosted WordPress


I needed to migrate a SharePoint blog to hosted WordPress (this blog, category RKChronicle), and after a bit of searching assembled this solution: SharePoint to Excel, Excel to CSV file, CSV imported to WP (3rd party host), WP export to WP (hosted) import.

Recipe

SharePoint to MSExcel. Using Internet Explorer under Windows, in the SharePoint blog, use View All Site Content to access the Posts (a SharePoint list).

Create a SP List View for export. The importer expects these column headings, you can make your view align (mostly) with what it expects. The view I created (using SP naming) was:

Title, Body, Category, Created, Created By

When viewing the list use the Actions dropdown to Export to Excel. Save the resulting file.

MSExcel to CSV. The importer I found requires Comma Separated Values, so open the file created above in Excel and “save as” into CSV format.

Import CSV to WP. I found the CSV Importer ( http://wordpress.org/extend/plugins/csv-importer/other_notes/ ) by Hagerty, Pedro & Loeffler. (You can not install the plugin to the free version of WP hosted at WordPress.com  I used a 3rd party hosted version of WP to install the plugin.)

The importer is smart, you can omit columns and it will set default values. SharePoint didn’t have some of the data the importer expected, so I omitted Post_type, post_excerpt, post_tags, and post_slug. I renamed the column headings from the Excel export (step above).

The default columns expected by the importer and the ones I used (bold).

csv_post_title
csv_post_post
csv_post_type
csv_post_excerpt
csv_post_categories
csv_post_tags
csv_post_date
csv_post_author
csv_post_slug

I set the option “import posts as draft” so I could work with them privately. When the import worked, it worked quickly. When it didn’t it gave no useful error messages. I found that I needed to be very careful with the CSV file (first couple times I edited it on a Macintosh and that seemed to make it not work). There is a sample file. Play with it until you get your tool set right.

Export from 3rd party WP and import into Hosted-WP. This was simple, 163 posts in 25 seconds. (Look under the Tools menu.)

Notes
The free hosted WP does not allow you to install plug ins, so I needed to work via a 3rd party installation of WP, ver 3.0.2

I tried going via RSS, but was unable to see how to get a SharePoint blog RSS feed that contained the bodies (as opposed to linking them). WP wants to import an XML file not a feed and I could not find a way to get the necessary file from a SP feed.

I mapped SharePoint Categories to WP tags for my own reasons.

If you touch the CSV file by opening and saving using Excel for Macintosh, you will screw it up somehow. All work must be done on the PC.

I found that I needed to convert some characters in the CSV file. I think SP must have used unicode for smart quotes and for carriage-return. I did a bulk replace on the CSV file to deal with most of the issues.

The process did not move attachments and images. I did this by hand and also made minor clean up to the posts.

Biggest annoyance. The process brought over the date posted but when I convert the drafts to published, the date is changed to the current date. Were I doing this again, I’d consider importing in published format (not draft) into an obscure instance of WP, do the editing, then export to the production WP.

Leave a comment