Drupal 7 migration guide

Drupal 7 to WordPress migration

A Drupal 7 migration starts with legacy storage, modules, files, routes, and access—not a generic node export. Migranetix supports the Drupal to WordPress direction, while actual scope depends on the compatible source path and prepared WordPress model.

Treat Drupal 7 status as urgency, not automatic compatibility

Drupal 7 requires an intentional retirement, upgrade, or replatforming plan. Its age does not make every contributed module, custom table, field type, or password portable.

Moving into WordPress is a cross-platform migration. It is different from an in-place Drupal upgrade and needs its own destination model, URL plan, validation, and cutover.

Inventory the complete legacy environment

Record Drupal core and PHP versions, database engine, table prefix, files directories, private files, multisite setup, languages, cron, patches, themes, modules, custom code, and external integrations. Create tested database and file backups before discovery changes.

Choose a version-compatible source path

Modern JSON:API assumptions do not apply automatically to Drupal 7. Use a compatible Migranetix Bridge, database-backed extraction, or another approved path that exposes the required records without weakening production security.

Verify access with representative nodes, fields, users, terms, files, aliases, and module-owned records before estimating full coverage.

Separate core data from contributed and custom storage

Inventory nodes and revisions, field tables, users, roles, taxonomy, comments, menus, files, aliases, Redirect data, Field Collections, Paragraphs where installed, and custom entities separately. Identify which module owns every business-critical record.

A node count does not measure nested field items, references, files, translations, or custom tables.

Prepare WordPress for bundles, fields, and relationships

Route each Drupal bundle to a post, page, custom post type, archive, or exclusion. Prepare taxonomies, fields, users, media, comments, menus, languages, SEO storage, and permalinks before loading dependent records.

Use the mapping worksheet to preserve source IDs and document transformations, fallbacks, and exceptions.

Reconstruct public URLs and private access

Crawl live paths and combine aliases, historical redirects, language prefixes, menu routes, taxonomy pages, files, feeds, and valuable query URLs. An alias table alone is not a complete route inventory.

Keep private files and restricted content protected. If WordPress cannot represent an access rule, hold those records until the destination control exists.

Dry run complex records before the full transfer

Test representative bundles, multivalue fields, references, formatted text, Field Collections, translations, comments, private files, aliases, and missing dependencies. Reconcile source, extracted, transformed, loaded, skipped, and failed totals.

Do not accept an import only because the API returned success. Validate rendered output, editability, relationships, assets, routes, and permissions.

Plan delta, cutover, and source retirement

Define a publishing freeze or repeatable delta, backups, owners, redirect activation, acceptance checks, rollback conditions, and retention. Retire the Drupal 7 host only after production evidence passes.

Review the commercial migration scope, Drupal vs WordPress comparison, content import guide, redirect and SEO plan, and cost factors.

Clear answers

Frequently asked questions

Yes when a compatible source path exposes the required records and WordPress is prepared for their model. Version age alone does not prove complete coverage.

Not universally. Compare a direct extraction path with an upgrade based on module compatibility, access, risk, data needs, and future ownership.

Do not assume so. Hash compatibility, account policy, SSO, MFA, and reset behavior require security review.

Their portable records can be assessed, but module code, configuration, queries, forms, permissions, and frontend behavior need separate implementation.

After backups, final or delta transfer, reconciliation, redirects, permissions, priority journeys, monitoring, and acceptance all pass.

Next step

Assess your Drupal 7 migration

Analyze the legacy version, source path, core and module data, WordPress model, URLs, dry run, and validation requirements.