DEV Community

Discussion on: [Discuss] Complicated WordPress Data Migrations

Collapse
 
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.

Collapse
 
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 wpallimport.com 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 Dev.to!

Thank you for your input! :D