Drupal 7 to Drupal 9 Upgrades
As Drupal 7 approaches its end of life date in November 2022, there are a number of different options for companies and organisations that have a website that was built using Drupal version 7.
It has had an exceptionally long life for a content management system. Its official release dates back to January 5th 2011 - giving it a lifespan of almost 12 years - compared to Wordpress version 4, which had a lifetime of around 7 years.
It was successful from the start, with a high adoption rate. The number of live Drupal 7 sites peaked at around 1.1 million in 2015. At the time of writing, the number of live Drupal 7 sites is still around half a million though that is likely to drop in 2022.
Drupal 8 was released in November 2015, and featured significant internal changes and improvements from its predecessor, with a new system based on the Symfony framework and Twig templates.
Many companies delayed upgrading to Drupal 8 for a variety of reasons - for example, many developers were unfamiliar with the new system, some contributed modules used in Drupal 7 sites were not yet available, and the security patching and upgrade process caused problems for early adopters, who were used to the relatively simple web-based process for updating Drupal 7 modules.
The release of Drupal 8 saw a maturation of the codebase, bringing it up to date with the expectations of developers who had learned how to program using object-oriented code - it was effectively making it ready for high end and enterprise use, including multilingual websites and complex approval workflows - while preserving many of the features that made Drupal 7 such a good fit for coding custom business logic and features exactly matching client requirements. It became less suitable for building smaller websites, and for front-end developers who had put websites together in Drupal 7 without having to write any code.
Where a website requiring a content management system needs special features or logic that is not available off the shelf, Drupal offers one of the best routes to creating a robust, stable and secure site, without having to code everything from scratch.
Drupal 9 was released in July 2020, and offered a number of additional benefits over Drupal 8. It afforded an improved upgrade path for Drupal 7 site owners; it cleared up a lot of legacy code and functions still present in Drupal version 8; it had better support for mobile admin users, and for different configurations e.g. use in a backend-only scenario to deliver data to an App or a custom front-end; it incorporated more key modules into the core, guaranteeing their future support and stability; it was built on a more up-to-date version of Symfony; and applying security updates has become easier and less disruptive.
GWS specialises in Drupal development, and can assist with upgrades from Drupal 7 to Drupal version 9. The amount of work involved will depend on a number of factors such as:
- Whether the website contains custom code (modules), or modifications were made to contributed modules or to Drupal core. Less custom code will make the upgrade process easier.
- Whether the website contains contributed modules which are no longer available for Drupal 9. If that's the case, some may have been incorporated into Drupal core, some may be superseded by other modules, some may no longer be needed, and others may need to be replaced with custom code. Generally, we have found that there is not very much that needs to be recoded from contributed modules that have been discontinued.
- How the custom code is written, and whether it creates direct queries for database access, or whether it uses Drupal's API. Some Drupal 7 legacy code has its roots in earlier versions of Drupal and this will involve more work to clean up / rewrite.
- Whether the website has e-commerce features, which payment gateways it integrates with, and whether the store functionality makes use of the Drupal 7 module called 'Ubercart'
- Whether complex aspects of the design or some features of the current website may no longer be needed. Renewing a site is always a good opportunity to evaluate which areas of a website are needed and popular, and which are not popular or may not be needed.
In most circumstances, it is significantly easier to move a Drupal 7 site to Drupal 9 than it is to remake it in another system - however, we can let you know if we feel that a different CMS would be more appropriate. We work with WordPress, PrestaShop, Magento and Joomla among others.
We are happy to provide a quotation for upgrading / redeveloping your Drupal 7 website - please contact us to speak to a member of staff and discuss your requirements.
We will need access to a copy of the website files and database, or sFTP file acccess and PHPMyAdmin / database access so that we can assess exactly what will be involved (viewing the site itself from the frontend will give us an approximate idea of the current website scale, but we also need to see the backend side).
Q. Should we upgrade our Drupal 7 website to Drupal version 9 now, or wait for version 10 once that is released in summer 2022?
A. It is best to start planning for a move to Drupal version 9 now, as, depending on the complexity of your website, it is probably going to be easier overall to start the move to Drupal 9 (which is now well-established and very stable, and will have a much simpler path to Drupal version 10) now, rather than dealing with any teething issues with Drupal 10 when that is released. Normally it is best not to become an early adopter of any system in case it has bugs which have not yet been resolved.
You will also potentially face more challenges with keeping your Drupal 7 website running the longer that you do so - for example, in terms of PHP version incompatibilities, insecure older PHP versions, unsupported modules in Drupal 7 with security issues, and the need to create and manage a custom hosting environment as PHP 7.4 and PHP 8 become standard.
We can also help with maintenance and support of Drupal 7 websites - more details here