June 2020 turned out to be a huge landmark for the platform’s admirers: Drupal 9 was presented to the public. This version is based on the same core as Drupal 8, so the migration process does not require much time and effort from developers. Below we will discuss all aspects of Drupal 8 to Drupal 9 migration in more detail.
Why Do We Advise to Plan the Upgrade Today?
With Drupal, scaling the website in harmony with your business growth is easy. This is what Drupal excels in the most. Yet, a sudden rise in the number of pages, functionality, or content could impact the site’s performance. Drupal 9 is here now and it is all geared up to take on this challenge.
Under the revised roadmap, developers plan to release a new major Drupal version every 2-3 years, thus, upgrading sooner would prevent sacrificing the security of your solution and safety of customer data.
Benefits of Drupal 9
So what are the reasons to migrate the platform for owners of pages based on Drupal 7 and 8?
- Enhanced security. In the 9th version of Drupal, all obsolete code was removed or replaced, which means that there would be much fewer security problems (since most of the bugs that formed known vulnerabilities were eliminated). By the way, starting from November 2021, the Drupal team promises to regularly provide this version with security policy updates. The third-party dependencies have also been updated. As for compatibility, most of the code interfaces remained untouched, which means that developers will not have problems with migration and support of existing addons.
- Introduction of latest Symfony and TWIG versions. Drupal 9 is compatible with Twig 2, Symfony 4, and 5, which provides a wide range of template development capabilities.
- Increased performance. Drupal 9 boasts numerous core modules with the help of which you can maintain performance at the acceptable level even when deploying the most complex solutions while maintaining the margin of adaptability. Among these, we should mention Big Pipe (performs caching of metadata and speeds up the page sending), an extended Internal Dynamic Page Cache (for caching dynamic content), Internal Page Cache (for caching data of anonymous users), Blazy (for lazy loading and multi-serving of pictures), CDN (for the integration with CDNs), and many more. Also, do not forget about the support of Memcache and Redis, which help to optimize the loading of rich media and speed up the rendering process.
- Availability. By supporting international Internet accessibility policies and WCAG, Drupal 9-based solutions can be adapted to serving people with disabilities to make the website accessible for all.
- Wide capabilities for the creation of international sites. Due to the support of 100+ languages, using Drupal 9, developers can easily create and maintain multi-locale websites. This is facilitated additionally by the presence of a built-in on-the-fly translation engine. All the locale-changing capabilities also concern the administrative panel.
- Optimization of content processing. Drupal 9 has a new feature that allows you to simultaneously manage several versions of the site. This simplifies the process of synchronizing changes between different versions of your portal.
- Simple migration process. Basically, the process of migration from the 8th version is not complex yet being much easier taking into account previous versions. Still, descending on the website and many other factors, a professional help required to avoid costly mistakes.
What Is Next in Store?
At the same DrupalCon in July 2020 where Drupal 9 was presented, the development of the next major version - Drupal 10 - was announced, scheduled to be released in June 2022. Currently, it is known that it would resolve all the Symfony 4 deprecations.
The fact is that the fourth version of the framework would expire in November 2023, which means that from that moment on, bugs that provoke vulnerabilities in the platform will no longer be eliminated. Therefore, the newest version of Drupal would be based on Symfony 5 and later.
Websites using Drupal 9 still have two more years to prepare for transfer to Drupal 10. By the way, if you are interested in a competent migration to the new version of the platform, contact our experts today!
Drupal 8 to Drupal 9 Migration
Drupal 9 was made with the thought to ensure the smoothest possible migration process from the previous version, while at the same time offering new opportunities for content management, advanced localization features, increased performance, optimized accessibility, etc.
Why would one want to start migrating today?
What about Drupal 8 vs Drupal 9? Why should you upgrade?
The need to upgrade Drupal 8 to 9 is as follows: in November 2021, the Drupal development team would give up the LTS support for older versions in favor of a newer system of forcing the continuous introduction of minor engine versions, similar to how Windows 10 is updated. This means that you will not be able to get technical support if you have any problems with your site in the case if it is based on an outdated platform.
Also, the Drupal team will stop releasing the bug-fixes for previous versions, which will entail the possibility of successful hacks.
Finally, you will no longer be able to connect the latest versions of the necessary modules, which will significantly limit the capabilities of your site.
That is why you need to upgrade from Drupal 8 to Drupal 9 while there is still time.
An untimely migration can lead to leaks of user data and other troubles such as hacker attacks inspired by the termination of support for old versions of Drupal. In our experience, it is better to carry out the migration in advance to transfer all the relevant data without haste and test the updated site.
The process of migration from Drupal 8 to Drupal 9
The process to migrate from version 8 to version 9 is by itself quite simple. It looks like this:
Step one: Check your hosting for compatibility
First, you would need to prepare a Drupal 8 website for Drupal 9. To do this, check if the hosting you chose meets the requirements for installing an updated version of Drupal. Here is a complete list of these.
Step two: Update the Drupal 8 engine to the latest minor version
Now, if you are still not using the most recent version of Drupal 8 (meaning Drupal 8.9.x or at least 8.8.x), you will have to upgrade. This will ensure that the latest versions of the extensions you use for your site are supported.
Step three: Update the additional code modules and themes
The next step is to refresh your codebase and themes to be completely compatible with Drupal 8.8.x/8.9.x. A code editor from Drupal developers will help you with this.
Also, if you used the TWIG 1 template editor, you will need to provide TWIG 2 support. You can do this using the following tutorial.
Step four: Start the auto-update process
Now, after refreshing all the standalone pieces of code, you will need to run the “update.php” script, which will update your website’s engine to Drupal 9.0.x.
Migration from Drupal 7: recommended way
The migration process recommended by the Drupal developers themselves is quite complicated. Before performing the above steps, you first need to make the transition from Drupal 7 to 8 (and only then do the Drupal 8 update)
So, here's what you should do:
Step one: Perform a kernel update
First, you would have to upgrade your Drupal kernel. This can be done using the Drush command interface and special migration modules. Drush is especially useful when transferring complex sites.
Step two: Update all plugins
At this point, you will have to update all the additional modules that constitute the functionality of your site. Our experts favor Upgrade Status addon to help monitor the process.
Step three: Connect and run the upgrader module
Now, just download and install theDrupal Upgrader extension. It is a software update installer that would independently convert the code of your site based on Drupal 7. You will also be provided with instructions on manual operations that you would need to conduct to upgrade the individual code blocks and APIs.
Step four: Upgrade from Drupal 8 to 9
Finally, you will need to follow all the steps necessary to move from Drupal 8 to 9, described in the above tutorial.
Read more about the strategies for a website of Drupal 7
>Migration from Drupal 7: how Anyforsoft does it
The above-described process has one huge pitfall. There were a lot of changes and differences introduced when Drupal 8 was released. Even with the aid of all the automated tools offered by developers of the platform itself, you risk making a lot of the code that constituted the functionality of your website based on the 7th version of the engine broken or even unusable. Not to mention that there are a number of inefficient and deprecated procedures and modules.
Thus, when Anyforsoft experts are tasked with migrating an older version-based store to Drupal 8 or 9, what would be our solution? In our experience, it is quicker and more cost-effective to recreate the website in Drupal 8 or 9 from the grounds up and then transfer all the relevant data and media content from the old pages. Our customers receive a much more efficient and scalable e-shop with the same appearance, behavior, functionality, and content.
Drupal 8 to Drupal 9 Migration: Summary
We hope that this article would help our readers to get at least a basic understanding of how to migrate from Drupal 8 to Drupal 9.
Of course, you can conduct the migration process yourself. However, despite the outside brevity of the upgrade to Drupal 9 described in this tutorial, it is not an easy process with some unexpected pitfalls in the way, and it is better to entrust its implementation to professionals.
Needless to say, we are ready to offer our aid. The Anyforsoft team is composed of certified, highly trained, and experienced developers, engineers, marketers, and designers. In particular, we can boast sizable expertise in the development, modernization, and migration of Drupal-based solutions. Contact us now to discuss the details of your project!