I played with Expression Engine to WordPress migration last night.  It’s complicated.  You have to take the RSS feed, save it in a text file, import that into WordPress, and then do some other stuff if you want the comments.

It doesn’t port unpublished posts, like some redacted ones from earlier this year.  That’s fine.

The default is only 10 in the RSS.  We have, after this post, 2251.  Instead of 2249, Control Panel said we had 2030, so I used that number.  If you removed the limit from the RSS template, you get 100.  If you specify 2030, you get that, and actually the wait wasn’t that long.

A set that large hung at 349 when importing.  That means either finding a way to specify a range in an RSS template, or systematically grabbing a smaller number and then deleting posts and then grabbing the next so many, and so forth.

No pictures came through.  That may be a setting on the RSS template, allowing pictures to show in the feed.  Never had reason to look at that.

We do full feeds, but presumably partial feeds wouldn’t work for this.

Multiple categories per post aren’t handled gracefully, turning into one long string and creating a new category like “kids pictures tv” in WordPress.  Not sure there’s a way around it, but I think it might be wise to create matching categories in WP ahead of time either way.  Might be possible to do a series of queries or replaces or something.  Or just change every imported post to one category.

Apart from whatever URL customization is needed to make them match the old format, if desired, it appears to be a good idea to do the URL format setting to make them “pretty” before the import.

A small number of posts during the import, say one of every 30, claimed to have been imported previously.  I thought it was a URL building problem with duplication, but I had it at the default where they end in numbers, so it may have been the way it identified each post during import.

I’m still intrigued and would like to know just what it takes, but it may be that the better part of valor is to archive the old blog, even if it means hacking .htaccess to redirect permalinks, and starting with a fresh one.  We’d also considered that option.

Leave a Reply