Drupal 7 Sunset: Choosing the Right Path Forward
Author: Chris Egner - Lead Developer
After originally scheduled for November 2021 and undergoing multiple postponements, Drupal 7 is finally reaching its end of life (EOL) on January 5, 2025, for real. At this time, Drupal 7 will no longer receive security patches, bug fixes, or new features.
2025 will be here sooner than you think, so if your website is still running on Drupal 7, then now is the time to start planning for the inevitable. What are your options moving forward?
1. Stay on Drupal 7 and Accept the Risks
While your site won’t suddenly stop working the moment Drupal 7 reaches its end of life, running old, unsupported software – especially on a public-facing website – is a very risky endeavor.
- Security risks: First and foremost, Drupal 7 will no longer receive security updates or advisories. That means if a security issue is discovered in Drupal 7 after the EOL date, your site will be left vulnerable. If it’s something on the level of a Drupalgeddon, that could be catastrophic for your website.
- Compatibility issues: Contrib modules will become unsupported. You may have issues running your site on newer versions of PHP or MySQL, which could limit your hosting choices. If your site interfaces with any third-party APIs, those connections could eventually stop working and require manual intervention to fix.
- Staffing: As time goes on, it will only become more and more difficult (and expensive) to find developers who are willing and able to work in Drupal 7.
For all these reasons, we do not recommend continuing to host a Drupal 7 website after it has reached its end of life.
2. Upgrade to Drupal 10
In our opinion, upgrading to Drupal 10 makes the most sense for the majority of Drupal 7 websites. While the upgrade does involve some upfront effort, having your website on a modern platform such as Drupal 10 will ensure it’s secure, stable, and maintainable into the future. Not to mention, you’ll be able to take advantage of the many new features and improvements in Drupal 10.
Although Drupal 10 is not backwards-compatible with Drupal 7 due to major architectural changes introduced in Drupal 8, thankfully there are tools to make the upgrade easier, such as the Migrate module, Upgrade Status and Drupal Rector. The good news is that if you do upgrade to Drupal 10, it will be the last upgrade of its type you will need to make for your Drupal site, since, as of Drupal 9, major version upgrades are largely backwards-compatible and significantly less effort to perform.
Overall, the upgrade process looks like this:
- Audit the current Drupal 7 site. Ensure it is up to date with the latest version of Drupal core and any contrib modules. Take stock of all content types, taxonomies, views, blocks, modules, and determine what needs to be migrated and what can be removed.
- Spin up a new Drupal 10 site in a development environment.
- Use the Migrate modules to automatically migrate site content & configuration to Drupal 10.
- Manually migrate items outside what the Migrate module handles. There may be certain content or configurations that need to be manually recreated in Drupal 10, especially for contrib modules without an exact Drupal 10 equivalent.
- Rewrite custom modules & custom theme code to be Drupal 10 compatible.
- Post-migration testing & editor training.
- Launch Drupal 10 site, and archive Drupal 7 site.
3. Rebuild on a New Platform
If you’ve been thinking about moving your website away from Drupal to a different platform for whatever reason – whether it’s another traditional CMS such as WordPress, an e-commerce platform like Shopify, or something else entirely – this could be a good time to finally make that change.
Depending on your goals for your website and whether Drupal is well-suited for those goals, this may be a good long-term choice. However, it is by far the most upfront effort, as it involves totally rebuilding the entire site.
4. Convert to a Static Site
If your site does not have much dynamic content or database-driven functionality, it may be possible to convert your Drupal 7 site to static HTML. This would be accomplished by exporting the CMS-generated source code of all pages on the site and either keeping as-is, or moving into a static site generator such as Hugo or NextJs.
Advantages:
- Relatively small development effort, depending on the size & features of your site.
- Cheap to host, since it’s all just static files. No PHP, no MySQL, no Redis, etc.
- No CMS to maintain moving forward.
Disadvantages:
- Site would no longer be editable by non-developers. If your site is constantly changing with new content, this may be a dealbreaker.
- Lost functionality: no user accounts, no on-site search, no form handling, no dynamic content. Some of these features can be recreated with JavaScript, but that would add to development costs.
- Adding new features and content in the future may be more effort, since you can no longer leverage Drupal’s core functionality or contrib modules.
While this can be a viable solution for small sites serving mostly static content, it’s hard to recommend otherwise due to its significant downsides.
5. Migrate to Backdrop CMS
Backdrop CMS is a community-supported fork of Drupal 7. While it is not 100% backwards-compatible with Drupal 7, many of the top modules for Drupal 7 do work in Backdrop. For certain sites where the effort to upgrade to Drupal 10 is too much, it may be viable to migrate to Backdrop instead. However, moving to Backdrop can still be a large effort due to many theme-layer changes from Drupal 7 and the need to manually port any incompatible modules.
If you need assistance with your Drupal 7 site before it reaches end of life, please contact us.
Explore more posts in the Hark blog –>
Want to learn more about how Hark can help?