DoodleWebCanada
Migration

Our8-StepDrupaltoWordPressMigrationProcess

By DoodleWeb Team · 3 min read · April 10, 2026

Our 8-Step Drupal to WordPress Migration Process

Drupal is a capable platform, but plenty of organizations end up on it for the wrong reasons — a developer's preference five years ago, or a use case (complex multi-site government content) that no longer applies once the site has simplified. When editorial teams are afraid to touch the CMS without a developer, that's usually the signal it's time to move to WordPress. Here's the process we run for these migrations.

Step 1: Content and functionality audit

Before touching anything, we export a full inventory of Drupal content types, fields, views, and custom modules in use. A typical mid-size Drupal 7 or 9 site has 60-80% of its content in two or three content types and the rest scattered across one-off types built for features that were used once. This audit determines what actually needs to be rebuilt versus what can be dropped.

Step 2: URL mapping

We pull every existing URL via the Drupal sitemap and crawl (Screaming Frog), then map each to its new WordPress URL. Any URL that changes gets a 301 redirect rule — this list often runs to several hundred rows for a content-heavy site and is the single most important artifact for preserving SEO rankings through the move.

Step 3: Content model translation

Drupal content types and fields map to WordPress custom post types and Advanced Custom Fields groups. Drupal's entity reference fields become ACF relationship or post object fields. Taxonomy terms map to WordPress categories/tags or custom taxonomies depending on how they're used editorially.

Step 4: Data migration

For anything beyond a handful of pages, manual copy-paste isn't viable. We use the WP All Import plugin against a CSV or XML export from Drupal's Migrate API, mapping fields programmatically. For sites with fewer than 50 nodes, direct entry is sometimes faster than building an import pipeline — we make that call per project based on node count and field complexity.

Step 5: Theme and template rebuild

Drupal's Twig templates don't transfer to WordPress. We rebuild the front end from the approved design, usually on a lightweight custom theme with ACF blocks rather than a heavy page builder, to keep the performance gains that are often a primary motivation for the migration in the first place.

Step 6: Module-to-plugin functionality parity

Drupal moduleWordPress equivalent
WebformGravity Forms or WPForms
ViewsCustom post type archives with WP_Query, or ACF + template logic
MetatagYoast SEO or Rank Math
PathautoNative permalink structure
Domain Access (multisite)WordPress Multisite

Step 7: Staging QA

Full QA on a staging environment before DNS cutover: every redirect tested individually (not spot-checked), forms tested end to end including email delivery, and a full WCAG 2.2 AA pass since font rendering and focus states often shift during a rebuild.

Step 8: Cutover and post-launch monitoring

DNS cutover during low-traffic hours, then daily Search Console monitoring for the first three weeks watching for crawl errors and unexpected 404s from missed redirects. We keep the old Drupal environment accessible (not public) for 90 days as a reference in case content was missed during migration.

What this actually costs and takes

For a site in the 50-150 page range with moderate custom functionality, budget $18,000-$32,000 CAD and a timeline of 8-14 weeks. Larger multi-site Drupal instances with heavy custom module logic run higher — we scope those individually after the audit in Step 1.

Weighing a move off Drupal? Share your site and content type list and we'll give you a realistic scope and cost.

DW
DoodleWeb Team

Surrey, BC

A full-service digital agency working in WordPress, Drupal, Shopify, Webflow, React, and React Native. We partner with universities, governments, and growing brands to ship sites and products that hold up after launch.

More in Migration