Migrating from Plone to WordPress

After nearly 10 years using Plone,  it is time to close the door on that site.  I would still recommend Plone as a high quality, enterprise ready content management system.  But my use has tended more and more towards blogging over the years and WordPress has become a more frequent companion.  I’m currently teaching a workshop to some colleagues on using it for their organizations, and have a number of other blogs that I manage.

The challenge has been two fold for me.  First, I’m not technically savvy and although it is easy to get access to the Plone content – I fooled around with Plone and Webdav for a bit – I was always faced with having to reformat the content before I could import it.  For the technically literate, you might look at:

None of these were really much use to me because I lacked the skills to implement them.  However, the Malaysian hackers twigged me to an idea for trying to get the content in through WordPress’ RSS import feature.

Unfortunately, Plone’s RSS is not well-formed in a way that it will import readily into WordPress.  My experience was that the RSS importer completed without importing any content.

Exploration is a journey, though, and I was making progress.  I came across the great HTML importer by Stephanie Leary, author of the Beginning WordPress 3 book.  This was great for my purposes, because I was moving large numbers (about 500) blog postings and news postings (all based on the same Plone content type) from Plone into WordPress.  Since I was dumping a lot of other content (event objects, link objects), this was ideal for me.

I downloaded the free Web whacker, HTTrack, to my Ubuntu machine and pointed it at the folder containing the content.  Once it was all downloaded, I accessed my WordPress dashboard, accessed the HTML importer under Settings, and brought in all of the HTML pages.

That failed the first time.  I found that HTTrack makes a bunch of folders for any images (a folder per HTML page) it grabs.  I had to delete all of those subfolders before HTML importer grabbed the content correctly.  Also, I ended up using the HTML clean up function in the importer to eliminate all of the Plone-specific CSS and other tags.

All my content is in WordPress now and I’ve set it all to Pending Review until I can slowly walk back through it and apply a revised category taxonomy to it.  But already I’m having fun theming the content differently and finding new ways to present it.

David Whelan

I improve information access and lead information teams. My books on finding information and managing it and practicing law using cloud computing reflect my interest in information management, technology, law practice, and legal research. I've been a library director in Canada and the US, as well as directing the American Bar Association's Legal Technology Resource Center. I speak and write frequently on information, technology, law library, and law practice issues.


  1. Thanks for the help!!!

  2. I would recommend using this plugin https://wordpress.org/plugins/cms2cms-plone-to-wp-migration. In my case worked seamlessly and stress-free.

    1. That’s really interesting! It’s much more straightforward than the method I used; I wish the plugin had been around then! Thanks for sharing.

Comments are closed.