A New Way to Migrate WordPress Content Into Drupal

The Donald W. Reynolds Journalism Institute (RJI) is an organization that seeks out and tests innovations in journalism to find the best solutions for use in the real world.

Their new Palantir-developed Drupal website replaces a custom PHP website and two WordPress.com blogs. Part of our assignment involved migrating content from RJI's WordPress blogs into Drupal.

Initially, we intended to do this using the WordPress Import module. However WordPress Import is a stand-alone module that does not integrate with CCK fields, meaning that you cannot import WordPress post categories or authors as CCK text or node-reference fields. It also has limited options for importing files attached to WordPress posts.

To solve this problem, we created WordPress XML for Feeds, a module that allows Drupal's Feeds module to parse the WordPress export file (WXR). It uses a map to create Drupal nodes (or other entities) in the same way that Feeds uses a map to create Drupal nodes from an RSS feed. This allows site developers to create an arbitrary map that tells Feeds module where and how to store the WordPress post's data in Drupal (e.g., as a CCK field, as a property on the Drupal node, or as some other entity).