Upgrading is the process of moving your site from a previous major version of Drupal to a newer version, for example from Drupal 7 to Drupal 9. This consists of upgrading the codebase to the appropriate version and then migrating the data from your old site into the new one. Drupal 8 core contains two modules to help facilitate this process: Migrate Drupal and Migrate Drupal UI.
Make sure you understand the difference between updating and upgrading. If you already have a Drupal 8 site and want to move to another minor version, see the Minor Version and Security Updates topic.
- Upgrade a site from Drupal 6 to Drupal 8
- Upgrade a site from Drupal 7 to Drupal 8
- Upgrade a site from Drupal 8 to Drupal 9
- Upgrade a site from Drupal 9 to Drupal 10
As of Drupal 8.5.x the core Migrate API is considered stable and no major backwards compatibility breaking changes are expected. If you're writing custom migrations, you're good to go.
Beware of any resources that were written before Drupal 8.1.x was released (April 19, 2016) as the system changed considerably in ways that invalidate many of the older articles.
If you are upgrading from Drupal 7 to Drupal 8, 9, or 10, a migration is necessary.
Upgrading Drupal (Drupal.org)
- Community guide to upgrading Drupal. Contains some good background information on why things work the way they do. Also has step-by-step walk-throughs of using both the UI and Drush to run an upgrade migration.
Known issues when upgrading from Drupal 6 or 7 (Drupal.org)
- The upgrade process is still in development. There are some known incomplete paths, and issues, with the upgrade process which you can keep track of here.