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?
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
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.
Summary: Trust Pumex for Drupal 7 to 10 Upgrades