How can I migrate a database from Plone to Wordpress?

Are there any tools? Tipps? Experence?

We usually migrate customers from hacked Wordpress sites to safe Plone sites :stuck_out_tongue:

5 Likes

Thanks, also Database Migration or only pages?

What do you mean with database migration vs. pages?

User-Logins etc.

nope, we don't care about these...because you can easily recreate them apart from the fact that passwords are hashed and can not be restored properly (usually).

As you probably know: You can not have the folder structure that you have in Plone with a Wordpress site.

A lot of other stuff in Plone needs special add-ons (like having many groups) so you will have to do that manually.

One thing to keep in mind when coming from Plone: Although you can undo changes to a Page in Wordpress, you can NOT undo other things (like installing, updating etc), so a backup is even more imortant than with Plone.

With collective.jsonify you can make a json export of your content and then you can see if you can import that into WordPress. Note that binary content is not exported in the json, but the metadata of Files and Images is exported, so that should give you a good basis.
See https://collectivejsonify.readthedocs.io/en/latest/

Hi @Bernd,
collective.jsonify is a bit tricky, it didn't work out of the box for me last time, it required knowledge of something called "ExternalMethods" and I had to write a custom script which runs from the commandline using an option called "run" something like.

 bin/instance run customexportscript.py

I'd say collective.jsonify is not for the faint of heart. Confirming what @espenmn said, you will have some issues with replicating the folder like structure that Plone provides a built-in feature.

I think the suggestion by @zopyx to use an external service might be the best especially if you don't want to be digging deep into the bowels of Plone. The advice you're getting is solid and does capture the principles, however, do remember that this forum is dedicated to Plone usage, for example, I've only ever migrated from Wordpress to Plone.

I hope these suggestions help you though, all the best :slight_smile:

Thank you so much

The collective.jsonify docs talk about adding ExternalMethods to get the information, but I did not use that approach. I just called <my-plone-site-url>/@@jsonify?action=query and it gave me json back.

Sounds promising, maybe I was using an older version. It's equally plausible that I just missed it.