Now that Drupal 9 is available there are 3 supported major versions of the Drupal CMS. This is not an easy situation for many decision-makers. We’ve been working with Drupal since core version 4. Let’s break down the differences between these three different versions of the Drupal CMS to help you better understand what fits your needs and gives you the best opportunity to have an effective website that delivers you value. TL;DR scroll down to the comparison table.
Technical differences between Drupal 7, 8, and 9.
Drupal 7 is fundamentally different from Drupal 8 and 9. There were so many architectural changes that a transition from a Drupal 7 site to Drupal 8 is closer to a migration project from a different CMS than to a software upgrade. For example, the whole theme (presentation) layer uses a different technology; therefore, an upgrade from Drupal 7 to 8 means the frontend must be fully rebuilt. Starting with Drupal 8 many standards and modern technologies have been adapted. Taking these into account the development and deployment of Drupal have become more and more effective and future-proof. Luckily, there is no big architectural gap between Drupal 8 and 9. Drupal 9 is actually closer to a next minor core upgrade like 8.8 to 8.9, with 2 differences: code marked obsolete during 8.0-8.9 development is removed and dependencies were upgraded significantly. This approach makes it possible to build Drupal 8 sites that are fundamentally Drupal 9 ready as there are already tools to easily check whether there is any obsolete code dependency in a Drupal module.
Drupal 8 and 9 feature enhancements over Drupal 7
Content modeling, Drupal’s traditional advantage over other CMSes, is flexible content modeling capability. Setting up the proper content types, adding various fields in a standard, yet extensible manner is relatively fluid with Drupal. All of this leads to further structured content, making it easier to create a consistent, yet still adjustable presentation, more powerful search, and data integrations. This was already true for Drupal 7, but Drupal 8 and 9 has gotten it right even more with Media handling in core and supporting custom content entities much more. All of this makes the D8 platform a convincing option for any content-heavy web application, not only as a traditional CMS.
Multilingual capabilities - With over 100 languages out of the box and unrivaled translation workflows, no CMS offers better language support for multilingual capabilities. This was already true for Drupal 7, but Drupal 8 and 9 refined this even more.
Smoother, much more effective deployments and developer collaboration - For complex projects, with a team of developers and multiple environments (e.g. dev, test, staging, prod), it’s far easier to manage deployments (especially configuration changes), which makes the work more effective with Drupal 8 or 9.
Performance: Drupal 7 may run, Drupal 8 supports, Drupal 9 requires an up-to-date hosting environment. An up-to-date hosting environment with the latest PHP, database engine, or key-value store. D9 is faster overall.
Selecting the right Drupal core version: a comparison matrix for decision-makers
Conclusion on selecting the right Drupal core version
We presently believe that the safest bet is to select or stick with Drupal 8 with the aim of being Drupal 9 ready during the development and plan to close the upgrade to Drupal 9 as soon as the needed modules are ported, before November 2021 the latest.
For brand new projects, Drupal 9 should be primarily considered, but if important contributed modules are not yet available, then starting with Drupal 8 is also a viable option without major drawbacks.