DEV Community

Tammy Lee
Tammy Lee

Posted on

[Discuss] Complicated WordPress Data Migrations

I'm planning out one of the most complex data migrations in WordPress I've ever been tasked to do.

I'll have to switch multiple custom post types to posts, map old taxonomies to new ones, AND map old ACF blocks to new ACF blocks. (Thank goodness this WordPress install is still using the classic editor and not Gutenberg, which would be a whole another layer of complexity.)

I've written before about migrating from Craft CMS to WordPress using a mixture of manual techniques and web scraping. (I have since improved this process so it doesn't overwork the computer. XD)

I find a shell script with WP CLI can solve a lot of tricky problems, too.

I'm super curious how other people handle these sort of complicated migrations? What are some things to watch out for? How did you test the results? Is there an automated way to test the results?

Top comments (2)

lawrencejohnson profile image
Lawrence • Edited

Generally I've found automated migration to be completely unnecessary. It always boils down to the same two conditions:

  1. The majority of content that would be a pain to recreate due to volume is already in a simpler form (ie: blog posts).
  2. The amount of time to create data migration scripts, test and deploy is greater than the amount of time to recreate content.

Other smaller factors typically include new layouts causing the same content to have a non-conformity that will require new copy, imagery, or other assets that make certain pages pointless to convert.

So, in essence the approach we take is to automate the conversion of the massive portions (ie: blog posts) and then rebuild the rest. If you end up spending 20 hours automating a conversion and then need additional time to close the gaps in format inconsistency then the ROI on that path becomes either marginal or non-existent.

The only thing I've had to do close to what you're describing is an automated export system that essentially converts the WP content into JSON that a remote system needed in a normalized fashion (for translations, to be specific). I was able to automate this using recursive functionality with ACF definition files.

Anyway, we've only worked with I don't know maybe 70 or 80 WP sites over the years, and maybe only 10% of those required any type of conversion from old content. We only work with agencies, so almost all of our projects include a major rebranding and the old content becomes useless.

tammalee profile image
Tammy Lee

If I were moving to a completely new site or had less than 100 pages/posts, I could see where I might want to manually reproduce the pages. I'll be working with 300+ posts and I'm just converting the post type/taxonomies. The ACF element is a bit of a wrinkle.

I'm looking at using pro versions.
Pro Export will allow me to run the content through a PHP function before it's exported.
Elite Import will allow me to map data to ACF fields.

However I end up solving this, I'll be sure to post what worked for us on!

Thank you for your input! :D