Drupal content import guide

How to import Drupal content into WordPress

A reliable Drupal import preserves the content model, dependencies, files, relationships, permissions, and public routes that give records meaning. Start with discovery and a prepared WordPress model, then use a representative dry run and reconciled transfer.

Inventory the Drupal source before extraction

Record the Drupal version, hosting and database access, enabled modules, content bundles, fields, users, roles, taxonomy vocabularies, comments, menus, files, languages, aliases, and custom entities. Capture counts and tested backups before changing the source.

For Drupal 7, include legacy field tables and module-owned storage described in the Drupal 7 migration guide.

Choose a source path that matches the Drupal version

Use JSON:API only where the installed version and configuration expose the required resources. Older or restricted sites may need Migranetix Bridge, approved database access, or another supported extraction path.

Connection success is only an access check. Sample nodes, field values, terms, files, users, aliases, and module records before confirming coverage.

Map bundles to a prepared WordPress model

Map each Drupal bundle to a WordPress post, page, custom post type, archive, or explicit exclusion. Define taxonomies, fields, blocks, authors, statuses, dates, slugs, and templates before loading content.

Document transformations and source identifiers in the data mapping worksheet.

Preserve typed fields and formatted content

Handle field cardinality, dates, booleans, numbers, links, addresses, lists, entity references, embedded media, and formatted text according to their types. Decide how Drupal text formats, filters, tokens, shortcodes, and embedded entities will render in WordPress.

Load dependencies in a controlled order

Create users and taxonomy terms before content that references them. Load parent records before children, then comments, menus, relationships, and other dependent records. Preserve source IDs so retries and reconciliation remain auditable.

Transfer media without weakening access rules

Resolve public and private file locations, derivatives, missing binaries, filenames, MIME types, captions, alt text, ownership, and references. Private files must remain protected until WordPress has an equivalent access control.

Treat Paragraphs and module data as explicit scope

Paragraphs, Field Collections, Webforms, Views, commerce records, custom entities, and module tables do not become WordPress features automatically. Map portable data to prepared blocks, fields, child records, plugins, or custom code; document excluded behavior separately.

Rebuild menus, languages, aliases, and routes

Preserve menu hierarchy, translation relationships, language values, path aliases, and valuable historical routes. Finalize the destination permalink model before generating the redirect map in the Drupal SEO migration guide.

Dry run, reconcile, and plan cutover

Test representative simple and complex records, then compare source, extracted, transformed, loaded, skipped, and failed totals. Validate rendered output, editability, relationships, media, permissions, metadata, and URLs.

After acceptance, plan a publishing freeze or repeatable delta, full transfer, redirect activation, launch checks, rollback conditions, and monitoring. Review migration cost factors before fixing scope.

Clear answers

Frequently asked questions

Yes when a supported source path exposes the required records and the WordPress content model is prepared for them.

Not automatically. Availability depends on Drupal version, resource configuration, permissions, modules, and custom storage.

Their data can be mapped to prepared blocks, fields, repeaters, or child records, but structure and rendering need explicit rules.

Only when the destination has equivalent access controls and the migration preserves them. Hold restricted assets until that is verified.

Reconcile counts and exceptions, then sample content, relationships, files, permissions, metadata, routes, and editable destination records.

Next step

Analyze your Drupal content migration

Identify the supported source path, destination model, mappings, dependencies, exceptions, and validation needed for your data.