How I migrated Drupal website to WordPress. Part 1

Moving the Drupal website to WordPress is a hot topic online. There are lots of requests and interest in easy transition methods, but the reality is somewhat different. In fact, you get stuck with your own problems unless you are willing to pay for third party help. If you have a corporate website and want a smooth transition without getting hands dirty by figuring out all the nifty details, then the paid option is the way to go. If you need to transition a hobby website then there is a dilemma how to proceed. And you may even think about staying with Drupal before making a move.

The motivation

First of all, you may ask why to move from Drupal to another content management system (CMS). In fact, Drupal CMS is a great platform where you can set up almost everything you need. It already comes with lots of flexibility and options that you can use right away. This website was created by me more than 11 years ago. The initial system was Drupal 5.x which seemed pretty attractive and WordPress looked pretty modest in the time. I loved the flexibility which allowed to build most of the required things out of the box. I needed to have several content types with custom fields, forum, and a few more things that seemed easy to implement in Drupal. During the years website was two times upgraded to Drupal 6 and Drupal 7. The last upgrade threw a bunch of errors that were fixed with few workarounds and tweaks. Several modules that were selected with Drupal 5 were abandoned. Some of them integrated into core like Views or CCK.

The day has come where I started thinking about upgrading to Drupal 8. In the long run, this is unavoidable. After a long time of administering and work practice, it became clear, that Drupal is too complex for such small needs. It appears that there is no need for multiple content types anymore, the forum is somewhat alive, and the main content comes with an attachment where files are stored in google drive. One module isn’t supported in Drupal 8 anymore, which was intensively used all the time – quotes. Another thing that influenced the decision was the lack of support. Drupal I great in the core, but lacks support for a regular user like me, who doesn’t want to dwell into code files and tweak the functionality like a programmer. During the time, the number of issues keeps rising without a proper way of fixing. If I would need flexible custom CMS, I would probably stick with Drupal, but for basic needs, it is an unnecessary hustle to administer.

Word on WordPress

WordPress, on the other hand, is different and less complex CMS, which focuses more on the end user experience. The functionality has been improved, and it is harder to call it blogging platform. Version 5 has a pretty flexible core, tons of great plugins and good community. I almost had no problems while upgrading from earlier versions. Always found the required plugins and themes without paying a penny. You can set up WordPress in five minutes and start posting content. The WordPress is far not perfect. The weak spot is Forum integration. The bbpress is the only natural choice for now. The other worth mentioning is wpForo Forum. The main problem with them that it is hard to make it look like a forum. The lack of proper plugins and themes WordPress forums seem poor. But for basic functionality, it may be enough. For large discussions, it is better to use specialized forum CMS.

The choice of automatic import tools

After the decision to move from Drupal to WordPress, the natural step is to look for available tools. Since both systems are popular, I thought there should be some plugins or scripts for a painless transition. All I could find was two WordPress plugins that claimed to be working. One of them is FG Drupal to WordPress and another CMS2CMS. CMS2CMS is a paid option with demo ability to test how import would run with few posts. The other process appears to be costly and the final price depends on Drupal website complexity. I tried the demo test which didn’t impress me at all. Imported results were messy this is where I stopped because further steps required ordering service. I believe, with live support import would be possible.

The FG Drupal to WordPress plugin looked more promising, at least from documentation and available free options. The free option allows importing all articles, categories, tags, images. But other options like custom fields, forums and other require purchasing paid extensions. The price is reasonable – up to $50. I was almost ready to pay in order to save me some time. But somehow I couldn’t manage this plugin to connect to Drupal database. I have tried various angles – copied drupal DB into same where WordPress was installed (using prefixes), tried different databases located next to each other. All I was getting – “Could not connect to Drupal database”. The support forum could not help and this is where I stopped looking.  I had a feeling that standard tools cannot cover all the needs – there will definitely be a problem while importing custom post types, custom field and data from not supported modules like quotes.

First step – importing forums

Before looking for more importing tools, I decided to start with forums. In the Drupal website, there were about 100 forum topics and over 2000 replies. I have installed a fresh WordPress website and installed bbpress module. It comes with built-in import functionality, which allows importing forums from multiple systems. Drupal 7 was one of them. The official build (bbPress 2.5.14) threw errors and didn’t want to import any data. This version of the plugin is over 1 year old during this time, WordPress have bee upgraded from version 4 to 5 and there might be some issues. So I downloaded Release candidate (bbPress 2.6 Release Candidate 7). In the settings, I have selected Drupal 7 as source and entered database information. Then selected following – including “Convert Users”

Surprisingly import process didn’t throw any errors. There were over 6000 users – all of them were imported without a problem. Also, all forum topics were imported and then process stopped as complete.

After checking – forum structure was imported correctly, but no replies (comments). There were over 2000 of them in the Drupal database. And this is where the fun part begins. Be sure to check part 2 how I was able to import forum replies and the rest of Drupal data using SQL commands.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.