John Faber Managing Partner Follow
May 2, 2022

Drupal 7 and PHP’s end-of-life are right around the corner and many people are thinking about the best path forward.* The three options tend to be: a.) traditional “Lift and Shift” to Drupal 9, b.) “Lift, Shift and Improve a few things,” and c.) “totally rethink,” and rebuild the site. Each option produces a complex Drupal 9 site. Many Drupal 7 sites are layers of back-end code, complex front-end code, and content types that have evolved over the years. At first glance, the upgrade process seems insurmountably expensive, and not worth it. 

But we think there’s a better way. Chapter Three believes our Drupal 9 and Next.js integration, NEXT-Drupal (www.Next-Drupal.org) is a modern solution to upgrade your Drupal 7 site, giving you excellent installation of Drupal 9 and a great decoupled front-end! In other words, a true headless CMS. The best of both worlds!

NEXT-DRUPAL: Our Headless CMS Solution

Chapter Three has a better solution. Use Drupal 9 as a content platform and rebuild your front-end using Next.js. This is Next-Drupal. 

How would this work? We break it down in three steps.

One

Step one of this process is to clean up your Drupal 7 content and optimize the content structure.  “Using full HTML in the body and linking images in the WYSIWYG was common sauce in Drupal Seven”  Our migration script removes all Drupal 7 inline HTML and other fluff and moves that content to a clean component-based architecture in Drupal 9. All images are moved into the media module. Files are migrated into Drupal 9. We do not load up on modules. We want to run Drupal with as few modules as possible. Drupal 9 is now a JSON-ready platform ready to serve content to the Next.js front-end.

Two by Pete Linforth

Step two is creating a new front-end using static page-building components including HTML, Javascript, CSS, and API calls. New Javascript development provides next-generation workflow tools allowing for close collaboration between teams. Your marketers, designers, and developers work together in real-time, making collaborative changes to the site. URL importers in Next.js allow design components to be pulled directly from your design tool into the front-end.   This is the new way to work. 

Three by Pete Linforth

Step three. Hosting a decoupled site requires two providers, one to host your Drupal installation and the other for the front-end; don’t be scared, we got this. Your Drupal site will be lightly used (API Calls and Editor access), and Drupal will not be using its front-end rendering engine, meaning you won’t need a high-performance, high-cost platform. Instead you can host Drupal on a low-cost provider and the front-end on Vercel. Vercel is our front-end provider of choice, with plans starting at twenty dollars per month for one terabyte of data transfer. Vercel hosting is not based on page views; you can sleep well knowing your platform pricing will not auto-scale on a traffic increase! A sudden surge of interest in your content or products will not cost you as with typical pricing.   

Let’s Recap

  • Clean up the content architecture and sanitize your content. Build a new Next-Drupal.org platform with well thought-out content types. Import your sanitized Drupal 7 content.
  • Say good-bye to your Drupal 7 modules. Rebuild the front-end using Next-Drupal.org.
  • Deploy the front-end on Vercel and the Drupal site on a low-cost provider. 

Drupal is a fantastic content platform. Next.js and Vercel is the ultimate front-end platform. They belong together.

If you are interested in upgrading your Drupal 7 site using Next-Drupal please reach out to us

*We’re aware that Drupal 7 end-of-life has been extended to 2023, however, that will only provide bare-minimum security patching and PHP 7.4, which powers many D7 sites, is at end of life this year. D7 won’t work with PHP 8.