Irina Zaks, Drupal Trainer Reading estimate: 6 minutes
Migrating From Drupal 7: One-Click Migration — Is That Possible? Backdrop CMS + Drupal 9.
Editor's note: This post was co-written by Irina Zaks, Co-Founder and Chief Technology Officer at Fibonacci Web Studio, and Tori Sparkman Lewis, Director of Projects at Fibonacci Web Studio in 2022 when Drupal 9 was the newest version of Drupal. The content was updated in lightly 2024 but has not been re-written entirely to account for Drupal 10 and 11.
Let’s begin our deep dive into the foundation for your Drupal 7 (D7) upgrade estimates. The same principles apply if you are doing this work inside your company or hiring an agency. If you are not doing a full rebuild of your site and not moving to a simpler CMS, you have two great candidates for your next Drupal-based CMS.
Meet the Cousins: D9 and Backdrop CMS
Drupal 9 (D9) and Backdrop CMS are both descendants of the same parent — Drupal 7. To make a good comparison between the migration to each of these systems, it is important to understand how each of them is different from D7 and how each one inherits features and traits from D7.
D9 was designed to support enterprise systems and included a complete overhaul of the D7 backend. Composer, PHP object-oriented programming (OOP), twig and many other enterprise-level features make it a very powerful system. However, they also require enterprise-level IT support.
Backdrop CMS was forked from D7 in 2013 and provides a built-in upgrade path for D7 sites that want to have a consistent experience for site builders, content managers and back-end coders — all while taking advantage of a modern, supported CMS with advanced configuration management and development tools, like GitHub, etc.
The following matrix provides a comparison of major D7 features and D9 and Backdrop CMS:
New | Same as in Drupal 7 | |
Drupal 9 |
|
|
Backdrop CMS |
|
|
It is important to remember that software is an ever-evolving creature, and every six months will not only have security updates but also new features. The chart above will be changing, so it is important to compare systems at the time when you are actually doing your upgrade.
One-Click Migrations, Step-by-Step
If you invested time and money into having a clean D7 site with architecture that you want to preserve and freshly updated content — now is a time to reap the rewards! One-click migrations are possible. Whether you’re talking about migrating to D9 or Backdrop CMS, your upgrade path should cost much less than a full site redesign and rebuild.
Preparing an existing D7 site for any migration includes:
Update modules to the latest version
Disable modules that are not used or upgradeable
Delete unused content, such as unpublished posts and unused media
Backdrop CMS Upgrade
In this section, we provide detailed instructions for updating to Backdrop CMS or site builders on the Pantheon WebOps platform. Backend developers might prefer other paths described on Backdrop’s website.
On the existing D7 site, install https://www.drupal.org/project/backdrop_upgrade_status, click on “configure” to get to URL/admin/reports/updates/backdrop-upgrade, and run the report manually
Set up a new Backdrop site on Pantheon or your own hosting
Run install in SFTP mode
Prepare code
Add modules (via UI, Drush, Git or PSFT)
Add theme(s)
Add layout(s)
Wipe database and files (including configuration files)
Export current D7 database and files (you can do that via the Pantheon dashboard if your current site is on Pantheon).
Import D7 database into a Backdrop site (find technical details here).
Import D7 files via SFTP.
Update the following line in file settings.php to $update_free_access to TRUE and start core/update.php per instructions.
Now you can sit back and watch the running conversion from D7 to Backdrop — or perhaps go on a walk, or get a drink! This update usually takes 60 seconds or less, so the upgrade will be completed and recorded in the system log by the time you are done with your drink.
The upgrade will convert content types, taxonomies, user settings, roles and permissions, as well as Views into .json files, and the content will stay in place with the same IDs. Your files from Drupal 7 will be treated as Entities in Backdrop, and all existing references will be preserved. There is no need for additional file migration. With the new layout system in the core, your current blocks configuration after migration might need some adjustments.
Drupal 9 Upgrade
In this section, we provide detailed instructions for the D9 update for site builders. These steps will work on any platform.
Install a new D9 site.
Enable modules “Migrate Drupal” and “Migrate Drupal UI.”
Connect to the database for the existing D7 site to move content and some configurations.
Provide the URL of the existing D7 site to move files (images, docs, etc.)
Review upgrade paths — these will tell you which modules will be updated.
Go back and add the modules that you need. If a module does not have an upgrade path adding it to D9 will not help so that you might be repeating this step more than once.
Click the blue button to “Continue.”
This process might take quite some time, as everything has to be moved from one database to another, and files are copied to the new site. It might be helpful to watch every step of creating all entities in the fresh Drupal 9 CMS and populating them with the content, especially as hiccups happen, like with any move. Watching the process allows you to ensure that something important is not forgotten or broken.
The upgrade will create content types, taxonomies, user settings, roles, and permissions with the same structure as on the D7 site. At this time, D9 does not have out-of-the-box migration paths for Views, and this could be a big limitation for some sites. One of the biggest (and time-consuming) tasks in D9's “one-click” migration is rebuilding Views. The hope is that someday there will be an upgrade path for the Views module for D7 to Views in core for D9/10/11, which would make the D9 upgrade path much more affordable.
Themes
There are plenty of themes to select from for both Backdrop and D9 — most of them are out-of-the-box, responsive and accessible. Some are Bootstrap-based; some have a custom design. Come and pick what you like, or build your own new theme! There are plenty of tutorials for creating themes and converting themes for both D9 and Backdrop CMS.
Custom modules
Custom modules will need work if you are moving off D7. Similar to themes, there are many tutorials for writing custom modules.
If you are moving to D9, prepare to completely rebuild your custom modules with a completely new approach. Plan to begin with converting .info files to .yml files, hooks to D9 APIs, and D7 variables to D9 configuration; begin using the D9 state system and using composer for package management, and many other advanced tools that make a developer’s life exciting and fun.
Converting modules is much easier for Backdrop CMS because its codebase is similar to Drupal 7 and generally needs very few changes to convert. Backdrop also includes a Drupal compatibility layer, which should reenable both deprecated and Drupal functions (even those with the format “drupal_XXX,” such as drupal_set_message). Conversion of custom modules is a major component of the estimate for an upgrade.
Now that you have all ingredients of the migration recipe listed, you can do the math, add the price of each component and decide what is or is not affordable for your organization, both short-term and long-term.
Some sites can be upgraded with “one-click,” while others need more elaborate and time-consuming migrations. Budget is a major factor that defines where you will take your website, and your investment in the discovery and planning phase will both save you money and improve your quality of life. Read more about migration posts in this post.
Discover More
How Pantheon Protects Your Site from Software Supply Chain Risks in Open Source
Steve Persch
Reading estimate: 8 minutes
Where Did All the Drupal 7 Sites Go? They Moved to WordPress
Josh Koenig
Reading estimate: 6 minutes
America’s Underground Lab: a Research Website Creation Story
Yulia Popova
Reading estimate: 3 minutes