Max Tymoshyn, founder of Norml Studio
Max TymoshynFounder, Norml Studio

Drupal to WordPress migration

Move a structured Drupal website into WordPress without flattening its content into hard-to-edit pages. Norml maps content types, fields, relationships, and taxonomies before building the destination. We review multilingual routes and editorial permissions alongside the public website so the team can keep publishing after the move.

What the migration covers

The Drupal content model determines the migration work. We start with the entities and workflows your site uses, then define a WordPress model that preserves the required relationships.

Solution
Migrations
Current platform
Drupal
Destination
WordPress

Content types and custom fields

Articles, profiles, resources, and other bundles receive an agreed destination structure. We map field types and repeated values, preserve source identifiers during import, and distinguish published content from drafts or revisions. A representative sample proves the model before the whole archive is transferred.

Relationships and taxonomy

Entity references need to become connected records in WordPress. We resolve dependencies between content, people, media, and taxonomy terms, then check the resulting links on rendered pages. Missing or inaccessible referenced records are reported instead of silently replaced with plain text.

Translations and media

Each language variant needs content, metadata, and a destination URL. We map language relationships and prepare redirects for changed paths. Images, documents, captions, and embedded files are checked for accessible source assets and suitable ownership in the new media library.

Editorial workflow and access

We identify who may draft, edit, approve, and publish each content type, plus what visitors can view. Drupal moderation rules and permissions need an explicit WordPress implementation. The agreed workflow is tested with representative roles before editors receive production access.

What we need before the move

Version and data-model access

Provide the Drupal version, module list, field definitions, hosting or approved API access, and a restorable backup. Include custom entities, private files, multilingual content, and the editing tasks that depend on contributed modules.

Custom behavior and private content

An entity export does not reproduce custom modules, search behavior, access rules, or all revision history. We agree which records and behavior need to survive. Restricted material remains protected while its destination access model is verified.

How we prepare the move

  1. Design the destination mapping

    Review entities, bundles, field cardinality, taxonomies, and references. Define the import order and destination content types, including translations and media dependencies.

  2. Test connected content

    Import a representative set with linked records and translated variants. Compare field values, rendering, editor controls, and access behavior against the agreed source examples.

  3. Transfer and reconcile

    Run the full scoped migration, compare record counts and relationships, and apply final content changes. Verify redirects, forms, search, and publishing permissions before and after the domain switch.

Questions about the migration

How do custom fields map to WordPress?
We choose destination fields and content types based on the values and relationships you need. Repeatable fields, references, and rich text receive different treatment. The mapping is reviewed on representative content rather than assuming every field can become a text box.
What happens to multilingual URLs?
We inventory each language’s content and paths, define the WordPress language model, and map changed URLs. Language relationships, internal links, and metadata are part of the acceptance checks.
Can the editorial workflow remain the same?
We can implement the required draft, review, and publishing responsibilities after assessing the current workflow. Drupal-specific modules may need replacements or custom work. Identical permissions are not assumed simply because user records have been imported.
Share your current website, the features you rely on, and what needs to change. We will review the WordPress requirements and identify the content, rebuild work, and launch checks your move needs.

Plan your Drupal migration

Discuss your migration