Launched in 2011, Drupal 7 was an advanced CMS for its time and has definitely served you well till now. But with the frequency of disruptive market trends, evolving customer expectations, and emerging technologies, Drupal 7 is no longer equipped to serve the current and emerging needs of enterprises. And with its end-of-life coming up in November 2022, businesses have to evaluate their move from Drupal 7 to Drupal 9.
You can compare and contrast the different migration paths available, to choose one that suits your specific business context. However, with the launch of Drupal 9, most enterprises find a Drupal 7 to Drupal 9 migration their best option.
Now once you make the decision to migrate to Drupal 9, there are some common factors that you have to take into account, to define the scope of migration. It includes:
- Estimating the time and budget for the migration
- Assessing your modules, to know how they would work on Drupal 9
- Analyzing the migration’s impact on site design and architecture
- Evaluating current module security
- Evaluating available in-house developer skill set for migration
Let us look into these considerations in detail.
Time and Budget Considerations
Compared to Drupal 7, Drupal 9 is significantly different under the hood. There are changes in frontend theming and backend code. A lot of functionalities enabled through contributed modules in D7 are a part of D9 core. Also, Drupal 9 is built to deliver advanced digital experiences with an advanced set of features and functionalities. So a Drupal 7 to 9 migration will involve a set of major changes for your website.
As you prepare for that, it would also make sense to evaluate your current site design and architecture.
Because you are already poised to make some fundamental changes to your site with the migration, it is advisable to identify if you want to also refresh your D7 site in terms of the user experience.
If you do decide to go down this route, you should ideally view the Drupal 7 to Drupal 9 migration as something close to a functional overhaul. Taking that into account will give you a holistic idea of the time and budget required to manage the migration. Additionally, understanding and planning for the full scope of the migration will prevent unexpected delays and budget overruns further down the line.
You may also want to split your migration into multiple phases based on the budget constraints within your enterprise. If getting the budget is easier as a one-time ask, plan to get your entire migration, with any additional site changes at one go. On the other hand, if budgeting across phases seems like a better option, spread your migration plan accordingly. Ensure that you plan the timelines beforehand so the project doesn’t stretch overtime.
Developer Skill Set
Another major requirement to undertake a migration project is the development/technical skills you have at your disposal. Have your developers been on Drupal 7 for a long time? If yes, migrating to Drupal 9 may face some resistance from your team, considering it requires them to learn new tools and new ways of doing things.
That learning curve must be factored into the time and budget plans, not only for the migration but for ongoing development work and maintenance after the upgrade. Progress during sprints will also likely be slow. And it might be helpful to bring outside help that can mitigate some of this learning overhead.
Consider partnering with an experienced Drupal development firm for your migration to be planned and implemented more quickly.
Choose a firm that can collaborate with your internal team, and can also train them on Drupal 9. This can help your team get up to speed—allowing you to quickly start seeing the returns from your move to D9.
Revisit Your Information Architecture, Features, and Design
As discussed earlier, auditing your existing Drupal 7 website can give you a better idea of what you want to carry forward, and what you can lose along the way. It’s also a good time to look at the big picture, and ask questions like
- Who is the site serving?
- What are your current business goals and objectives?
- Is this content still relevant for your website?
- Is there a content type that you used once or twice, and never used again?
- How should you make changes to the information architecture to better serve today's audience in the upcoming Drupal 9 site?
- How have the feature needs of your content editors changed?
- Is your website creating a great user experience?
- Does your website need a design refresh?
You may observe that several of your requirements have changed in tandem with the new level of expected digital experiences. And you may want to do a lot more to your website than just the migration. So revisit into your website, content and SEO strategy. Look into user analytics to understand your customers better. Analyze your current features and modules, and evaluate if you need new ones, or map out which of those come pre-baked into the Drupal 9 core. See what’s adding value to your business, and make the choice to carry that forward.
As you plan your Drupal 7 to 9 migration, keep in mind that Drupal 7 is scheduled to reach end-of-life in November 2022. So you need your migration project to be complete by then. If you feel your organization won’t make that deadline, then start planning for an Extended Support engagement to keep your site secure until you're able to complete the migration.
You'll also want to plan the release window around key dates for your organization, and other support windows in your stack.
For example if you’re a retailer, you may want to have the migration completed before the end of Q3 so you're not upgrading during holiday initiatives. Government websites may need to be ready for key legislation.
When it comes to your stack, you'll want to plan around other important release windows, such as end-of-support for PHP versions, or upgrading to Symfony 4.4. This is particularly important if you need to upgrade dependencies to support your Drupal 7 to Drupal 9 migration.
Undertaking the Migration Process
Post the planning, comes the migration process itself which essentially involves your development team to conduct the following steps:
- Analyzing and preparing the source code
- Identifying the content to be migrated
- End to end testing
- Rollback and re-test, if issues are found
- Release to production
While the steps here are the same as any Drupal migration, there will be a set of technical considerations/tasks that you need to prepare for. Here’s a look:
Twig has replaced PHPTemplate as the default templating engine, giving D9 a more capable and flexible frontend. This, coupled with D9’s decoupled/headless capabilities means that you can create more advanced and engaging customer frontends. However, this also means that a lot of your templates and designs will need re-coding for Drupal 9.
You can use the Drupal Module Upgrader to scan and convert outdated code on your Drupal 7 site. While this does reduce the workload, we do recommend having some manual supervision over this task to ensure smooth sailing.
Composer is used to add modules, and many contributed modules in Drupal 7 have now been included into the Drupal core. This means you will need to map out all modules in use in Drupal 7 and their purpose, to their corresponding counterparts in Drupal 9. Once you have this in place, you can retool relevant features to leverage D9 core rather than depend on contributed modules.
You might also have to wait for certain D7 contributed modules to be available for D9, though those are very few in number. You can also use the Upgrade Status Module to provide information about the Drupal 9 availability of the contributed modules in use.
There is the Core Migrate Module Suite to migrate your content and site configuration from Drupal 7 to the right places in Drupal 9. You can also create a custom migration setup from the Migration module to move content.
Drupal 7 sites majorly use Paragraphs to manage content on pages within Drupal 7 or Drupal 8. So you will need to migrate that content into new Drupal 9 fields to ensure control over your page layout.
As you scaled with Drupal 7, you would have a range of API integrations to your Drupal implementation and that’s a major element to track during a D7 to D9 migrations. The team will need to pay particular attention to how different APIs are mapped to different modules in D7, whether those exist on D9, or if the integrations now have to be done in a new manner.
As you can see, the Drupal 7 to Drupal 9 migration involves a few different moving parts. You can bring together internal stakeholders to evaluate the different options available to migrate out of Drupal 7. However, once you make a decision to opt for Drupal 9, it is advisable to have an experienced team at hand to help you carry out the migration process. While your internal teams may have worked with D7 for a long time, D9 is significantly different and you will need a technology partner to aid a seamless onboarding.
Are you looking to migrate from your current Drupal 7 CMS to the future-ready powerhouse that is Drupal 9? With deep Drupal expertise and experience of building Drupal-based business solutions across industries, Srijan teams can aid your migration process. Check our Drupal services.
Would you like to discuss your specific requirements with Drupal 9, or just explore how Drupal 9 fits into your digital transformation roadmap? Reach out to our experts.