Understanding your options as a Drupal 7 site owner

Last updated on
13 November 2024

The Drupal Association, the core maintainers, the security team, and the community at large believe in the power of Drupal to provide innovative digital solutions for ambitious use-cases. While some technologies become obsolete over time, Drupal has made a deliberate decision to modernize its architecture, moving from procedural code to an object oriented design, and incorporating key components from other vibrant and vital open source communities. 

However, we understand that the transition from Drupal 7 to modern Drupal can be intimidating, and there is a significant learning curve. Nevertheless, our community members on Drupal 7 are critically important to us, and so we want to walk you through everything you need to know to prepare for your next steps after Drupal 7. 

Understanding your existing Drupal 7 site

The very first thing any existing Drupal 7 site owner should do is ensure that you are on the latest supported version of Drupal 7, or at least the latest security release. If you're not on the latest version, or if you have missed a significant security release for any length of time, your first steps will likely have to be auditing the site to ensure it was not compromised, and getting fully up to date.

From there, we strongly recommend installing the Upgrade Status module. The Upgrade Status project has existed going all the way back to 2008, and provides an automated report of all of the projects you are using, their compatibility with the latest versions of Drupal, and links to more information about the upgrade process for each.

From FTP and zip files to Composer

Through the Drupal 7 era, the most common way to manage the installation and upgrade of Drupal core and extensions was through downloading the packages as zip or tar.gz files and uploading them directly to your host. 

Modern Drupal has adopted dependency management principles, making software components more easily reusable and better managing version compatibility. This is a common innovation in modern software development, probably most famously in the javascript community with NPM, but is available for PHP projects like Drupal with a tool called Composer. 

It can sound intimidating to have to switch to using the command line to install Drupal and its extensions with Composer, but if you've ever used the extremely popular Drush command line tool to manage your Drupal site, you're already 90% of the way there. The process of using Composer is quite similar to using Drush, just for a more limited subset of actions: installation and updating. 

Want to contribute time to making Composer easier for users?

Several strategic initiatives are focused on wrapping Composer operations in an easy-to-use interface for site-builders.

  • The Automatic Updates initiative provides a UI and automation for Composer update commands.
  • The Project Browser initiative provides a UI for browsing and installing Drupal extensions, without having to touch Composer or the command line directly. 

Content types, users, and data

While Drupal's underlying architecture has changed from Drupal 7 to modern versions, it still follows the same core concepts when it comes to defining and managing content types; users, roles, permissions, and the actual data. 

Modern versions of Drupal come bundled with the Migrate ecosystem of modules to help you migrate your data. The key modules are:

  • Migrate: This is the core upgrade API module.
  • Migrate Drupal: This module consists provides all the helper classes and additional functions that are needed specifically for updates between Drupal versions. 
  • Migrate Upgrade: Migrate upgrade provides a UI that helps you map your field data across content types, users, etc. when preparing for your migration. 

We recommend using the Migrate Upgrade module in a staging or development copy of your website first, to verify that you're able to map all of your existing content to your new content types.

Front-end and Back-end Theme

One of the changes that might be more challenging for some site owners is the transition from PHP templates for theming to the Twig templating engine. Twig is a powerful templating engine for PHP, supported by the Symfony ecosystem, but it does take some learning. 

You have a few choices: 

  • Port your existing front-end or back-end themes to Twig
  • Use a new off-the-shelf front-end or back-end theme built for Modern Drupal. 
    • The new Claro back-end theme that ships with core is functional, modern, and accessible.
    • The Gin admin theme is a popular contributed theme that many Drupal sites use
    • The new default front-end theme, Olivero, provides a beautiful and flexible design with modern interaction models and excellent accessibility
  • Build a new theme, based on an existing theme or from scratch. 

From Features to Configuration Management

Best practice in Drupal 7 when making configuration on your website (such as changes to views, block layouts, etc) was to export those configurations using the Features module, and commit them to your code repository. Features effectively created custom modules to store your configuration.

Drupal 8 and beyond use a new Configuration Management system, which lets you export the configuration as .yml files which can again be committed to a code repository, imported into a new site, etc. It serves the same conceptual purpose as Features, but works in a different and more robust way. 

You can learn more in Drupal's Configuration Management documentation. 

Not ready to migrate? Here are some options:

Stay on Drupal 7

Drupal 7 is officially supported by the Drupal Association, Security Team, and Drupal community until January 5th, 2025. (This date is final and will not be extended.) If your existing site works for you, you can stick with it! However, you should be aware that without security support, your site may be vulnerable. If security issues are found on Drupal 7, the Drupal Security Team will not issue fixes for them.

The D7Security group  provides unofficial extended support Drupal 7.  Read how  D7Security Works and download D7security client module while you are moving off D7. 

The tools and processes to help you migrate will continue to be improved, and strategic initiatives like 'Automatic Updates', 'Project Browser', and 'Recipes' are underway to make modern Drupal easier to use and cheaper to maintain. 

Purchase commercial security support for Drupal 7

If you would like to stay on Drupal 7 but keep your site secure and maintained, you can purchase commercial security support. With this support, you will continue to receive security and compatibility updates for Drupal 7. You can learn more about commercial security support for Drupal 7 to see if this is the right solution for you. 

Don't think that modern Drupal is right for you? 

If you truly don't feel that you need the architectural, performance, and feature improvements of Drupal 10 and beyond, there are other options:

  • For ambitious digital experiences, we firmly believe Drupal is the right choice, but for your specific use-case you may find that another CMS platform better meets your needs. In any case, we encourage you to stick with open-source solutions, because we believe in the foundational principles of the Open Web: open access, open standards, free expression, and digital inclusion. 
  • A number of site owners have migrated to Backdrop CMS, a fork of Drupal that has architecture more similar to Drupal 7 with lots of major new features like configuration manager. The upgrade path from Drupal 7 to Backdrop is built into Backdrop core, and feels similar to (but easier than) the upgrade path from Drupal 6 to Drupal 7. The crossgrade path from Backdrop CMS back to modern Drupal is similar to the path from Drupal 7 to modern Drupal using the migrate system and/or feeds module. A module for an automatic crossgrade is in the development phase. Backdrop is not an official project of the Drupal Association, and is not supported by the Drupal community or Drupal security team, but instead is its own project with its own community, security team, governance, and support

Help improve this page

Page status: No known problems

You can: