Niwa View demo
Niwa
niwa@niwachat.comContact
The notebook

How to Transfer a Drupal Website to WordPress

Transfer Drupal content to WordPress with a map for content types, fields, references and permissions, then verify media and URL aliases.

Organized content cards and archival folders beside a tablet showing a fictional article library
Conceptual editorial illustration generated for this article.

To transfer a Drupal website to WordPress, design the destination content model first, then use a compatible importer or controlled export-and-import process to move the required content and relationships. Rebuild templates, views and module behavior, verify access and media, and map Drupal URL aliases before switching the live domain.

The main risk is losing structure. An event with dates, a venue reference and registration rules should not become an ordinary post that only contains those values as text.

Agree a structured-content migration with Niwa

Niwa Business is USD 150 for a custom WordPress website or migration, hosting, maintenance and AI adaptation. Specify the Drupal content types, fields, relationships, languages and permissions that must be retained. Custom modules and complex editorial workflows need explicit scope.

After transfer, Niwa can answer visitor questions using the maintained public content and support authorized owner changes in WordPress. See how Niwa works when choosing the first task to configure. A site already on WordPress can install the standalone Niwa plugin without another migration.

Audit the source content model

Record the Drupal version, database driver, modules and custom code. Back up the database, files and configuration securely. Keep a restore procedure as well as the files themselves.

List content types, field types, taxonomies, media entities, users, roles, aliases and languages. Include entity references, reusable components, Paragraphs, forms, comments and revisions where they matter. Record Views and other displays that assemble content rather than storing a standalone page.

Decide what the migration includes. Your team may need the latest published content, historical revisions, unpublished drafts or member-only documents. Those are different record sets with different access requirements.

Map the data to supported WordPress structures

Choose Posts, Pages or custom post types for each source type. Map taxonomy terms to the intended destination taxonomy, and fields to destination fields that your templates and editors can use.

For an event, define the destination date and time representation, time zone, venue relationship and registration destination. Keep a source-ID-to-destination-ID map so references can be rebuilt after the related records exist. Drupal node IDs do not automatically become WordPress post IDs.

For reusable components, decide whether to preserve a structured component model or convert the final layout into blocks. Flattening can be acceptable for an archived article, but it may make an active directory or event system difficult to maintain.

Define the destination permissions separately. A copied role name does not prove it has the same capabilities. Test who can read, create, edit, publish and administer each relevant type.

Choose a source-aware transfer route

FG Drupal to WordPress lists basic articles, pages, categories, tags and images. Its Premium feature list adds content types, custom fields, users and relationships, with add-ons for particular modules and structures. Check the exact source version and feature coverage before relying on it.

For that route, install the importer on protected WordPress staging and open Tools > Import > Drupal. Use connection details from the actual source configuration and test access. Arrange a restricted database connection or a separate source copy rather than exposing the live database broadly.

For a custom route, export the required entities into a documented schema and import them with stable identifiers. Specify the dependency order: referenced objects must exist before their destination relationships can be resolved. Maintain logs and an explicit update policy for later runs.

WordPress's import guidance notes that a failed import can leave records behind. Inspect the saved IDs and log before retrying. A second import should have a defined reason to update or create each item.

Test a representative relationship chain

Import an event, its venue, a category, a related speaker and a featured image. Check that the event links to the intended venue and speaker, displays its date correctly and appears in the intended listing.

Then inspect a content item with repeated components, an unpublished draft and a restricted page. Verify the full body, media, field values and publication state. Counts are useful, but they cannot reveal a venue reference that now points to an unrelated post.

Check special characters, non-English text and date values. Compare a translated item with its source language and ensure the language relationship works in navigation and search.

Rebuild Views, templates and module functions

Drupal Views and templates do not run directly in WordPress. Recreate the necessary listings, filters, sorting and detail pages against the new data model. An exported page of results does not replace a live searchable directory.

Replace forms and their storage or delivery process. If an event allows registration, test the stored registration and confirmation workflow. Check any external system that receives the data.

Validate media files, private downloads and embedded resources. Confirm that private files are still restricted at the file-delivery level, not merely hidden from the menu. Keep private material out of public search and the visitor assistant's knowledge sources.

Preserve aliases and verify the launch

Collect Drupal aliases, important /node/ links and language routes. Keep useful paths where possible; map changed ones to their exact destination and install permanent redirects. Update internal links so they do not depend on a redirect chain.

Compare titles, descriptions, canonical URLs and the new sitemap. Revisit high-value pages after launch and check for missing destinations. A CMS change cannot guarantee unchanged rankings.

Before cutover, transfer content and user changes made since the trial import. Test editor roles, forms, search, files and layouts on desktop and mobile. Keep the old environment and backups for the agreed recovery period, with a clear decision maker for rollback.

Configure Niwa against verified public information

For the event example, configure Niwa with the published event information and visitor rules. Ask where an event takes place and check that the answer matches the migrated venue relationship. When a booking workflow is connected, Niwa can use the business context to offer availability and complete the reservation directly on WhatsApp. Visitors can also use the website's booking flow. Verify the saved reservation, including the chosen event and time, before treating the conversation as a completed booking.

An authorized owner can request a change to a public description, then inspect the saved WordPress record and public page. Do not assume an assistant understands every custom Drupal field simply because its text was imported. Configure and test the selected sources and supported operations.

Contact Niwa with your Drupal version, content-type inventory and an example of the most complex relationship. Agree which structures and workflows the migration will preserve before implementation.

Leave a Reply

Your email address will not be published. Required fields are marked *

Niwa
How can I help?
Chat with Niwa