Drupal 6 to 9.3 Migration – Everything you need to know!

By: Skynet Technologies USA LLC
8 mins
Drupal 6 to 9.3 Migration

Drupal 6 (which was the core version of Drupal) reached its end-of-life quite a time ago in 2016. The community support was also taken aback after some time of its end-of-life since Drupal 8 came into existence. Do you know what does it mean?

Yes, you get it right. If your website is still not updated to the newer version, it might have numerous pitfalls with security downsides. The security of your Drupal website is critical, and your security measures should adhere to the best Drupal security practices. No wonder your data has been hacked or stolen or your website has shown many errors and performance issues in the last few years. What else can you expect with a version that is outdated and not supported by the community?

After the release of Drupal 9.2.0 in June 2021; Drupal has announced the latest version of Drupal 9.3.0 in December 2021.

If now you are willing to renovate your website and give a booster dose to its performance, then migrate your website to Drupal 9.3. It is the latest version of Drupal with unique functionalities.

Let’s see what all you need to do to migrate your website to the latest Drupal 9.3.

Preparation for the Drupal migration

Before starting the actual Drupal 9 or 9.3 migration, you must take a few steps to ensure that the migration will complete smoothly without any complications. When you upgrade from Drupal 6 to Drupal 9.3, every configuration and content entity is migrated from Drupal 6 to a clean new Drupal site. Furthermore, it is suggested not to perform the upgrade on a live Drupal 6 (source site) site due to modules compatibility problems. Take a backup of the entire database to ensure its safety and then move ahead.

Drupal Maintenance

  • Identify the modules of the source site

    Before migration, you must know the core and contributed modules of your existing Drupal 6 site. You can check this at the listed modules on the Modules admin page (Administrator> Site building> Modules) or check the available updates page for the latest updates. Enlist all the modules and then plan the upgrade. Please note that it is not necessary that all the Drupal 6/7 modules be upgraded to Drupal 8 or the higher version. For example, the Block module in Drupal 6 and 7 were separated into the Block and Custom Block modules in Drupal 8.

  • Check known issues

    There are a few issues with migrating some of the pages. They may require special attention during migration. For example, views and aggregator categories cannot be migrated, vocabulary taxonomy, edit form missing fields, homepage white spaces or broken themes, node content types, node translations, text formats, time zone, and there are many other such issues to look over carefully in the migration process.

  • Update the Drupal 6 site to use the latest version on core and contributed modules

    The upgrade process from your current Drupal 6 site to Drupal 9.3 requires your site first to update it to the latest minor version. It implies, if your current version is Drupal 6.35, then upgrade it to 6.38. On your Drupal 6 site, use the available updates page at admin/reports/updates.

Drupal 6 site prerequisites for migration

  • When you update the Drupal 6 site to its minor version, ‘Migrate’ and ‘Migrate Drupal’ core modules are enabled. If you are using a browser user interface to upgrade, you need to enable the ‘Migrate Drupal UI’ core module as well.
  • You need to give your Drupal 6 database access to the host of your new Drupal site.
  • Then access to all the source site’s files will be required. If public files ought to be migrated, then they will be accessible via the site’s address. And if private files are also part of the migration, you must configure Drupal_file_private path in settings.php to start the process.
  • If you are upgrading to Drupal 9.3 using Drush, then you need Drush 8 or higher version along with three other contributed modules. They are Migrate Tools, Migrate Upgrade, and Migrate Plus; install them.
  • Enable all the core and contributed modules you need for migration. This migration process doesn’t install the modules automatically on the destination site. You need to enable all the core and contributed modules on the destination site, which you plan to migrate from the source site.
  • You should not do any configuration on the destination site unless the complete migration is done. Note that the migration or upgrade process will overwrite the configuration on your destination site. It implies you don’t need to create content types and fields manually. The migrate module will create them automatically as a part of the migration process.
  • To protect the data completely, do not create content on a new site before your content gets imported entirely. Because the upgrade process maintains some unique identifiers from the source site. If you create content on the new site before migration, then the likelihood of overwriting is higher. Thus, wait till you get all your data on the new site and then create updated content as per the need. It applies to user accounts, taxonomy terms, and node content, as well as pretty much any other kind of content with numeric IDs from your source site.

If you have checked all the above points and installed the required modules, you are all set to start the migration process. You can perform migration in two ways:

1. You can use the browser user interface. It is an uncomplicated way to migrate the site data because of the use of user interface, yet the control on migration is less.

2. Another way is using Drush. It is the safest, faster, and most robust way to migrate the data. Drush also provides a selective migration option, but you need additional modules for migration (as mentioned above), and you ought to run it from the command line.

Multilingual Drupal 6 to Drupal 9 migration

Drupal supports multilingual property to its core. So, when you enable all the modules to start the migration process, you need to activate the core modules mentioned below to the new Drupal site to intact its multilingual feature.

  • Language
  • Interface Translation
  • Content Translation
  • Configuration Translation

Multilingual nodes

Drupal 6 and Drupal core both have multilingual functionality.

  • Language settings content type: Content type language setting is allowed to migrate from Drupal 6 to Drupal 9.
  • Language aware nodes without translation: Drupal 6 can have nodes with language but without translation. Thus, when you migrate from Drupal 6 to Drupal 9 or 9.3, you will have two separate node entities and their languages will get migrated as they go automatically.
  • Node translation: Drupal 6 have two nodes for English and Finnish language and both node entities have their own IDs. Translation happens between the two nodes. Whereas, in Drupal 9 or 9.3, there is only one node entity that is shared among all the languages and translation is done on the field level.
  • Multilingual node revision is available till Drupal 8.9.
  • Multilingual menu items: Drupal 6 has Menu Translation Sub-Module that assists Drupal 6 in defining language to menu items and to translate the menu items using the string translation user interface. Likewise, Drupal 9 or higher core supports the menu language translation and migration of menu item from Drupal 6 is allowed to higher versions.
  • Multilingual comments can be migrated from Drupal 6 to Drupal 9 or 9.3.
  • Multilingual vocabulary and taxonomy: The contributed module have a Taxonomy translation sub module that supports multilingual capabilities in Drupal 6 and higher versions for vocabulary and taxonomy.
  • Vocabulary name and description migration is supported in Drupal 9.
  • Drupal 6 vocabulary translation nodes: Drupal 6 has support for different multilingual concepts vocabularies, which is known as ‘localized terms’ and ‘per language terms’ concepts.
  • Localized term concept: In this concept, for Drupal 6, there are two node entities for English and Finnish language and associated with translation of each other. One taxonomy term entity for both the languages. The term title and description can be translated using string translation module. For Drupal 9, (as mentioned above) the node translations are migrated to Drupal 9 and then you have only one node for both languages. You have one taxonomy term entity likewise Drupal 6. In Drupal 9 or higher version, both language terms point to the same term.

    Drupal Migration Service
  • Per language term concept: In Drupal 6, there are two nodes for English and Finnish language, and they might be associated with translation. The taxonomy term also has two separate entities for both languages with their own IDs and they may be associated with translation for each other. In Drupal 9, likewise above steps, node translations are migrated to Drupal 9 and have only one node but there are translatable fields. The translatable field is taxonomy term reference, here the English version node points the English term and Finnish version node points the Finnish term. Always remember, in Drupal 9 or higher versions, nodes cannot be associated as translations of each other.

    Drupal Migration
  • Other multilingual migrations: Migrating enabled languages, language negotiation settings, and block translations from Drupal 6 to Drupal 9 or 9.3 is supported.

Additional points to consider

  • Every contributed module cannot have an automatic upgrade path; such modules may need manual or custom migration.
  • Drupal 9.3 has an all-new structure of themes that is entirely different from Drupal 6. Thus, you must rebuild a theme for Drupal 9.3 since the outdated version of theme can’t be migrated.
  • Albeit, there are many tools available for migration, yet it is a complex process. Thus, it is suggested if you don’t have much content or custom configuration on the old site, you should create the old and other data on the new Drupal site.


Drupal 6 is bygone. This is a changing world with all-new Drupal 9.3 that makes your website user-friendly with plenty of features and functionalities. Forget the previous version and migrate your website to Drupal 9.3. Users who have migrated their websites to the latest Drupal version are enjoying the ease of work and creating success stories. Why have you kept yourself away from this new edition?

This is high time now to upgrade to the latest Drupal version and get rid of all the website performance issues.

Drupal 10 release announcement has created a buzz among the developers and Drupal community. To ensure security, safety, and consistent performance, the Drupal community have decided to release its new version Drupal 10, this year in 2022. So, it is necessary to upgrade your website to Drupal 9.3

Are you looking for migrating or upgrading a Drupal website? Whether you are looking for Drupal 6 to 9.3 migration, Drupal 7 to 9, Drupal 8 to 9, or planning for Drupal 9 to 10, our experienced team of dedicated Drupal developers provide complete Drupal migration services. We strive to keep our clients’ Drupal websites up-to-date and secure. We fix any security issues immediately to avoid trouble. Contact us at [email protected] or submit the following request free quote form to know more about our Drupal migration services.