In our previous article, we offered background information behind Drupal 7 End of Life, why you should migrate to Drupal 8 now, and how to prepare for Drupal 9.
As of this writing, over 700,000 sites running on Drupal 7 account for roughly 70% of all Drupal sites on the web. So, most of them need to migrate to Drupal 8.
If you haven’t started planning your Drupal 8 and Drupal 9 migration project, make this a priority now. You need to know how much time the project will take, the costs of the project, and how much of your organizational resources will be required.
We recommend the following project plan to migrate to Drupal 8 (and Drupal 9) successfully.
How to Migrate to Drupal 8 (then Drupal 9) in 12 Months
If you’re wondering where to start, we’ve prepared the following outline of steps. We’ve grouped these steps into four phases spread over 12 months. We hope this information helps you organize your thinking on this large, but manageable, project. Smaller, simpler sites shouldn’t take as long.
Spring/Summer 2020 – Planning
Get started as soon as possible on scoping and estimating your Drupal 8 migration project.
- Technical code audit
- Requirements gathering
- Due diligence
- Content inventory
- Design review
- Planning new features
Summer/Fall 2020 – Development
Move forward on your Drupal 8 migration project backlog.
- Design iteration and approval
- Organize the backlog
- Back-end development
- Front-end development
Fall 2020 / Winter 2021 – Deployment
Review and approve your development instance. You’re ready to migrate to Drupal 8.
- Testing and approval
- Final content loading and CMS training
- Set up test suites
Winter / Spring 2021 – Drupal 9 Transition
Migrate from Drupal 8 to Drupal 9.
- Maintain all Drupal 8 updates and dependencies
- Migrate to Drupal 9
- Take a victory lap
Following this plan, in one year or less you can go from “where do I start” to “hey, look at us.”
Note: your mileage may vary. Your organization may proceed much faster than this 12 month schedule, by choice or necessity. Mostly, it depends on the complexity and size of your Drupal 8 migration project. You’ll know better what to expect after the planning phase.
This schedule also leaves a reasonable amount of wiggle room before November 2021, if unforeseen delays or additions to the project occur.
Your Step by Step Plan to Migrate to Drupal 8 (then Drupal 9)
Let’s look at each step in greater detail.
Don’t expect a perfectly linear process. Instead, focus on moving forward and collaborating. Within each phase, action items might be taken on in parallel, like overlapping conversations.
Steady communication and a decisive attitude ensure a fast-moving schedule.
Technical Code Audit
First, the dev team reviews the quality of the codebase, and what systems work together on your site, and provides documentation on these systems.
Anything broken, redundant, obsolete, or out of step with best practices will be flagged for more discussion, or perhaps become a due diligence item.
A level up from the technical audit, requirements gathering means documenting and probing the finer details of the user experience and how data flows on your site.
How does the content management system work? How is the content accessed and filtered? What user roles and permissions operate on the site? What part do third party tools play in the overall system?
Due diligence items
Certain requirements on the Drupal 7 site will need to be researched in more depth, as to their viable equivalent in Drupal 8. For example, site building and layout tools from Drupal 7 to Drupal 8 have changed significantly. Alternative means to a similar end may need to found and tested in order to provide an informed estimate on your Drupal 8 migration project.
If something on your Drupal 7 serves errors, or should behave a different way, time may be carved out for these specific concerns. In some cases, prototyping brings valuable understanding of the strengths and weaknesses of a proposed solution.
Catalog the entire site’s content and media. Most importantly, find out exactly what content needs to migrate to Drupal 8.
- What types of content exist?
- How is that content cross referenced on the site, linked to, and navigated?
- Document the url patterns. and url redirections.
- Understand how the content tagging works.
- Explore the meta information for this content that is important for SEO and or ADA compliance.
- Mark content that serves a meaningful current purpose.
- Flag any content that serves no purpose, anymore.
- Take notes on content that begs for better readability, brand adherence, or SEO value.
Images and media libraries are also content, and should be catalogued.
Similarly, document the site styles that need to be accounted for as you migrate to Drupal 8, including:
- button styles
- text treatments like quote styles
- grid systems
- responsive behaviors
- page templates
- brand guidelines
- image sizes
Also, recommendations for improvement or change requests will be identified and prioritized.
Planning new features
Identify any functionality that does not exist on your Drupal 7 site, but needs to be layered into your Drupal 8 site.
New features often mean new content types, so add anything applicable to your content inventory documentation.
There may be relatively few changes, or there may be so many functional and design changes that the project turns into more of a redesign project.
Design iteration and approval
Discuss and create any design revisions. Work with stakeholders on approval.
During design review, aspects of the design will be marked for replacement or refreshment. For example, the site styles may need to brought into better alignment with the brand guidelines. Maybe certain page types merit a ‘rethink’ and a design pass.
Organizing the backlog
At this point, the planning phase ends, and the development phase starts in earnest.
First, the project backlog lists all the work tasks of your Drupal 8 migration project, in order of priority. Pull together all technical requirements and new features, content needs, and approved design changes. Sort them by value, complexity, and dependency.
The most important need to have items get scheduled first, and the nice to have items get scheduled towards the end. Set expectations on when important sections of the site can be delivered.
Next, back-end developers begin the first ‘sprint’ (about 2 weeks of backlog items) dealing with functionality and content delivery, user workflows, third party integrations, etc. They keep working in 2-week sprints until they finish all their backlog items.
When the developer completes a subset of tasks, they push the work to a private development instance where working software gets reviewed by project managers for iterative feedback.
Meanwhile, the front end developers start and finish backlog items concerned with the presentation layer. They make the functional content management system look and behave like the approved design. They coordinate with backend developers frequently.
Front-end devs will also push their changes to the dev instance for review and feedback from project managers and the design team.
Testing and approvals
After development sprints wrap up, the focus of the project turns to testing and deployment.
Actual or placeholder content will be loaded to fully evaluate the system architecture. The project manager calls demo meetings to solicit feedback from the client.
Change requests, bugs, or additional backlog items will be addressed until the client is able to approve that the work is satisfactory for deployment.
Final content loading and CMS training
Now address any remaining content that needs to be synced from the live Drupal 7 site to the Drupal 8 dev site prior to deployment. The dev team may run custom migration scripts or utilize import tools. The content team may manually enter or curate content, as well.
This step also involves training the content team on how to use the content management system, through both documentation and demonstrations.
You’re ready to migrate to Drupal 8.
Make backups. Do a test deployment. Plan for and execute all DNS and hosting changes.
Perform any configuration tasks or content work needing to be done manually on the live site after code deploys.
Set up automated testing procedures so that the testing team receives automatic alerts to fix bugs or performance bottlenecks on the new live site. Record user testing scenarios (like filling out an intake form, or ability to create a new blog post) that will pass or fail during automated testing processes. Implement visual regression testing, so that you don’t have to check every page with your own eyes.
For example, when security updates are released by Drupal 8 core or module maintainers, your dev team will prepare these for deployment, and run test suites as reassurance that the module updates don’t conflict with any existing functionality.
Keeping your site up to date (how to get ready for Drupal 9)
After you migrate to Drupal 8 from Drupal 7, commit to staying on top of all available Drupal 8 core and contrib module updates and API dependencies. Do this to ensure that migrating to Drupal 9 goes smoothly.
Your web team will communicate what needs to be done. We recommend a hosting and support plan that covers all update work annually.
Migrating to Drupal 9
By November 2021, everyone should be on Drupal 9!
After you migrate to Drupal 8, migrate to Drupal 9 sometime before the end of the summer of 2021. As Dries Buytaert has written: “The best way to be ready for Drupal 9 is to keep up with Drupal 8 updates. Make sure you are not using deprecated modules and APIs, and where possible, use the latest versions of dependencies. If you do that, your upgrade experience will be smooth, and that is a big deal for us.”
Three Questions Before you Migrate to Drupal 8
- Do you love your site, requiring no changes to its content, design, or functionality?
- Have you been considering any important new features, or sections, for your site?
- Have you been contemplating a full redesign of your site?
The Basic Replatform Project
Do you love your site, and wouldn’t change a thing?
If you don’t want to change anything about your site functionality, design, or content, we can provide budget and delivery timeline estimates for you fairly quickly.
The Replatform Addition Project
Have you been thinking about adding new features or a new type of content/offering on your Drupal 7 site?
Caution: that new feature might need to be rebuilt entirely when you replatform, because the site-building toolset diverges significantly between Drupal 7 and Drupal 8. Does it make sense to build that feature twice in less than a year? You may save money and effort by jump-starting the Drupal 8 migration process, where you can build that feature right the first time.
The Replatform Redesign Project
Ready for a redesign?
Consider this your perfect opportunity to start anew.
In many cases, a redesign makes sense when you’re unhappy with your current site and you need to replatform anyway. There’s less of a planning burden to preserve old notions and tangled workflows. Starting over allows for fresh ideas built with modern tools. You gain freedom to create better user experiences. Certainly, if you want to make significant changes to your site, incorporate these plans into the big picture of Drupal 7 end of life.
Of course, we hope you will reach out to Entermedia to discuss your goals and questions. You can rely on our experience and communication to guide you from Drupal 7 to Drupal 8 and Drupal 9, on time and an on budget.
Let’s get specific about the shape and size of your project…Contact us today!