Are you ready to migrate your CMS to Drupal? The Drupal migration process removes the burden of complex migrations, with enhanced flexibility and robust site architecture that lets you relaunch better, optimized digital experiences fast. We’ll break down the best practices for performing your own Drupal migration, so you can keep your content and your sanity.
1. Determine Migration Strategy
Generally, migration plans fall into three categories: enhancing your existing CMS experience AKA “Lift and Shift”, a complete reinventing of your site experience or an incremental migration process.
A thorough content/feature audit will help you decide which strategy is best for you. Some things to consider include:
- How long has it been since your last site refresh?
- Is your current site branding working for you?
- Are you moving to Drupal from a static HTML site? This is a good opportunity to start fresh with more structured content.
- Review any analytics you may have to tell you which pages on your existing site receive the most traffic.
Lift and Shift Approach:
This strategy is best suited for teams who want to keep their current site’s branding and feature set while updating their CMS experience in terms of performance, speed and security. Your first step is to audit all your existing content on your source site.
Track all of your content in a centralized document, paying attention to the following concerns:
- What does my site contain? (data structures)
- What does my site use? (contributed and custom modules)
- What does my site look like? (contributed or custom themes)
Reinventing Your Site:
If you’ve decided to conduct a total brand overhaul and content refresh, Drupal offers a great opportunity to explore new content structures and design modern digital experiences. A reinvention requires everyone on both the front end and back end to play a part in the migration.
- Site editors should analyze their current content models and identify gaps in structure, attribution and editing workflow.
- Site owners should decide which content to keep, if any, and how it will fit into your new content model.
- Creative and design teams can work to develop a new layout and branding guide
- Front-end developers can offer insight on how specific templates (such as e-books or whitepapers) will translate to Drupal content types.
Combination/Incremental Approach:
If your organization falls somewhere in between these two categories, you can conduct an incremental migration. Begin by migrating your simplest digital content first and later migrate any more complex components (such as e-commerce pages) in phases.
2. Content Modeling
The next part of your migration involves mapping your current content model, ideating your future content model and assessing the overlaps and gaps.
To document the content model you create, Acquia recommends the Drupal Spec Tool which helps developers capture Drupal specific architecture details in their content and generates automated tests for these specs.
3. Content Mapping
Once you define your content models, you need to map where that existing content will live in your new Drupal site. A major benefit of Drupal is its strong data modeling capabilities which allow you to break down the information that you need to store into individual fields and group them in content types. You may also want to leverage default behavior provided by entities like nodes, users and taxonomy terms.
Content mapping requires accessing all content in your legacy database and exporting it to the new CMS. There are numerous ways to accomplish this:
- Leveraging your existing content management system’s API
- Creating a Drupal-friendly MySQL dump of your existing database
- Using SQL queries to export data into .csv files.
- Creating a “site map” which enumerates pages to import from a static HTML site.
Oftentimes a piece of content has references to other elements on your site (i.e. taxonomy, images, users, etc). Drupal best practices recommend migrating these content dependencies by writing one migration definition for each entity then specifying the relationship that exists between them. Here are some ways to create a successful content map:
- Determine content dependencies
- Determine if taxonomies can be pulled in as a separate step, or if the terms should be created as part of the migration of their referencing entities
- Use your documentation to create a mapping from source to destination fields
Once your content model and mapping are completed, you’ve conquered the bulk of the migration preparation and can now begin developing your migration scripts. Next comes phase two: testing, execution and optimization.
To see how to launch and optimize a successful Drupal migration, download Acquia’s e-book: Why It’s Time to Migrate to Drupal.