Launched in 2011, Drupal 7 stood as an advanced CMS for its time and has definitely served you well till now. However, in the face of dynamic market trends, shifting customer expectations, and emerging technologies, Drupal 7 is now insufficient to meet the evolving 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 and choose the 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.
When opting for Drupal 9 migration, consider key factors to define the scope within the Drupal theme, including:
- 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
Drupal 9 differs significantly from Drupal 7, with changes in both frontend theming and backend code. Many functionalities from contributed modules in D7 are now part of D9 core. Also, Drupal 9 is built to deliver advanced digital experiences with an advanced set of features and functionalities. So Upgrading from Drupal 7 to 9 will bring significant changes to 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.
f you choose this path, see the Drupal 7 to Drupal 9 migration as a substantial functional overhaul. Considering this will provide a holistic understanding of the time and budget needed for the migration. Additionally, understanding and planning for the full scope of the migration will help avoid unexpected delays and budget overruns.
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. Whereas, 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. It might be helpful to bring outside help that can mitigate some of this learning overhead.
Alternatively, speed up your migration planning and implementation by partnering with an experienced Drupal development company
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 might notice that many of your requirements have changed along with the higher expectations for digital experiences. You may also have additional plans for your website beyond 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.
Release Window
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:
Frontend Setup
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.
Module Updates
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.
Content Migration
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.
Migrating APIs
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.
Moving from Drupal 7 to Drupal 9 includes several components. Engage your internal stakeholders to explore different migration options. Once you choose Drupal 9, consider partnering with a skilled Drupal web development company for top-notch migration services. 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 development services.
Ready to tailor Drupal 9 to your needs or navigate its role in your digital transformation journey? Reach out to our experts at Srijan, your trusted Drupal company.
Our Services
Customer Experience Management
- Content Management
- Marketing Automation
- Mobile Application Development
- Drupal Support and Maintanence
Enterprise Modernization, Platforms & Cloud
- Modernization Strategy
- API Management & Developer Portals
- Hybrid Cloud & Cloud Native Platforms
- Site Reliability Engineering