There are hundreds of thousands of existing Drupal sites out there and many people are asking if they should upgrade to Drupal 7. I know many of our customers have been asking this. Unfortunately there is no simple answer, so let's have a look at what you should consider before deciding.
Should you upgrade?
Drupal is open source and this means unlike in many proprietary software products there are no mandatory upgrades at end of life of a product version. Officially only two most recent major releases are supported at any given time, but anyone can extend this indefinitely. You can support older version yourself or even get commercial support for it. If you are running Drupal 4 site today you are responsible for the security updates and developing anything new is pretty unproductive since you need to do a lot of coding. There are also a lot of new great features with every major release of Drupal and without upgrading you are missing out on them.
When talking about upgrading it all comes down to money. Running and especially developing on an older version of Drupal becomes more and more expensive over time.
Development cost of a Drupal site

My basic assumption is that development work on each successive version of Drupal will be more efficient. That has been the case so far and there is no reason to expect this to change in Drupal 8 or 9.
Before a major version release development is very expensive because you need to keep up with changes in Drupal core while developing a web site at the same time. When the new version comes out development is still a bit more expensive because many modules have not been ported to it and naturally there is also some extra overhead when developers are learning to use new features and APIs. After the initial period of more expensive development the cost levels and stays that way until after the next major version release.
After any major release many contrib module developers will add new functionality only to the latest version of their module and site development starts getting more expensive again. Over time many new features and modules are only published to the latest version and even bug fixes to an older version will get lower priority, so you will end up doing more and more development yourself.
Maintenance cost of a Drupal site

If you are not doing any active development on your site you will naturally not have any development costs. You will however have maintenance cost from running your site (Assuming that your site is actively maintained, but if you are reading this I would think that's pretty much given). I'm only talking about technical maintenance costs here, not about costs of content production, moderation, marketing or anything similar.
I am again assuming that maintenance of every consecutive Drupal version becomes a bit easier and less expensive. This has been the case so far with Aegir, Drush and many other excellent helpers showing up and there is no reason to expect this to change.
Even if we assume that your site is 100% bug free and no development is required you will still need to at least take care of security updates. Two latest major versions of Drupal and major contrib modules receive security updates when required. If you are running an older version you are out of luck and will need to take care of them yourself. Unfortunately in real life some security updates are not only for security and they might actually introduce changes, new functionality or even deprecate functionality in a module at the same time. This means you have to be doing at least some development even if you are in 100% production & maintenance mode otherwise.
On top of security updates you will have costs from your hosting. Resources required to run a Drupal site might vary a lot depending on your caching setup. Newer versions of Drupal have much improved support for caching and will save hosting resources which might actually end up saving you money in your hosting bill. However this varies a lot between different sites so it's difficult to give any generic instructions on how to evaluate possible hosting savings.
Ingredients of a Drupal upgrade
When considering if and when to update you need to understand what an upgrade actually means. Drupal does offer an upgrade path between major versions, at least in theory. In real life modules do get deprecated, custom code has to be rewritten and parts of your site may require redesign. If you are running a simple D6 site using only a few major contrib modules and out of the box theme you just might be in luck and upgrade is somewhat simple task.
In real life things are unfortunately often far from that simple. Drupal's greatest strength, flexibility, means that there is an unlimited number of different setups which should all be upgradable between major versions. With about 4000 independent module maintainers and over 7000 modules it just doesn't happen in complex setups. Ever.
Drupal upgrade often means partial or even full redesign of your site. This is especially true if you are upgrading over a major version, for example from Drupal 5 to Drupal 7. To justify the cost of doing this it's often worth doing a major upgrade to the site at the same time. We've often recommended just doing a Drupal to Drupal data migration together with a redesign instead of even trying to do a direct upgrade. This seems to be more cost efficient in many cases.
When to upgrade?
You should consider everything in this post before going for the upgrade. If you know your current site and future needs you just need do the math to figure out when the upgrade would be a good idea. My recommendation is to time the upgrade together with a major redesign of your site, this will definitely save time and money. There really is no business reason to upgrade just because a new version of Drupal is out.
If you have fairly new Drupal 6 site and are not expecting to do continuous major development for the site I would just stick with D6 until either D8 comes out or you need to do some serious redesign of your site - which ever happens first. However if you are still on Drupal 5 now is the ideal time to start the upgrade project in order to get most value out of it.
What if I had to pick a sweet spot for doing a Drupal 7 upgrade without knowing anything about the site? I would wait about 6 months after D7 has been published to launch the upgraded site. This is likely to be summer of 2011.

Comments
and also look into which version to build new site with Permalink
19. November 2010 - 17:06 - Asher Webb (not verified)
I think this article is spot on with it's "when to upgrade" analysis. For those of us who are now building enterprise websites starting today with drupal also which version to use is tricky. I say go with Drupal 7 because core has so many improvements and View for D7 seems to be working pretty well. But of course there is a lag in contrib modules so I would only recommend this if you are willing to innovate your development options because there is far less D7 documentation.
Thanks Permalink
21. November 2010 - 22:32 - David (not verified)
Very helpful article that approaches the upgrade issue from a logical point of view. Waiting a little while also lets web administrators get familiar with all of the new toys and ways of doing things.
Not worth it right now unless you run a simple brochure site Permalink
9. December 2010 - 6:42 - Jennifer B (not verified)
Migrating fields and views, image fields etc is quite painful at the moment. I tried it with a fairly simple site that had a couple of views and some image fields. Fields broke terribly and I was unable to successfully migrate some of them.
At some point image, cck, etc will have a coherent upgrade path worked out, but we're not really there yet.
Drupal 7 is great for building from scratch however.
Couldn't agree more Permalink
9. December 2010 - 15:45 - Joonas Kiminki
The upgrade is never going to be painless, but for building from scratch D7 is a viable option. As a rule of thumb: If it goes live after Easter 2011, go D7.
Add new comment