Drupal 7: End-of-Life Migration Solutions [2023-2025]

Drupal site publishers earned a reprieve when it was announced that the “end of life” for Drupal 7 has been extended from November 1, 2023 to January 5, 2025. There are many reasons that organizations are still running old code. This decision gives teams another year to migrate sites. The peak developer activity for the open-source Drupal content management system (CMS) was in the early days of Web 2.0 and versions 5 to 7 of the platform. Acquia management made a decision to abandon backward compatibility with the Drupal 8 release. This left many businesses stranded. Even worse, many companies who invested early in Drupal development with custom PHP solutions find their projects stuck maintaining legacy code that cannot be upgraded easily to new standards. Many modules and themes that provide functionality for D7 sites are not maintained or available. This document seeks to advise business and nonprofit organizations still running Drupal 7 on the best way forward. The good news is due to the new decision by the Drupal governing committee, developers will have another calendar year to work on building their code for website migrations.  

Drupal 7 End of Life – What to Do?

 
In the Drupal 6.x-7.x era, the CMS competed head-to-head with WordPress as an open-source PHP web development solution. After the release of Drupal 8, the lack of backward compatibility and the abandonment of the small business market led to WordPress surging in popularity over Drupal. WordPress is now estimated to run over 40% of all websites globally. Drupal has slipped to less than 1% globally with the latest release of version 10. Many organizations are left maintaining legacy code that needs to be migrated, refactored, and modernized before the D7 EoL deadline in 2025. The major problem facing organizations with Drupal 7 websites is the lack of backward compatibility for important modules and themes. Other organizations have invested in custom code that cannot be easily upgraded from PHP 5 to PHP 8 standards lacking proper documentation or change of staff. Pumex is a professional Drupal development agency with 15+ years of experience in custom PHP, JavaScript, and MySQL database solutions. We recommend that organizations migrating Drupal 7 sites to new solutions consider the following points before making the final decisions on the platform.  

1. Take Responsibility for Open Source Code

 
The lack of backward compatibility between D7 & D8 modules and themes led to open-source developer flight from the CMS community. Many programmers simply abandoned their modules and moved on to other projects. Drupal 8 introduced Twig & Symfony over the PHPtemplate system. One advantage of the PHPtemplate system is that it allowed coders to add functions to Drupal as requested by site owners or management without creating new modules. The general lack of documentation and inability to upgrade this type of code keeps many sites forced to run on D7. Similarly, there are thousands of D6-D7 modules that provided important functionality that were never upgraded to D8 versions. How websites that rely on outdated functionality can upgrade remains a major problem. Many themes need to be completely rewritten for the upgrade to occur. Acquia recommends that organizations take responsibility for older modules and themes to invest in the production of D8-compatible upgrades. The D8 to D10 update path is generally smooth, but the lack of availability of important modules from D7 is the biggest hindrance to project update goals.  

2. Migrate Modules & Themes to Drupal 10

 
If your Drupal 7 site relies on modules or themes that are not compatible with D8 and have not been upgraded by Acquia, consider taking over maintainership for these projects and modernizing the code. Pumex developers specialize in debugging D7 theme problems and updating old modules. The extension of the End of Life date for Drupal 7 establishes a minimum runtime standard of PHP 5.5, whereas Drupal 10 already supports the features of PHP 8 (Read our blog on Drupal 10 Migration). Site owners with spaghetti code are locked into compatibility with older versions of PHP that are outdated with potential security issues. On a technical level, there are only two differences between Drupal 8.9 and 9.1, which have to do with dependencies and depreciated code. Once a module or theme has become compliant with the Drupal 9.x version standards, it will also be able to be published as compatible with the 10.x release. Making the update to a Drupal 10 site re-establishes your apps with PHP 8 runtime ability as well as many other new feature upgrades of the platform. JSON API & GraphQL options now allow Drupal to run as a headless CMS with React, Vue, Gatsby, and other modern frameworks for mobile apps. According to developer John Faber of Chapter Three, the Next-Drupal distro “allows us to create these frontends that are production-level frontends on a very lightweight React framework.” Drupal site owners should make a decision now on whether or not to adopt headless CMS architecture.  

3. Standardize Functionality with New Solutions

 
IT departments must deal with cycles of hardware and software development that are industry standards. There have been significant advances in web development since Drupal 7 was a popular choice for publishers. When upgrading your D7 site, make sure to adopt the best of new practices. Running Drupal 8-10 websites as a decoupled or headless CMS option with React, Vue, Gatsby, and other frameworks allows legacy content to be refactored for native display across multiple device types. The JSON API and GraphQL options for Drupal are world-class and support enterprise scale. Still, many companies choose to migrate from Drupal 7 to WordPress or another decoupled CMS solution due to the ease of use in administration or access to more open-source plugins & themes. Pumex managers can help you decide and build a custom programming team for new solutions. Integrating a PHP-based CMS like Drupal with data analytics and machine learning for content recommendation involves adopting a microservices approach vs. the traditional monolithic installation of code. Pumex helps Drupal site owners transition to API-first approaches for content delivery.  

4. Build a Stable Production Site on Drupal 9

 
The minimum goal of a Drupal 7 upgrade should be a fully functioning Drupal 9 site running on the latest version of PHP 8. Drupal 9 sites and modules operate with near equivalency to D10. Acquia is now providing for backward compatibility between versions to avoid the problems of D7 upgrades. PHP 8 support in Drupal begins with version D 9.1. The database requirements are: 
  • MySQL or Percona: Version 5.7.8 or greater
  • MariaDB: Version 10.3.7+ or higher
  • SQLite: Version 3.26 or above
Pumex engineers refactor legacy Drupal 7 code to make it consistent with the Drupal 9 runtime requirements. In instances where PHP code was written using the PHPtemplate system, we update and transition the code to new modules compatible with Drupal 8-10 as a required solution. With Drupal 7 theme updates, the standards for the templates used to display custom content types also need to change. Building a secure and fully functioning Drupal 9 website from the D7 upgrade is a prerequisite for introducing the new features of the D10 distribution meant for DXP usage. Views became a core Drupal CMS module with the D8 release. Since then, the use of Panels as a design tool has become depreciated. Drupal 7 publishers that relied extensively on Panels for landing pages and other displays will need to implement other solutions for the dynamic content. As the developer of the module states: “Panels is an API in Drupal 8. In order to use panels, you must use an implementing module. Currently, Page Manager and Panelizer implement panels.” Solutions like DXPR Builder are working with D9 and have been adopted widely by the NGO community. Pumex specializes in the unique requirements of NGOs, Healthcare, and Government groups. We assist NGOs to upgrade D7 with cloud compliance for HIPAA and GDPR standards.  

5. Transition to Drupal 10 with Platform Compatibility

 
The Drupal 10 release includes major updates to the CKEditor, Symfony, and Twig components that are used to build Drupal themes. Drupal 10 is made to highlight the capacity of the CMS to function as a Digital Experience Platform (DXP). The main features are available on Acquia Cloud. Acquia Cloud is arguably the most advanced distribution of Drupal available to publishers, as it represents the fusion with Mautic marketing analytics for major brands with Drupal Commerce. Pantheon maintains the most development options for independent Drupal design teams. Both platforms focus on the maintenance of staging environments that can be used for testing Drupal 7 upgrades before going live with updates or new features. Acquia Cloud competes in enterprise markets with Adobe Experience Cloud and Salesforce Lightning frameworks. Acquia is promoting a Next.js starter kit for headless Drupal projects. Buytaert has described the solution as similar to the Faust.js framework developed by WP Engine. Pumex developers will support both monolithic and headless Drupal CMS development for DXP usage requirements.  

6. Migrate D7 Sites to Other Platform Solutions

 
The fusion of Drupal for content management, Mautic for marketing analytics, and managed cloud services from Acquia transforms the CMS into a powerful DXP that competes with Adobe, Hubspot, & Salesforce, assisted by the acquisition of the company by Vista Equity Partners for $1 billion USD. Many independent Drupal developers have transitioned their sites to WordPress or SSG options based on JAMstack development techniques to avoid the problems with monolithic CMS apps. WordPress has many similar problems to Drupal, but is much easier to maintain and upgrade. The difficulty of the Drupal 7 upgrade process for complex websites running custom code has been noted, where the introduction of PHPComposer and Drush requirements in the CMS has made it more difficult to maintain over time. This has led many Drupal users to migrate to other platforms. Pumex has over 15 years of experience developing for monolithic CMS systems like Drupal, WordPress, Magento, and Joomla. This includes custom PHP, JavaScript, HTML, and CSS solutions for building new modules, plugins, and themes. We also support Acquia Managed Cloud migrations.  

7. Upgrade Cloud Hosting & Datacenter Architecture

 
If your legacy Drupal 7 website is still running on shared hosting, it may be beneficial to upgrade to a VPS plan with more resources for the CMS. A shared plan will only allocate around 1 GB or less of RAM. Migrating to a VPS or VM platform with 4 GB RAM and multiple vCPUs will improve speeds. Google PageSpeed now depends on Core Web Vitals for a significant portion of the calculation of their PageRank algorithm. Drupal sites depend on web page caching for performance. It helps to find a web hosting provider with managed NGINX, Redis, and Varnish Cache admin support. The advantages of a managed cloud approach like Acquia’s are significant when compared to a developer-centric hosting platform like Pantheon. The cost of Acquia’s managed cloud services is targeted to enterprise brands with high rates of scalability and large catalogs of consumer products. Pumex works with organizations of all sizes to determine what level of cloud hosting and datacenter support is required for each project. We make suggestions for improvement of Drupal CMS performance based on datacenter hardware specifications, web caching, and CDN services. Most Drupal 7 upgrades will require the installation of a staging environment for the testing of new code and debugging issues for relaunch. While this can be done easily on a subdomain, we recommend to also upgrade the web server resources when relaunching sites for page speed.
   Read more about what makes Drupal so great.

Summary: Trust Pumex for Drupal 7 to 10 Upgrades

 
If your organization is stuck managing a Drupal 7 website with custom code that has lost its original development team or cannot be upgraded to D8+ due to theme rewrite issues and missing modules, consider Pumex staff augmentation services for professional Drupal development. Pumex programmers can perform a site audit on your Drupal 7 installation to determine where the bottlenecks and outdated code snippets are found. We then begin the process of re-writing the theme and custom module requirements in PHP, JavaScript, and CSS for a clean Drupal 8 upgrade. The goal of a Pumex Drupal 7 upgrade project is swift and secure transformation to the latest platform standards. Drupal 10 was released in December of 2022. Resources for the use of Drupal as a decoupled CMS have expanded. The code can also be transformed into a DXP application. DXP apps, like AEP & Salesforce, personalize content to create unique journeys for users based on their specific roles, interests, browsing history, etc. Acquia merged with Mautic to add data-driven platform analytics to Drupal websites running ecommerce stores for major global brands. Drupal site owners should consider the advantages of headless or decoupled CMS operations over a monolithic installation when upgrading a D7 CMS website. Upgrade your datacenter architecture for better performance. Pumex supports Drupal 7 upgrades and migration of content to WordPress.

Drupal 10 Migration: Here’s What You Need to Know 

Just how popular is Drupal these days? According to one recent study, Drupal provides the foundation for at least 14% of the top 10,000 most popular websites around the world. This is in addition to powering 1.2% of the top 10 million sites globally. When you also consider that it had a community of nearly 1.4 million people as of 2022, with over 120,000 of them actively contributing to its open-source framework, it is easy to see how Drupal has become something of a force to be reckoned with over the years. 

That is also part of the reason it is so exciting that Drupal 10 has finally arrived. Released on December 15, 2022, it supplants the last major release of 8.9.20 that was released in December 2021 and will replace Drupal 9, which will meet its end-of-life in November 2023. But why is Drupal 10 so notable and is it worth the effort to upgrade your own system? The answers to questions like these and more require you to keep a few key things in mind. 

 

What’s New in Drupal 10? 


To say that Drupal 10 represents a major upgrade compared to what had come before it is, at this point, a bit of an understatement. All told, Drupal 10 offers several key features, including but not limited to ones like: 

  • A new Claro administration theme has been made available, replacing the previous Seven theme. 
  • There is a new Olivero default theme, replacing the previous Bartik theme. 
  • Drupal 10 also introduces CKEditor 5, which promises to yield a better authoring experience across the board thanks to an interface that is optimized with modern editing techniques in mind. Note that this replaces CKEditor 4 entirely. 
  • Modern JavaScript components are now being used across Drupal, in large part to replace some uses of jQuery. 
  • Theme Starterkit tools were added to help facilitate effective theme creation for as many people as possible. 
  • Symfony 6 has been added under the hood, which replaces the previous Symfony 4 release. 
  • PHP version 8.1 is now required to keep your Drupal system and anything you create with it as secure as possible. 

In addition to new features, there have been many removals with this latest version of Drupal, although developers say much of this will not impact development. In terms of frontend dependency changes, for example, the public Backbone and Underscore core libraries have been eliminated. They are only for internal use moving forward. 

There have also been a wide range of PHP dependencies removed, including certain versions of Diactoros, Laminas Feed, EasyRDF, and others. 

To find out more about absolutely everything that has changed in this version of Drupal 10 (and to stay up to date with what will be added to minor releases in the coming weeks and months), view the Drupal.org release notes here. 

 

Drupal 10 Migration Instructions 


One of the most important things to understand about the Drupal 10 migration process is that, once deployed, you must keep up with minor core releases. Developers have stated that this is the best way to prepare for any major upgrade, but especially true which Drupal 10. 

According to Drupal’s own website, upgrades to Drupal 10 are possible from Drupal 9.4 or later. To get started, you will want to use one of the available deprecations checking and correction tools to prepare for moving from one version of Drupal to the next. These will help you identify and address any deprecations that have occurred in your code base over time. 

Then, if you are not currently running Drupal 9.4, you will need to follow that upgrade path first. There are several ways to go about this depending on which version you are coming from: 

Again, all of this is essential to help make sure that your site or project is already compatible with Drupal 9. At that point, little effort is required to move from Drupal 9 to Drupal 10. 

Thankfully, the actual upgrade process is simple. To get to the latest version from an existing deployment, simply open the Composer and use the following command: 

  • composer update “Drupal/core-*” –with-all-dependencies 

Then, all you must do is wait for the process to complete, and you will be ready to take advantage of all the new features and functionality that Drupal 10 brings with it. 

Note that if you want to start a new project using Drupal 10 as your foundation, you will open the Composer and use the following command: 

  • Composer create-project Drupal/recommended-project:10.0.0 “install-dir” 

This, too, is a viable solution.  

While it is recommended that you use the Composer to perform this migration, you can also do so manually if you so choose. This is for people who are unfamiliar with or uncomfortable with command lines and who are not interested in learning the finer workings of the Composer. This is also a way for someone without shell access to perform the upgrade. 

 

Additional Considerations About Drupal 10 


It is important to note that Drupal 10 was released at the same time as Drupal 9.5.0. While the latter release has most of the changes and features that the former does, it also maintains true backwards compatibility with certain previous versions. As a Drupal development company, we recommend that you always pick Drupal 10 if you have the option. It will help make sure that any new project you create today will always be compatible with future versions. However, there may be certain scenarios where this is impossible and if that is the case, Drupal 9.5.0 still represents a significant upgrade over its previous versions.  

In the end, Drupal 10 continues its long tradition of delivering state-of-the-art capabilities including account registration and maintenance, RSS feeds, the ability to customize page layouts, system administration and much, much more. When you consider what a major leap forward Drupal 10 represents to what originally began as a straightforward open-source project all the way back in 2001, it truly is exciting to think about the possibilities that future releases will bring to us all.