+ blogger + developer + politician
+ fight/car fan + gamer + activist

Migrate from Wordpress to Drupal

Katie Gibbs has a popular vegan food blog and she was starting to feel limited by her website. She was using a Wordpress website that for the most part she had configured using a few widgets and a modified template.

She wanted to move to a new website but she wanted to retain her old posts and comments. We could have moved to a newer Wordpress installation with a custom template and more widgets however we thought that while we were creating a new site, we might as well move it to what in our opinion is a superior content management system. So Not Your Parent’s Granola became the Drupal 7 website Not Just Granola.

We followed our general process for building the website and it can be seen in the portfolio. The two “special features” were the content migration from Wordpress to Drupal and the “Email Updates” feature.

Migrating from Wordpress to Drupal

In order to move over the wordpress blog posts, images and comments I used the Migrate and WordPress Migrate. It was an easy and quick process without out any major issues, however I did split the WordPress file up into a handful of pieces to avoid any timeouts.

I should point out though that last year while trying to migrate another WordPress website I ran into an issue where the site couldn’t produce a proper WordPress export file and there I was unable to use this method to transfer the content. I haven’t tried it to see if it would work but likely updating the WordPress installation would have solved the bad export issue.

Email Updates

One of the key features Katie wanted was a simple sign-up to receive email notifications of new posts. She didn’t want users to have to sign up, just that they entered their email address.

Most of the notification modules for Drupal require user accounts and were therefore unsuitable for this purpose. So in the end Bagler IT ended up creating a custom module (currently working on turning it into a contributed module) that uses a selected email field from a selected webform node. The admin simply connects the module (picking the form, field and content types) with the form and enters the email subject and body (both the subject and the body support tokens).

After the module is configured the users who are signed up are emailed once a blog post is published (using the pre save hook).