Skip to content

Home / Guides / WordPress development

Based on work from

Include drafts in your content migration checks

A migration can look complete on the public site while unfinished articles still need attention. Here is how I check the editorial work as well.

By Shane Rounce · Published · 2 min read

It is easy to judge a content migration by opening a few published pages. They look right, the images load and the progress bar has reached the end. Meanwhile, someone opens an unfinished article and finds that the editor has not received the same treatment.

I include drafts, scheduled content and private material in the migration plan from the start. Then I compare what the tool says it processed with what an editor can actually open, preview and save. A finished batch is useful evidence, but it is not the whole acceptance test.

Agree what “all the content” includes

Before moving or converting anything, I want an inventory split by content type and status. Published articles, drafts, scheduled pieces and private material can have different routes through a tool. A status that is deliberately excluded should be written down.

This applies to command-line jobs too. WP-CLI’s export command supports filtering by post status. A successful command tells me it processed its selected scope; I still have to check that the scope matched the brief.

I also separate moving records from converting their contents. A draft can exist in the destination database and still depend on an old field structure that the new editor does not understand.

Count the queue and inspect the result

I want separate answers for items found, converted, skipped and failed. An empty queue can mean everything is done, but it can also mean the query stopped finding the items that need work.

Check the selection query behind the count. It should identify records that contain the source material the converter expects, and report exceptions separately. Even a sensible queue needs an editor-facing sample check before you call the migration complete.

My checks now include opening a small, deliberately varied set of drafts, previewing them and saving a change. I check the body, images, links, author and intended publication state. Scheduled content should retain its intended schedule; private or unfinished work should stay out of public view.

Leave room to recover

I keep the source material available until the checks are complete and record which items the conversion has touched. Before rerunning a batch, I establish whether it skips completed work safely or could duplicate or overwrite it.

A backup also needs a usable recovery route. I cover that side in testing whether a saved history can actually be restored.

For the handover, I would rather give an editor a short checklist and a few representative drafts to verify than send a screenshot of a finished progress bar. The useful result is content they can carry on working with.

Got something similar to untangle?

I help with WordPress development, from finding the problem to making the change. Tell me what you are trying to improve.

Email Shane