Well, as you can see, I have moved my blog from WordPress to Drupal.
Why move from WordPress to Drupal
Partly, you could read about the reasons I love Drupal earlier. The reason why I moved this very blog (now a site) to Drupal are
- I'd like to expand the site in the future and Drupal allows creating any page templates without any PHP knowledge with the right modules
- Drupal also has various page sorting mechanisms, allowing to group, filter and show various pages as one likes - I couldn't see that in WP easily without programming
- what actually prompted this move right now, is that I can have only one installation of Drupal to run multiple websites. As I plan to launch a couple of other projects on Drupal, having them running from the same hosting account, required a solid Drupal installation
- I am now moving a client's site to Drupal, and having one's own blog not on it was kinda weird
Migrating a WP blog to Drupal was a experience. Sadly, not a very positive one. Here's what happened:
- I backed up my WP database (of course)
- installed Drupal 4.7 in a subfolder (and also downloaded and enabled the wp2drupal module, which only works with Drupal 4.7)
- migrated the blog to the 4.7 Drupal version
- copied the Drupal 5.1 version to the root folder, replacing the WP installation
- tried upgrading the database to Drupal 5.1
This is where things went wrong. Upgrading WP to Drupal 4.7 is easy. But
- I forgot to create and make the files/tmp folders writable
- I didn't know how to make all requests to the old URLS to go to the moved-temporarily.php file with mod_rewrite (which is a requirement of the wp2drupal plugin) without simply redirecting all traffic to that file - this is not entirely an elegant solution
- I didn't change the pathauto default settings to match how WordPress creates URLs from titles
So, I had about 3-5 attempts to migrate the WordPress blog to Drupal 4.7 to create a fresh database, because I haven't backed it up before upgrading to Drupal 5.1, which I thought would be a simple procedure.
Then, I've had the same amount of upgrade attempts. After which going to the homepage returned /install.php and asked me to upgrade. Again.
I kept dumping the ugpraded database, migrating WP to Drupal 4.7 and upgrading to Drupal 5.1 for a couple of hours with the same result. And yes, I have made the files/tmp folders writable by that time.
So, I searched for 'install.php' in the CMS core files and copied those again. Amazingly, it worked. And I thought I did copy everything on the first run - and I still think so.
The leftover is that I have to fix page paths manually, because
- I have changed post titles in WP earlier and URLs didnt match them
- Drupal pathauto default installation skips stop words, unlike WP
- Drupal pathauto module, when told to create new aliases, created URLs, based on new post titles without stop words
How you can do better
So, how I could or you can do better:
- do everything on the test site (which is popular with Drupalers), even with the newest Drupal version. If everything goes fine, you just install the latest version over your current WP blog and voila
- make sure you create the necessary files/tmp folders and make them writable
- wait till someone creates a script to move your WP version to the latest Drupal version - forget about upgrading Drupal
- have pathauto enabled and properly configured configuration back to default later)
- read thoroughly and follow migration instructions closely
- if you are not a PHP programmer, getting a professional to do this might be more efficient for your work
Possibly, it is very well worth paying someone to move the site. It'd relieve me of the agony every non-programmer feels when something doesn't work and no one on the Drupal forums is answering your pleads for help.
Should I not use Drupal?
Technically, the only problem I see with the whole process is that I am a not PHP developer. If I was, I'd create the WordPress 2.0.7 to Drupal 5.1 migration script and be happy. I'd be able to fix anything without feeling like it was the doom day.
Or the problem is with me not finding the up-to-date migration script.
Anyway, Drupal is the best CMS around, because you are in full control. You can create anything and do anything with anything/anyone on your website. You can similarly empower your visitors/members/clients to do anything on your site under your moderation (content moderation, access based on actions come to mind).
Moving any large or large-wannabe website to Drupal is a must. And all the pain is worth it.
Likewise, I do not whine and I won't write anyone about my horrible experience (I have spent about 10-15 hours on this, while it should've taken only the time to upload files to the server, technically) and feel overall happy, because it'll allow my site to grow easily.
If I make sure all old URLs redirect show the relevant pages, I'll consider the whole process a success.
P.S. Did you receive this message through your RSS reader without re-subscribing? If so, do let me know. If not, do let me know, too. Thanks.