Skip to main content

The Art of Saving Time and Money when Upgrading/Migrating Drupal

Introduction

Drupal upgrades* or migrations* aren't typically something most institutions plan or budget for, yet they are essential to keep your site secure and up-to-date with the latest design and technology trends. However, your site can be upgraded to take advantage of the latest Drupal technology architected with a slew of new built-in features for a fraction of the cost using tried and true cost saving measures outlined below.


Download our Comprehensive 12-Point Migration Planning Checklist


Upgrading from Drupal 8 to 9 is a piece of cake since we only need to replace deprecated code using a well-known process. We'll look at that process first since many companies are still opting to migrate from Drupal 6 or 7 to 8 first. 

However, if your site is still running Drupal 6 or 7, we present multiple ideas used on several sites to save time and money.

*We use the words migrate and upgrade somewhat interchangeably in this article, but the processes are vastly different. An upgrade involves taking an existing site and updating the code and database in-place. For migrations, we create a brand new Drupal 8/9 site, then migrate the content, media, architecture, and configuration over automatically in most cases using a well-defined process. Migrations also require the theme (website design) to be upgraded to the latest coding standards. In both cases, custom code will need to be upgraded.

If your site is running Drupal 6 or 7, a migration is the only way to get your website updated as an in-place upgrade is not possible. The reason for this is the code and theme (among other things) is almost completely different. However, the good news is, once on Drupal 8 or higher, upgrades then become very simple (see below). 

Upgrading Drupal 8 to 9

Until Drupal 9 came along, it wasn't typically possible to upgrade a site, and you had to migrate the content and architecture to a new site instead. We've seen migrations take up to 18 months in extreme cases, with typical migrations taking around 3-4 months. However, thanks to the promise to make Drupal upgrades easy forever, it's now very straightforward and fairly painless to upgrade. In some cases, we've seen this process only take 4-8 hours. 
 

Upgrading from Drupal 8 to 9 is orders of magnitude faster than migrating prior versions of Drupal
Upgrading from Drupal 8 to 9 now takes hours to days instead of weeks to months


Here are the steps to perform the upgrade:

  1. Update your existing Drupal site to the latest version of Drupal 8; do the same for your contributed modules.
  2. Use the Upgrade Status module to determine which of your existing modules and themes are already Drupal 9 ready, and which will need to either be replaced or patched to work properly. Typically a patch will already be available, so this process is usually very smooth. 
  3. For custom modules and themes a Drupal agency such as Webdrips can easily replace deprecated code. There are helper modules available to speed up this process.
  4. Finally, a Drupal agency can help you make sure your host is running the required version of PHP, and any other server updates needed. 

Once the above steps are completed, it's a simple matter of running the database updates, and your site will be running the latest stable version of Drupal 9.

Upgrading from Drupal 6/7 to Drupal 8/9


Six Pro Tips to Save you Time and Money when Upgrading/Migrating Drupal 6/7 to 8/9


Below are six cost-saving measures total, divided into two categories: methods for those on a budget, and methods for every company looking for ways to save during a migration. We present the methods for those on a budget first, followed by tips for everyone.

Use an Inexpensive Premium Theme instead of Upgrading your Custom Design

This is by far the best place to save significant time and money on a migration. The reason for this is simple: upgrading an existing design to Drupal 8/9 is typically hundreds of hours (if not more), whereas implementing a premium theme using smart architecture choices and things like the built-in layout builder can reduce design hours to under 100 hours in many cases. That's a potential cost savings of $45,000 or more, depending on the complexity of the site.

The potential major drawback to this approach is easily avoidable: premium themes can be rife with architectural and design issues, so knowing what to look for and which vendors produce themes without these issues is very key here. For this reason, consider working with a Drupal agency that can help you select the right premium theme. 

Stick to the Automated Migration Process over a Messy Manual One


Use an Automated Process Instead of a Manual one for Significant Cost Savings


The second place for very significant potential cost savings is to avoid attempting to migrate just about anything that's not brought over using the well-defined automated process. For example, suppose you have an article page type that needs to be migrated, and one of your fields (e.g. a page rating field) is not automatically migrated over. Rather than revert to a manual code-driven process to account for some fields that didn't migrate, it would typically be significantly cheaper to hire an intern to copy/paste the needed field values in most cases. The only exception is when there are thousands or more records, in which case the manual code-driven approach will be cheaper. 

Taking this concept a bit further, there may be a complex page type on your existing site that doesn't migrate well, yet is only used in a few places (e.g. landing pages). Why pay thousands of dollars for custom code when a person can copy/paste?

Thus with the automated migration process added to Drupal 8 and up, we now have a much simpler way to migrate 80% of your existing site using an automated process. 

Other Cost-saving Measures

Webdrips cost saving measures for every migration

Other cost-saving measures can be applied during Drupal migrations to save significant time and money: 

  1. Content and architecture review to determine what content is no longer needed. For example, do you really need those old form submissions when they can be downloaded from your existing site to a spreadsheet? Do you really want to bring over all those unpublished pages?
  2. Custom code review to determine unused code: often times we see code that doesn't need to be upgraded either because it's no longer in use or can be replaced with an equivalent Drupal 8/9 module. 
  3. Use built-in Drupal 8/9 features instead of old outdated methods to implement the design. For example, the incredible Layout Builder module can make a dramatic impact on easing the design implementation process while simultaneously giving you much more control over design changes if desired. 
  4. Use a company with significant experience: all too often we migrate a Drupal 6/7 site that is heavily over-architected with poor to very poor design implementation. This was likely due to a very inexperienced developer/design implementer. Using a company like Webdrips with a proven track record of migrating and upgrading hundreds of sites will pay off now (by knowing multiple ways to save money), and in the future with a minimal architecture, design, and code base that will be significantly easier to maintain over time. We've also noticed companies that typically charge half as much take four times as long to complete migrations, which are often vastly underbid. 

We can Help, Regardless of your Upgrade Needs


Try Before you Buy: Test Drive our Drupal 8/9 Demonstration and Learning Site 


Regardless of how simple/complex your site is and your Drupal version, we can help you save time and money on your Drupal upgrade/migration. We use our combined decades of experience with Drupal to help you solve complex business challenges. Our Team of Drupal experts are here to help you upgrade Drupal, and provide a shiny new design or upgrade your existing one. 

Use the form below to start a conversation, and we can show you just how painless a migration can be.

Let's Talk About Your Drupal Upgrade

Please provide a fully-qualified URL (including "http://" or "https://")