Websites migrations can be fairly easy and quite beneficial.
When upgrading to a new and improved platform, you’ll find that your website performs substantially better. Usability improves, development issues tend to be solved, and you’re putting yourself ahead of your competitors by staying up-to-date with new and innovative platforms. Especially in the case of Drupal 8, so many functionalities have been upgrades. Your website will have added security and improved cache systems, among other great upgrades.
However, migrations can present a handful of challenges that one should watch out for during a migration. Especially if you’re migrating from Drupal 7 to Drupal 8. Migrations are simple in concept, but when a problem arises, it’ll need to be dealt with immediately before going live with your website again. And if those problems aren’t dealt with quickly, it could be catastrophic for your website and SEO rankings. Nobody wants that.
We put together a guide of some typical technical issues one may face during migration from Drupal 7 and Drupal 8 so you can be prepared.
Let’s look into a few common problems developers face when performing a migration from old Drupal versions to Drupal 8.
1. Rebuilding Custom Modules
After a migration, one will have to rebuild custom modules. There isn’t much of a way around this.
In Drupal 7, modules were based on application programming interfaces (APIs) with hook and helper functions. In Drupal 8, the modules are based in Symfony and most of the hook and helper functions have been made obsolete and replaces with services and development based on object-oriented programming (OOP) principles. Because there isn’t backward compatibility in Drupal 7, they have to be completely remade in Drupal 8.
2. Unsuccessful View Module Translation
This is definitely one of the biggest problems developers face when performing a platform migration. The unsuccessful translation of a Drupal core View (a.k.a. module) can happen to even the most nuanced developer.
Views require an upgrade path if they are defined in Drupal 7. You’ll need to manually build new Views in Drupal 8 once the migration is complete.
Views are also entity-based in Drupal 8 and their foundation is vastly different from Drupal 6 or 7. The functionalities are fairly similar, but you’ll find that Drupal 8 has superior improvements in the latest version, especially when it comes to security and caching.
3. Missing Content During Content Migration
The most common content migration issues during a system migration include missing content and duplicated content. In case your content is using a portion of the fields created using custom modules, it’s important that you create a field type pre-migration in order to avoid content migration issues.
4. Loss of Traffic from Search Engine Optimization (SEO) Migration
It’s common for website migrations to lead to a short-term loss of traffic. The search engines need a bit of time to update their indexes properly, and this is normal and should be expected during the migration process.
Even if a few SEO URLs and tags seem to be missing after the migration process, it can lead to a not-so-great impact on your website’s search engine rankings. Plan accordingly to boost those rankings post-migration should an SEO issue occur.
5. Upgrade Paths and Contributed Modules
If an upgrade path is provided by contributed modules stored in the Drupal 7 version of that module, it will be migrated to Drupal 8 fairly easily. If for whatever reason there is not a Drupal 8 port available for a particular module, then a new functionality has to be made or the module will need to be ported manually to Drupal 8.
6. Template Engine Changes
One major change between Drupal 7 and Drupal 8 is the replacement of PHPTemplate by Twig as the default templating engine. Because of this change, all themes will need to be completely rewritten after the migration is completed.
You’ll need to replace all of the PHPTemplate files for your respective themes with Twig files. Your development team will no longer be able to write custom PHP code in template files. You’ll need to write preprocesses in a way that modifies the rendered output.
7. Multilingual Node Issues
Multilingual sites may face their own issues when migrating to Drupal 8. Translations in Drupal 8 are stored in a vastly different fashion than how they were stored in Drupal 6 or Drupal 7. As it stands, developers in the community are still trying to solve issues with translation migration in this regard.
To keep it low-risk, it’s recommended that developers be ready to do translation migration manually or to add multilingual content post-migration.
8. Underlying Build of Specific Websites
For specific websites whose underlying build is not available in Drupal 8, there may be quite a few roadblocks that will, unfortunately, end in just not being able to migrate.
E-commerce websites that have been built in Drupal 7’s distribution Kickstart, which is not available in Drupal 8, will unfortunately not be able to upgrade and migrate to Drupal 8. There are other nuances in website types that will not be able to fully migrate to Drupal 8. Luckily, you can test your website’s compatibility with Drupal 8 by using an estimation tool.
9. Field Issues
Field issues can be quite a tedious pain during a migration.
Image field issues usually occur when the node field successfully migrated but image field content is missing. Link field issues usually occur when the link field configuration post-migrations is incongruous and doesn’t match up, and content missing. Date field issues occur when the contents have not migrated and there is no support for the end date. This is especially common for Drupal 7 to Drupal 8 migrations, so keep a keen eye on your fields during migration.