WordPress → Drupal

WordPress to Drupal migration

Move WordPress content into Drupal with explicit bundle and field mapping, dependency ordering, media and taxonomy handling, alias and redirect planning, staging reconciliation, and controlled cutover. Destination development and module behavior remain separate scope.

Self-service migration path

Start with your actual WordPress data

Source and target connectors are available. wordpress: Available. drupal: Available. Review system status and directions. Available migration objects and capabilities depend on the selected source and target systems.

Create an account, connect a staging destination, and let the app analyze the supported scope for this direction.

No credit card required to analyze the migration and run a free sample.

Scope

What can move and what needs review

The app confirms available entities after connection. Final coverage depends on source access, downloadable assets, and the destination model you prepare.

Supported scope

  • WordPress posts, pages, users, categories, tags, comments, menus, menu items, media, dates, status, slugs, and supported metadata
  • Prepared Drupal content types, users, vocabularies, terms, comments, menus, menu links, file or media fields, aliases, and redirects
  • Source-to-target IDs, dependency order, validation evidence, exception register, and controlled production cutover

Confirm after connection

  • WordPress custom post types, ACF or plugin fields, roles, private content, revisions, multilingual records, and authentication
  • Drupal bundle schemas, field definitions, text formats, moderation, media types, vocabularies, aliases, Metatag, Redirect, and Bridge compatibility

Separate or custom work

  • WooCommerce, memberships, forms, search, plugin tables, serialized data, and application workflows
  • Paragraphs, Layout Builder, custom entities, Commerce, complex multilingual architecture, or destination module development

Before you connect

Access requirements

Use a staging destination and the least-privilege access supported by each platform. Do not send credentials through a public form.

WordPress source access

Provide the site URL and Application Password, or approve a compatible Bridge when REST does not expose required custom types, metadata, comments, menus, media, or plugin records.

Drupal destination Bridge

Install and approve the compatible Migranetix Bridge for the actual Drupal version. Drupal JSON:API is currently a source path, not the standard target write path.

Prepared Drupal model

Approve content types, fields, text formats, vocabularies, media or file fields, users, comments, menus, aliases, redirects, Metatag fields, moderation, language settings, and staging backups before loading.

How it works

From connection to full migration

You control each stage in the app. Optional expert assistance is available for custom data or destination requirements.

01

Choose WordPress and Drupal

Start in the app and select the real source and target.

02

Connect both systems

Authorize read access to WordPress and connect a prepared staging Drupal destination.

03

Analyze the source

Review detected records, available entities, media, URLs, and anything that needs a decision.

04

Confirm the mapping

Choose where supported WordPress data belongs in the prepared Drupal model.

05

Run a free sample migration

Move a small set of real records to staging and inspect the result before purchasing the full migration.

06

Validate and launch

Review counts, records, media, links, warnings, and exceptions, then purchase and start the full migration when ready.

Technical detail

Platform-specific migration notes

Open only the detail you need for planning, mapping, or validation.

Current app compatibility

This page is synchronized with the WordPress source capability and stable Drupal target capability. Both are public-ready in both directions; Drupal destination writes use a compatible Bridge rather than the source-only JSON:API connector.

WordPress source coverage

The current source exposes Authors, Categories, Tags, Posts and pages, Comments, Menus, Menu items, Media through authenticated REST or versioned Bridge paths. Plugin-owned data remains separate discovery scope.

Drupal target coverage

The current target exposes Author, Category, Comment, Content, Menu, MenuItem, Tag across versioned Bridge adapters. Drupal 5 through 11+ are represented, but the exact destination version, tables, modules, fields, and write path must be verified.

WordPress to Drupal compatibility matrix

Standard means the versioned adapters expose corresponding entities. Review means the destination bundle, field, module, or identity model must be approved. Custom means plugin or application data needs a dedicated pipeline.

WordPress sourceDrupal targetStatus and boundary
Posts and pagesDrupal nodes in approved content typesStandard with mapping: title, body, summary, dates, status, type, author, taxonomy, slug, and supported metadata are routed into prepared bundles.
Custom post types and fieldsCustom content types and fieldsReview/custom: source exposure, destination field definitions, cardinality, formats, defaults, and relationships must match.
Users and authorsDrupal users and node ownershipStandard with review: profiles and authorship can map; roles, passwords, MFA, memberships, and private access require separate rules.
Categories and tagsVocabularies and taxonomy termsStandard: vocabularies and terms load before nodes and resolve through the ID map.
CommentsDrupal comments linked to nodes and usersStandard with review: parent relationships, status, anonymous identity, fields, and destination comment configuration must be available.
Menus and menu itemsDrupal menus and custom menu linksStandard with review: hierarchy, internal targets, aliases, external links, language, and enabled state are validated.
Images and filesManaged files, media entities, and node fieldsStandard with validation: the destination field and media configuration determine how files, alt text, ownership, and references are stored.
Slugs, SEO fields, and old URLsPath aliases, Metatag fields, and Redirect recordsStandard when modules and fields exist: the Bridge supports aliases, supported SEO payloads, and redirect records in prepared destinations.
Blocks, shortcodes, embeds, and buildersFormatted text, Paragraphs, Layout Builder, or custom componentsReview/custom: presentation-bound markup requires transformation or reconstruction.
Plugins, WooCommerce, forms, memberships, and workflowsDrupal modules, Commerce, Webform, custom entities, or integrationsCustom: application behavior does not become equivalent through content migration alone.
Example WordPress to Drupal mapping rules

The approved workbook connects WordPress types and fields to exact Drupal bundles, field machine names, dependencies, transformations, and exception handling.

WordPress valueMigration ruleDrupal result
Post type and source IDRoute to an approved bundle and preserve source identityDrupal node type, node ID map, and repeatable update path
Title, body, excerpt, date, statusNormalize markup and translate workflow stateNode title, body, summary, timestamps, and publication state
Category and tag IDsCreate vocabularies and terms before dependent nodesTaxonomy term references using destination IDs
Author and comment relationshipsCreate or match users, then load nodes and comments in dependency orderNode ownership and Drupal comment references
Attachment and featured imageDownload, validate, create file or media records, and populate approved fieldsManaged file or media entity plus node relationship
Slug, SEO values, and source URLCreate the approved alias, Metatag payload, and redirect recordDrupal path alias, metadata, and tested old-to-new redirect
Translate WordPress types into Drupal bundles and fields

Drupal requires an explicit destination model. Importing every WordPress record into one generic Article bundle usually loses structure and creates avoidable editorial debt.

Inventory WordPress beyond posts

Review post types, taxonomies, fields, ACF groups, users, roles, comments, media, menus, plugin tables, blocks, shortcodes, volumes, statuses, and URLs.

Design bundles and fields

Approve content types, field machine names, types, cardinality, required values, defaults, references, text formats, revisions, moderation, languages, and displays.

Build dependencies in order

Create users, vocabularies, terms, files or media, and menus before the nodes, comments, and menu links that depend on their destination IDs.

Keep development visible

Treat Paragraphs, Layout Builder, Views, Webform, Commerce, search, permissions, integrations, theme, and custom modules as coordinated implementation work.

Choose between Migranetix Bridge and Drupal migration tooling

The current Migranetix destination path uses versioned Bridge adapters. Drupal also documents a WordPress Migrate workflow for Drupal 10.5 and 11 using WXR, Migrate API, contributed modules, and Drush.

Bridge path

Use the reviewed versioned Bridge when the project needs repeatable source-to-target mapping across configured users, taxonomy, content, comments, menus, media, aliases, and redirects.

WXR and WordPress Migrate

Use the official ecosystem path as a reference or alternative for supported posts, pages, comments, attachments, tags, and categories into a prepared modern Drupal site.

Module maturity review

The current Drupal 10.5/11 WordPress Migrate release is alpha and depends on contributed modules, so its suitability and security coverage must be reviewed rather than assumed.

Rollback boundaries

Drupal migration tooling can track and roll back imported records, but rollback can remove destination changes made after import and does not replace backups or cutover controls.

Validate Drupal aliases, redirects, metadata, and rendering

A successful database write is not an accepted Drupal migration. Final evidence must cover entity integrity, rendered pages, editorial behavior, URLs, and production signals.

Alias and redirect contract

Map every valuable WordPress URL to the approved Drupal alias and test Redirect records, status codes, loops, chains, language prefixes, parameters, and trailing slashes.

Entity reconciliation

Compare source, extracted, transformed, loaded, skipped, rejected, and failed totals for users, terms, nodes, comments, files, menus, and links.

Rendered and editorial QA

Inspect text formats, fields, references, media, alt text, comments, menus, revisions, moderation, permissions, preview, editing, search, forms, and representative templates.

SEO and launch monitoring

Validate metadata, canonicals, internal links, sitemaps, robots rules, analytics, conversion paths, logs, priority pages, and post-launch exceptions.

Technical references

Before purchase

Verify real output in staging

The free sample migration creates a limited set of records in staging. Check fields, relationships, media, URLs, rendering, and reported exceptions before paying for the full run.

Pricing

One migration, one-time payment

Package fit depends on supported record volume and complexity. Analyze the source first, then review the fixed package or dynamic estimate shown for the migration.

Compare migration packages

Plan the move

WordPress to Drupal guides

Drupal migration

Prepare content types, vocabularies and relationships in Drupal.

Open guide →

WordPress migration workflows

Review WordPress source extraction, custom types, plugins, users, media, and URL handling.

Open guide →

Drupal to WordPress

Review the reverse direction and Drupal-specific content-model boundaries.

Open guide →

WordPress to Ghost

Compare a publication-focused Ghost destination with a narrower standard content model.

Open guide →
More migration planning guides

Clear answers

Frequently asked questions

Yes. They can map into prepared Drupal content types through the current Bridge path. The destination bundles, fields, formats, aliases, and workflow must be approved first.

The current Drupal target exposes users, comments, menus, and menu links. Identity, password compatibility, roles, comment fields, hierarchy, aliases, and permissions still require review.

They can be assessed when source values are accessible and equivalent Drupal fields or entities exist. Complex ACF structures, serialized data, and plugin tables usually require custom mapping.

Not for the current standard target path. Drupal JSON:API is configured as a source connector; destination writes use a compatible versioned Migranetix Bridge.

It is an available Drupal ecosystem path for supported WXR content. The current Drupal 10.5 and 11 release is alpha and uses contributed dependencies, so project fit must be reviewed.

Prepared Drupal destinations can receive aliases, supported Metatag data, and Redirect records. Coverage still depends on installed modules, field configuration, and an approved URL map.

No. Drupal theme, components, Paragraphs, Layout Builder, Views, forms, commerce, search, memberships, permissions, and integrations are separate implementation work.

No. Reduce risk with backups, dry runs, reconciliation, URL mapping, staged validation, cutover controls, analytics, monitoring, and rollback decisions.

Next step

Start your WordPress to Drupal migration

Create an account, connect the systems, and analyze the supported scope before purchasing the full migration.