We spoke with some of our Acquia certified Drupal experts about how organizations can prepare for their inevitable and, in some cases, imminent migration from Drupal 7 to D8 and from Drupal 8 to D9. Here is what they said:
- Inventory your content and decide what needs to be moved. Like buying and moving into a new house, before you move is a good time to clean house and get rid of things that are obsolete.
- Decide if a redesign is in order. You can save a lot of time and money if you don’t need a design. However, if the design is dated, if the user experience is not positive, if your site is not mobile friendly, then you might need to start with a redesign before the actual migration.
- Inventory and assess your content types. Possibly, you don’t need as many content types as you have and there are some opportunities to combine content types and reduce overhead.
- Inventory functionality: Some sites have legacy functionality that’s not being really used. Anything that can be removed will ease the path to a migration. There are two parts to this exercise. Part one is to inventory and document the functionality that you have. Part two is to define the functionality that you need. Could be you are missing some functionality that needs to be created or enhanced. Could also be that you have unnecessary functionality.
- Reduce the number of third-party dependencies. Drupal has always had heavy community involvement in contributed modules, themes and libraries. Many of the features of today’s Drupal core were yesterday’s contributed modules (Views would be the most obvious example). Drupal makes core migration/upgrades very easy. The difficult part is migrating code and data from contributed projects. One can prepare for a migration by carefully reducing the number of dependencies in place right now in D7.
- Evaluate the options. Perhaps you don’t need to move from Drupal 7 to Drupal 8. Perhaps a simpler alternative like WordPress is in order. On the other hand, perhaps your functional requirements are so complex that you really need a custom development framework like Symfony, Django, React, Vue, or Angular.
- Increase your budget. Things always take longer and cost more than expected, especially when you are considering a redesign and/or enhanced functionality. It’s always good to have more money than you need than to run out of money mid-migration.
- Set up a D7 instance now. Get used to how your data structures are going to be modeled. Reproduce all your major content-types. Reproduce your major page-manager pages using Layout Builder. This will get you used to the changes in the Admin UI.