DoodleWebCanada
Call +1-425-359-0168

CMS migration plan

Drupal to WordPress Migration: the complete plan

Short answer

To migrate from Drupal to WordPress, export your content through Migrate API source plugins, map it to the WordPress content model, import it with repeatable scripts, and 301-redirect every old URL before switching DNS. For a mid-size site this takes 7–11 weeks and typically costs CA$27,000–$53,500. DoodleWeb Canada plans and runs the whole move from Surrey, BC.

Get a free plan: Drupal to WordPress 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 Drupal to WordPress without downtime or lost search traffic.

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

Why teams move from Drupal to WordPress

  • Teams usually leave Drupal because of the cost of Drupal expertise, version upgrades or an editor experience that feels heavy.
  • Own your code and hosting, with no platform lock-in
  • Editors get the familiar block editor and a vast plugin ecosystem
  • Mature SEO tooling for titles, schema and sitemaps
  • The largest pool of Canadian developers if you ever change agencies

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 Drupal, content leaves through Migrate API source plugins, JSON:API, Views data export and direct database access. We script the extraction so it can be re-run for a final delta just before launch.

02

Getting the content in

On WordPress, we load content with WP-CLI import scripts, REST API, WP All Import for CSV/XML, custom PHP migrators. Scripts are idempotent, so we can wipe and re-import on staging as often as needed.

03

Content model differences

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

04

URLs and SEO

Drupal URLs typically follow /node/123 system paths aliased by pathauto patterns, while WordPress uses /%postname%/ or /blog/%postname%/ permalinks, category and tag archives. Titles, descriptions and schema usually live in Yoast or Rank Math meta fields, which must be extracted separately from post content.

05

Features and extensions

Drupal relies on 50,000+ contributed modules; WordPress offers 60,000+ plugins in the wordpress.org directory. 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$30–$600/month hosting plus plugin licences on WordPress, compared with CA$100–$2,500/month hosting depending on scale on Drupal. 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 Drupal site lands in WordPress.

Drupal to WordPress content mapping
DrupalWordPressHow we handle it
Content types and fieldsPages, posts and custom post typesEach source type is mapped field by field in a signed-off content model before any data moves.
Taxonomy vocabulariesTaxonomiesTerms 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 schemaWordPress SEO fields and JSON-LDMetatag, Pathauto, Redirect and Simple XML Sitemap modules hold SEO data; the redirect table must be preserved.
URLs/%postname%/ or /blog/%postname%/ permalinks, category and tag archivesEvery 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 rolesWordPress team rolesEditor accounts are recreated and permissions reviewed rather than copied blindly.

The step-by-step plan

  1. 1. Discovery and audit

    Crawl the Drupal 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 WordPress 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 WordPress 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

Drupal to WordPress 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$20,000–$40,0005–8 weeks
Mid-size site150CA$27,000–$53,5007–11 weeks
Large site600CA$44,000–$88,00011–18 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 Drupal to WordPress 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