Play Video
Play Video
Drupal 7 to Drupal 9 Migration Guide

The Complete Business Drupal 7 to Drupal 9 Migration Guide

Table of Contents

Migrating from Drupal 7 to 9 is a significant step for any website, offering strengthened security, performance, and new features.

This guide provides a complete overview of the migration process, covering costs, tools, and best practices.

Whether you want to upgrade from Drupal 7 or 8, our step-by-step instructions will aid you in navigating the complexities and ensure a smooth transition to Drupal 9.

Stay updated and prepare your site for the latest advancements in Drupal technology.

What Is Drupal 9?

Drupal 9, the latest major version of the Drupal content management system, was released on June 3, 2020.

It builds upon Drupal 8’s foundation, providing the same fundamental features while eliminating deprecated code and dependencies.

Drupal 9 is designed to be a clear, contemporary, and effective platform that guarantees continued performance, security, and innovation.

It offers a streamlined upgrade path from Drupal 8, making it easier for developers and site owners to adopt the advanced features and improvements.

Why Upgrade To Drupal 9?

Security: Drupal 9 includes the latest security updates and patches, protecting your website against vulnerabilities and threats.

Performance: Improved performance and efficiency, making your website faster and more responsive.

New Features: Access to new features and advancements that are not available in earlier versions, such as modern development tools and improved authoring experiences.

Community Support: Continued community support, as Drupal 8 will reach its end of life, meaning no more security updates or bug fixes.

Deprecated Code Removal: Eliminating deprecated code and dependencies results in a cleaner, more maintainable codebase, addressing various web development challenges associated with outdated code and dependencies.

What is Drupal Migration?

Drupal migration involves transferring a website from one version of Drupal to another or from a different content management system (CMS) to Drupal.

It involves transferring content, configurations, themes, and custom code to ensure the website functions correctly on the new version. Drupal migrations can be complex due to differences in data structures, APIs, and functionality between versions. 

The migration process typically includes analyzing the current site, preparing the new environment, transferring data, and performing thorough testing to ensure everything works as expected in the new setup.

Optimize Your Online Business with ClickySoft

ClickySoft provides comprehensive eCommerce solutions to enhance your online business. From store creation to sales optimization, we have the expertise you need.

How To Prepare for a Drupal 9 Upgrade

Preparing for a Drupal 9 upgrade includes several essential steps to ensure a seamless transition. The primary task is to check the compatibility of your preferred contributed modules with Drupal 9. It is vital for a complete migration to the new version.

To help you get started, here is a comprehensive checklist for the upgrade process.

Drupal 9 Upgrade Checklist

Before initiating the migration process, it is essential to confirm the compatibility of your preferred contributed modules with Drupal 9. Below is a detailed checklist to guide you through the upgrade:

Update to the Latest Minor Version of Drupal 8:

Ensure your site runs on the latest minor version, specifically Drupal 8.9. Upgrades are not supported from versions earlier than Drupal 8.8.

PHP Requirements:

Upgrade your PHP version to 7.3 or higher to meet Drupal 9’s requirements.

Deprecate and Fix Code:

Identify and deprecate outdated code on your site. Use the Upgrade Status module to aid in this process and resolve any necessary issues.

Determine Installation Method:

Identify whether your site uses Composer or tarballs for installation and management, as this will impact the upgrade procedure.

Tools and Modules for Upgrading

To facilitate the upgrade process, use the following tools and modules:

Core Migrate Module Suite:

Use this suite to migrate your content and site configuration effectively.

Upgrade Status Module:

This module offers essential information regarding the availability and compatibility of contributed projects.

Upgrade Rector:

Automates the update of modules for Drupal 8 sites, converting prevalent deprecated code to Drupal 9-compatible code.

Drupal Module Upgrader:

This tool scans your Drupal 7 site for outdated code and helps convert it to be compatible with Drupal 9.

Handling Content Types, Taxonomy, and Modules First

In Drupal, content types are fundamental for structured content authoring. Each content type consists of two essential components:

Base Configuration:

It establishes the default behavior and properties of the content type, laying the foundation for its functionality.

Content Type Fields:

These fields allow for the creation of structured data by associating a set of fields together in a meaningful way, enabling the precise organization and management of content.

Understanding Taxonomy in Drupal

Taxonomy in Drupal is an influential core module that simplifies website content’s connection, relation, and classification. By employing taxonomy, you can systematically classify content, making it easier to manage and navigate.

Benefits of Using Taxonomy:

Workflow Customization: Taxonomy can be integrated into your workflow, allowing you to tailor specific sections of your website with various themes and functionalities.

Content Organization: It enables the structured classification of content, increasing the user experience and site management.

Content Types

To better understand and optimize the content on your site, consider categorizing the available content types from a new perspective. Here are some strategies our expert Drupal developers suggest:

Primary Source of Information:

  • Depends on the body field as the primary source of content.

Rich in Various Data Fields:

  • Use content types that include different data fields.
  • Organizing content types in this manner can streamline and optimize the intended website. For instance:

Merge Similar Content Types:

  • Combine content types that primarily use the body field into a single basic page with a mapping field to the original Drupal 7 content type.

Eliminate Unused Content Types:

  • Identify and avoid migrating content types that are no longer in use.
  • Documenting each content type should include the following:

Field-Level Requirements:

  • Specify the fields required for each content type.

Content Retention Policy:

  • Determine what content to migrate and what to exclude.

Aggregate Pages and Filtering:

  • Identify aggregate pages for each content type and the necessary filtering criteria.

Content View Pages:

  • Define the layout and elements to display on content view pages.

Migration Considerations:

  • Outline specific migration considerations and assumptions for each content type.

Migration also offers a chance to review taxonomies, user roles, and user counts, making necessary adjustments as needed.


During a Drupal development project, it’s typical to incorporate numerous modules, some of which may not be essential for the new site. It’s vital to assess and prioritize these modules according to their necessity.

Clickysoft’s Drupal developers recommend using the MoSCoW method of prioritization:

Must-Have Modules:

  • Core modules from Drupal 7 and contributed modules are now integrated into Drupal 9 core.

Should-Have Modules:

  • Contributed modules from Drupal 7 that are in active use by site administrators and editors encompass various functionalities, including performance optimization tools like Memcache and essential utility modules such as Admin Menu and XML Sitemap.

Optional Modules: Evaluating Necessities for Drupal 9 Migration

Optional modules, previously employed in Drupal 7 but not essential during the initial stages of the Drupal 9 site setup, can be incorporated later if necessary. Examples include modules like Features, Rules, and Panels. With Drupal 9’s expanded capabilities, numerous functionalities that previously required contributed modules in Drupal 7 can now be accomplished natively.

Validating Module Necessity

It is crucial to assess the need for each module, both contributed and custom, before migrating. Aim to maintain a minimal set of modules in Drupal 9 to simplify site maintenance over the long term.

Evaluate Contributed Modules:

  • Determine if the functionalities provided by contributed modules in Drupal 7 are now available in Drupal 9 core.

Review Custom Modules:

  • Validate the necessity of custom modules and update or replace them if needed.

Minimize Module Usage:

  • Strive to use only essential modules to reduce complexity and maintenance efforts.

Integrating Roles and Content Workflow for Drupal 9 Migration

To effectively manage user roles during the migration to Drupal 9, follow these recommended steps:

Validate and Redefine Roles:

Start by validating existing roles and redefine them based on users’ specific actions. It ensures accurate alignment of roles with user responsibilities.

Role Combinations:

Employ combinations of roles for users to replicate their actions from the Drupal 7 site, increasing flexibility and precision in role assignments.

Permissions by Term:

If access to site content needs to be categorized, consider using the Permissions by Term module. It aids in managing content access based on categorization more efficiently.

Remove Redundant Permissions:

Identify and remove duplicate or unnecessary permissions to streamline user access and enhance site security.

Decentralized Control:

For websites necessitating distributed control, it is advisable to implement the Group module. This module facilitates the creation and management of groups, allowing for more granular control over content and permissions.

Active User Migration:

Check for active users and migrate only those who are currently active. This practice aids in preserving a streamlined and effective user base.

Manual Role Mapping:

In cases where the user count is modest, manually performing role alignment is recommended. This method is more effective and less time-intensive than using migration scripts for a one-time migration task.

Content Workflow Management

When managing content workflows during the migration, consider the following steps:

Define Content Moderation States:

Clearly define the content moderation states and specify the actions that each role can perform. It guarantees a structured and proficient content workflow.

Simple Workflow Management:

Drupal Core’s Content Moderation module is advisable for sites with a simple workflow. This module provides the essential utilities for managing elementary content workflows.

Using Workflow Module:

For websites that previously used the Workflow module in Drupal 7, transitioning to the same module in Drupal 9 can streamline the migration process, as there is an upgrade path available.

Workflow Dashboard and Notifications:

For websites necessitating a workflow dashboard and email notifications, the Workbench suite (comprising Workbench, Workbench Moderation, and Workbench Email) comes highly recommended. This suite provides extensive resources for overseeing workflows, moderating content, and dispatching email notifications.

Managing Media in Drupal 9 Migration

Managing media during the migration to Drupal 9 is a crucial step to ensure a seamless transition and continued functionality of your website’s multimedia content. Here are the key steps and considerations for effectively managing media in your Drupal 9 migration:

Evaluate Current Media Usage

Inventory Existing Media:

Perform a comprehensive review of all media assets present on your Drupal 7 website. It encompasses images, videos, documents, and any other multimedia content.

Identify Media Types:

Categorize the different types of media used on your site. It helps in planning how each type will be managed easily during the migration.

Media Handling Strategy

Media Module Integration:

Drupal 9 has robust support for media management through the Media module. Ensure that you integrate this module to handle various media types efficiently.

Media Entity Types:

Define media entity types for different kinds of media (such as images, videos, audio files). It enables a structured and uniform method for managing media.

Update File Paths and Links:

During migration, ensure that all file paths and links to media assets are updated to match the new directory structure in Drupal 9. It prevents broken links and missing files.

Migration Tools and Processes

Use the Media Migration Module:

Employ the Media Migration module to aid in transferring media assets from Drupal 7 to Drupal 9. This tool automates the migration of media files and ensures alignment with Drupal 9’s media handling system.

Content Synchronization:

If you have a large media, consider using content synchronization tools to transfer media files in bulk. It can significantly accelerate the migration process.

Database Update:

Verify that the database is updated to reflect the new media entities and their associations. This task includes updating references to media files within content types and fields.

Testing and Validation

Test Media Functionality:

After the migration, thoroughly review every media feature. Verify that all links and file paths are operating correctly and that media assets are displayed appropriately.

Check Media Metadata:

Ensure that all media metadata (such as titles, descriptions, and alt text) has been migrated accurately. This step is crucial for maintaining SEO and accessibility criteria.

Perform Quality Assurance:

Conduct a comprehensive quality assurance (QA) process to identify and fix any issues related to media management. It includes verifying media playback, file downloads, and responsiveness.

Optimization and Maintenance

Optimize Media Files:

Optimize media files for performance. It includes compressing images and videos to decrease file size while maintaining quality.

Implement a Media Library:

Employ the Media Library module in Drupal 9 to provide a centralized repository for managing and reusing media assets. This streamlines content creation processes and facilitates efficient media management.

Regular Backups:

Regularly back up your media assets to prevent data loss. Ensure that backups are part of your overall site maintenance strategy.

How Does This Affect My Drupal Site?

The process of Drupal 7 and Drupal 8  migration sites differs significantly. Site owners must comprehend these disparities to prepare effectively. Here’s a breakdown of what to expect based on your current Drupal version:

If Your Site Is In Drupal 8

Migrating from Drupal 8 to Drupal 9 is relatively straightforward, similar to upgrading between minor versions of Drupal 8. If your site is already on version 8.9, you can pause and avoid the upgrade hassle. However, be aware that some permissions and modules are not supported in Drupal 8.9 and will require a Drupal 9 upgrade.

Check Module Compatibility:

Ensure that your favorite contributed modules and features are supported in Drupal 9. If they are not, you will need to address this before upgrading.

Upgrade Information:

To receive comprehensive instructions on upgrading your Drupal 8 site, consult instructional videos and available resources.

If Your Site Is In Drupal 7

For long-term Drupal 7 site owners, upgrading to Drupal 9 might seem challenging. However, there is a positive update: community support for Drupal 7 will continue until November 2023.

Migration Tools:

For simple sites, the Migrate Drupal module can facilitate the migration. However, transferring the “theme” will require custom development work.

Long Term Support (LTS):

While you can depend on Drupal 7 Long-Term Support for a short-term solution, it is not a secure or recommended long-term fix.

Complex Sites:

The migration process from Drupal 7 to 9 can differ considerably depending on the complexity of your site. More complex sites may encounter additional challenges, and seeking professional assistance could prove advantageous.

Business Value

Whether you are on Drupal 7 or 8, starting preparations for upgrading your Drupal site is crucial. Drupal 7 was released nine years ago, making this an ideal time to reassess the needs of your content editors and site users. It’s also crucial to consider the business continuity aspects of maintaining and updating your site.

Relevance and Security:

Assess the relevance and security of your existing features and modules. This assessment will aid in determining what to retain, upgrade, or replace.

Scope of Migration:

Consider the scope of the migration, including the time and budget you can allocate and the developer skill set available to you.

Impact on Design and Architecture:

Evaluate how the upgrade will impact the design and architecture of your site. It involves considering any required adjustments to content management and site layout.

When to Migrate Your Drupal Site

Migrating your Drupal site should be strategically planned based on the current version you are implementing and the support lifecycle of that version.

For Drupal 7 Sites:

Drupal 7 will reach its end of life on January 5, 2025. If you’re currently operating a Drupal 7 site, it’s essential to start planning your migration to Drupal 9 or 10 as soon as possible to ensure continued security updates and support. The migration process from Drupal 7 to 9 involves several steps, including initially upgrading to Drupal 8 due to the significant architectural changes between versions​ (Drupal)​​ (Axelerant)​.

For Drupal 8 Sites:

If your site is on Drupal 8.9, you can delay the upgrade temporarily since the migration from Drupal 8 to 9 is uncomplicated and similar to upgrading minor versions. However, you must check if your favorite contributed modules and features are compatible with  Drupal 9. If they are not, you might need to address these compatibility issues sooner​ (Bounteous)​.

How Much Does It Cost to Migrate?

The expense of a Drupal migration site can fluctuate significantly based on various factors, such as the complication of your site, the amount of content, the number of custom modules, and the necessity for theme redevelopment. Engaging Drupal migration services can assist in streamlining the process and provide valuable expertise in handling Drupal 7 to 8 migration and Drupal backup and migration tasks.

Factors Influencing Cost:

Site Complexity:

Simple sites with basic content types and few modules might cost less, whereas complex sites with numerous custom features and integrations require more effort and higher costs.

Content Volume:

The amount of content and the types of media assets can impact the cost. More extensive content migration and handling of various media types will add to the workload.

Custom Modules and Themes:

If your site uses custom modules and themes, they must be redeveloped or adjusted for compatibility with Drupal 9. It can significantly increase the cost.

Migration Tools and Services:

Using migration tools like the Migrate module and services from experienced Drupal developers can streamline the process but will also add to the overall expense.

Estimated Costs:

  • Small Sites: $3,000 – $8,000
  • Medium Sites: $8,000 – $20,000
  • Large Sites: $20,000 and above

These estimates encompass planning, development, testing, and deployment.

Working with a professional Drupal development agency can offer a more precise quote tailored to your specific needs.

Expected Features in Drupal 9.1

While Drupal 9 has recently launched, the continuous process of updating dependencies and removing deprecated code sets the stage for the next major update: Drupal 9.1. No substantial updates are expected until this release.

One of the most eagerly awaited features is the new default frontend theme, Olivero, which will debut as an experimental theme.

Scheduled for release by the end of 2020, Drupal 9.1.0 will also bring new deprecations and features, laying the groundwork for the eventual development of Drupal 10 within the Drupal 9 framework.


Drupal 9 marks a fundamental advancement in the Drupal ecosystem, with continuous updates and improvements that keep it a robust and adaptable CMS.

The forthcoming Drupal 9.1 release will further this progress by adding new features and setting the stage for future innovations.

Site owners and developers need to stay updated and ready for these changes to ensure their websites remain secure and efficient. 

Need Help with Your Drupal Migration?

Clickysoft, a leading web design Houston company, specializes in providing seamless Drupal migration services. Whether you are migrating from Drupal 7 to 9 or need assistance in optimizing your existing site, our expert team is ready to help. Contact us today to ensure a smooth and successful migration.


What Are the Differences Between Drupal 7 and Drupal 9?

Drupal 9 offers updated code, improved performance, increased security, and a more intuitive user interface compared to Drupal 7. Additionally, it provides improved multilingual capabilities, a new media library, and better APIs. 

How to Migrate Views from Drupal 7 to Drupal 9?

Use the Migrate Drupal module to transfer view configurations. This tool helps convert your Drupal 7 Views into the format used by Drupal 9, but manual adjustments may still be required.

Is Drupal 7 End of Life?

Yes, Drupal 7 will reach its end of life on January 5, 2025. After this date, it will no longer receive security updates or support from the Drupal community.

Consult our Experts Now

Request A Free Proposal


Thank you for reaching out! We've received your message and will respond within 24 hours!

Get a free estimate for your project

We'll send it to you within 24 hours, with no obligation to commit.