Caring for Content During a Data Migration

March 2, 2018

They say “content is king,” but where do you even start when you’re in charge of moving “the king” from one castle to another through a content or data migration?

For our nonprofit clients, content migrations often involve moving thousands of pages, blog posts, images, and comments (not to mention custom content types, custom fields, and custom taxonomies) to WordPress from another CMS that uses entirely different database and file structures.

It’s meticulous work: every last image and document from the old site must be accessible on the new site, and old links to newsletters, reports, and external references must be retained, even if they don’t seem important.

What We Do

We’ve helped quite a few nonprofits move their precious content from one place to another:

  • For Access Now, we performed a complex migration from Expression Engine to WordPress, preserving more than five years of content consisting of thousands of articles, pages, and images. To protect thousands of embedded images, we identified and corrected URLs across all of their content, ensuring that the new site launch wouldn’t result in any broken image links.
  • For Our Bodies Ourselves, we not only migrated content, but also rearchitected the site to make the content easier to both find (via search) and stumble upon (via Related Content widgets).
  • For the Voice of Orange County, we took a several gigabyte compressed export from the BLOX CMS containing over 6,000 text files, images, and documents. We processed those thousands of individual text files containing several years’ worth of editorial content, pulling everything into WordPress. Then, we made sure that every last link in the newsroom archive continued to work, despite the big move.

Migration goes beyond simple posts and pages. For example, we often migrate user accounts, as we did for the Hebrew language learning organization Dah Bear, where we migrated over 1,800 teacher accounts, 3,000 student accounts, and 9,000 vocabulary lists from a proprietary CMS into WordPress. 

The secret to a successful migration is a quality data map, where we outline the types of data that exist in the original architecture and identify how and where those content items will be stored in the new architecture.

How We Do it

Initial investigation & analysis

After receiving access to the existing content, we start by taking a careful look around. We aim to answer basic questions that will form the foundation of the migration. Exactly what version of what CMS are we starting from? What are the different types of content? How many records exist for each, and how frequently are they used?

The answers to these questions lead to meaningful conversations about how the different aspects of the legacy site can or should fit into the new site.

Data map

A successful migration is built upon a great data map. We detail all the types of data that exist in the original architecture (pages, posts, press releases, action alerts, categories, tags, images, videos, members, comments, and more), and map each type of data to its eventual home on the new site.

For every type of content in the legacy site, we work with our client to determine the new home. It’s important to not that although most critical and popular content finds a home on the new site, data migration is also a great time for some content-focused Spring Cleaning. We often identify ways that some data can be archived, such as outdated content, old events, and short-lived content experiments.

Automagical migration

Next, using an ever-growing library of tools and techniques that we’ve developed in-house, we write a custom script that automagically (sure, that’s a technical term!) takes the old content and places it into the new site.

Following the rules we set up in the data mapping, each type of content is programmatically moved. Sometimes the transition is simple: news items on the old site become posts in the News category on the new site. But sometimes, it’s much more complex. For example, single content types may be split into multiple new types, while others are merged into a single, more general content type.

As you can imagine, it takes a fair bit of iteration to ensure our script does exactly what it’s supposed to do, which takes us to our next step: testing.

Testing and revision

Together with our clients (who are, after all, the subject matter experts when it comes to content!), we spot-check the newly migrated content. If it didn’t hit the mark, we adjust the script and try again until we get it right!

Updating the migration for launch

Just before the new site launches, we run a final data migration using the script we created and perfected. This crucial last step ensures that we get any new content that’s been posted on the old site between our original migration and site launch (which is oftentimes at least a couple months apart). That means that our clients don’t have to stop updating their sites while we’re building their new sites!

Looking for a good mover for your data migration?

Is your nonprofit getting ready to upgrade your website, perhaps moving into WordPress? Let’s talk! We’re trusted movers who will take great care of your content.

By Lesley Molecke

Lesley has been working on the web since she was in high school and ran her own small web design shop before she could drive. She has extensive experience performing user testing and usability studies, rewriting and improving complex language to appeal to a wide variety of audiences, and helping organizations adopt the right technologies to achieve their goals. Her heart really belongs to nonprofits and small businesses, where she can see the tangible benefits of a healthy web presence: donations, connections, engagements, and sales.