DoodleWebCanada
Call +1-425-359-0168

CMS migration plan

WordPress to Drupal Migration: the complete plan

Short answer

To migrate from WordPress to Drupal, export your content through WXR XML export, map it to the Drupal content model, import it with repeatable scripts, and 301-redirect every old URL before switching DNS. For a mid-size site this takes 6–10 weeks and typically costs CA$25,000–$50,000. DoodleWeb Canada plans and runs the whole move from Surrey, BC.

Get a free plan: WordPress to Drupal Migration

A senior engineer reads every message and replies within one working day.

Drupal Certified PartnerWP Engine Advanced PartnerWebflow CertifiedHubSpot Solutions PartnerDrupal Certified Partner · WP Engine Advanced Partner · Webflow Certified · HubSpot Solutions Partner
  • Enterprise CMS specialists
  • Surrey, BC · Canada
  • Senior engineers only

How the migration works

Five stages take your site from WordPress to Drupal without downtime or lost search traffic.

Migration flow from WordPress to Drupal: audit, map, build, redirect, launchWordPress1Audit2Map3Build4Redirect5LaunchDrupal
Every DoodleWeb migration follows the same five-stage path, with a live staging site from the build stage.

Why teams move from WordPress to Drupal

  • Teams usually leave WordPress because of plugin overhead, security patching or scaling limits.
  • Granular roles, approval workflows and audit trails for large teams
  • Native English/French multilingual publishing
  • Structured content that feeds multiple sites from one platform
  • A strong base for WCAG 2.2 AA and AODA compliance

Key considerations before you migrate

These are the questions that decide scope, cost and risk. We answer each one in the free audit.

01

Getting the content out

On WordPress, content leaves through WXR XML export, REST API (/wp-json), direct MySQL access and WP-CLI. We script the extraction so it can be re-run for a final delta just before launch.

02

Getting the content in

On Drupal, we load content with Drupal Migrate API (migrate_plus, migrate_tools) with YAML mappings and rollback. Scripts are idempotent, so we can wipe and re-import on staging as often as needed.

03

Content model differences

WordPress stores content as posts, pages, custom post types, taxonomies and custom fields (acf or native meta). Drupal uses content types, fields, paragraphs, taxonomy vocabularies, media entities and entity references. The gap between the two decides how much transformation and manual clean-up is needed.

04

URLs and SEO

WordPress URLs typically follow /%postname%/ or /blog/%postname%/ permalinks, category and tag archives, while Drupal uses /node/123 system paths aliased by pathauto patterns. Metatag, Pathauto, Redirect and Simple XML Sitemap modules hold SEO data; the redirect table must be preserved.

05

Features and extensions

WordPress relies on 60,000+ plugins in the wordpress.org directory; Drupal offers 50,000+ contributed modules. Each feature in use is listed, then mapped to a native feature, an app or custom code, or retired.

06

Running cost after launch

Expect CA$100–$2,500/month hosting depending on scale on Drupal, compared with CA$30–$600/month hosting plus plugin licences on WordPress. We include this in the scope so the business case is complete.

07

Accessibility and bilingual content

We rebuild templates to WCAG 2.2 AA and, for Canadian organisations with French content, plan language switching and hreflang before import.

Content mapping

How each part of your WordPress site lands in Drupal.

WordPress to Drupal content mapping
WordPressDrupalHow we handle it
Pages and postsContent types, fields and paragraphsEach source type is mapped field by field in a signed-off content model before any data moves.
Categories and tagsTaxonomiesTerms are de-duplicated and merged where the old site accumulated near-identical tags.
Media library and imagesMedia libraryFiles are downloaded, renamed, compressed and re-linked, with alt text carried over or written.
SEO titles, descriptions and schemaDrupal SEO fields and JSON-LDTitles, descriptions and schema usually live in Yoast or Rank Math meta fields, which must be extracted separately from post content.
URLs/node/123 system paths aliased by Pathauto patternsEvery indexed URL gets a one-to-one 301 redirect; pattern rules cover the long tail.
Forms and integrationsNative forms or CRM embedsCRM, email and analytics connections are rebuilt and tested with real submissions.
Users and rolesDrupal roles and permissionsEditor accounts are recreated and permissions reviewed rather than copied blindly.

The step-by-step plan

  1. 1. Discovery and audit

    Crawl the WordPress site, export analytics and Search Console data, and inventory every template, feature and integration.

    • URL inventory with traffic
    • Feature and plugin map
    • Fixed-price scope
  2. 2. Content model and design

    Design the Drupal content model and templates, then approve designs for each page type.

    • Field-level mapping sheet
    • Approved designs
    • Redirect strategy
  3. 3. Build and scripted migration

    Build Drupal templates and run repeatable import scripts onto staging, checking counts and spot-checking content.

    • Staging site
    • Migration scripts and logs
    • Content parity report
  4. 4. QA, redirects and training

    Test accessibility, speed, forms and integrations; validate every redirect; train editors.

    • WCAG 2.2 AA report
    • Redirect test results
    • Editor training session
  5. 5. Launch and 30-day monitoring

    Final delta import, DNS cutover in a quiet window, sitemap submission and daily Search Console checks for 30 days.

    • Launch checklist
    • Search Console sitemap submitted
    • 30-day performance report
Indicative timeline (weeks, mid-size site)
  1. Discovery and audit
  2. Content model and design
  3. Build and scripted migration
  4. QA, redirects and training
  5. Launch and 30-day monitoring

Week 0 → 17

WordPress to Drupal migration cost in Canada

Ranges come from our migration cost calculator and include a design refresh, redirects, accessibility QA and launch monitoring. Your fixed price follows the audit.

Estimated migration costs in Canadian dollars
Site sizeApprox. pagesCost (CAD)Timeline
Small site30CA$19,000–$37,5005–8 weeks
Mid-size site150CA$25,000–$50,0006–10 weeks
Large site600CA$41,000–$82,00010–16 weeks

Try the migration cost calculator for your own numbers.

Risks and how we remove them

Migration risk register
RiskImpactMitigation
Lost rankings from broken URLsHighOne-to-one 301 map for every indexed URL, tested with a crawler before and after launch.
Content lost or mangled in transitMediumScripted imports with record counts, rollback and side-by-side parity checks.
Missing features after launchMediumFeature map signed off during discovery, so nothing is dropped by surprise.

Frequently asked questions

Ready to plan your WordPress to Drupal move?

A senior engineer reviews your site and replies within one working day. DoodleWeb Canada · Surrey, BC · +1-425-359-0168

Get your free audit