01 · Drupal ← All migrations

Drupal → WordPress

Drupal and WordPress both run websites, but they hold content in completely different shapes. This moves a whole Drupal site — its articles, pages, recipes, tags and images — across into WordPress with nothing dropped on the way.

  • 19 pages of content
  • 3 content types
  • 18 images
  • 0 duplicates on re-run

How it went

  1. Pull it out. Drupal has no export button, so everything comes out through its API into plain data files.
  2. Decide where it goes. Every field gets written down and given a home before a line of import code is written.
  3. Put it in. One script does the import, keyed on the IDs the old site used — so running it twice changes things rather than duplicating them.

The hard part was images — in Drupal a picture sits three steps away from the article using it — and recipes, which WordPress has no equivalent for, so it had to be built.

In the repo

See the repo