Drupal to WordPress

WordPress hosting for sites migrating from Drupal.

Drupal models content in a way WordPress does not, so the decisions made before the import matter far more than the import itself.

Content types mapped firstPath aliases preservedFree migration
Free migrationField mappingAlias redirectsDaily backupsFree SSL24/7 support
Structure first

What has to be decided before anything is imported.

A Drupal site is a content model. Importing it without deciding how that model translates produces content nobody can edit.

Content types mapped to post types

Drupal nodes and their fields have no automatic WordPress counterpart. The mapping is agreed first, because guessing produces a site your editors cannot work in.

Nodes to post typesFields to custom fields

Path aliases preserved

Drupal aliases are arbitrary rather than derived from titles, so the URL a page has today usually cannot be reconstructed. Each one is captured and redirected.

Taxonomy decided, not flattened

A default import turns every vocabulary into tags and loses the structure the site was organised around. Each vocabulary is mapped deliberately.

Accounts move, passwords cannot

Drupal's password hashes are not readable by WordPress, so accounts transfer with a forced reset rather than silently failing at first login.

Multilingual planned against an approach

Drupal handles translations natively and WordPress needs a plugin, so the choice of plugin shapes how the content has to be imported.

Migration

Agree the model, then move the content.

This is the migration where rushing the import costs the most, because unpicking a bad content model afterwards means touching every entry.

  • Content model and field mapping agreed before import
  • Alias redirect map captured
  • Cutover at a time you choose
  • Drupal site left live until you confirm
Content types
Mapped
7 types
Path aliases
Captured
2,140 rules
User accounts
Migrated, reset required
480 users
DNS cutover
Awaiting your go-ahead
scheduled
Performance

Simpler stack, same content.

Most Drupal sites that move are being run by a team that no longer wants to maintain Drupal. The performance is a side effect of the stack getting simpler.

Free
migration, done by us
Redis
object cache, on by default
NVMe
storage on every plan
MagicWP140 ms
Untuned Drupal on shared hosting900 ms
Untuned WordPress430 ms

Illustrative comparison of a content page after migration and tuning. Your numbers depend on the content model and plugin set.

Configuration

What this move needs that a host migration does not

Every item here is a decision rather than a setting, and each one is expensive to revisit after the content has landed.

SettingWhat we doWhy
Content types and fieldsMapped to post types and custom fields before any import runsDrupal nodes and their fields have no WordPress equivalent, and an unmapped import produces content that technically exists but nobody can edit.
Path aliasesCaptured individually and preserved as redirectsDrupal aliases are arbitrary rather than generated from titles, so a page's current URL usually cannot be derived from anything else.
TaxonomyEach vocabulary mapped to categories, tags or a custom taxonomy by decisionA default import flattens every vocabulary into tags, discarding the structure the site was actually organised around.
User accountsMigrated with a forced password resetDrupal password hashes cannot be read by WordPress, so pretending accounts transfer intact means every user fails to log in on day one.
Multilingual contentPlanned against a specific WordPress approach before importDrupal translates natively while WordPress needs a plugin, and which plugin you choose determines the shape the content has to arrive in.
Plans

Simple, transparent pricing.

Every plan includes free migration, daily backups, SSL and 24/7 support.

MonthlyYearly 2 months free
Starter
For personal sites, blogs, and portfolios.
$20/mo
  • 1 WordPress site
  • 10 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Support tickets
Start free trial
Pro★ Most popular
For growing businesses and busy stores.
$80/mo
  • 5 WordPress sites
  • 50 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Priority support tickets
Start free trial
Enterprise
For agencies and high-traffic platforms.
$250/mo
  • 20 WordPress sites
  • 200 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Dedicated support
Start free trial
FAQ

Questions, answered.

Will my Drupal content types survive the move?
They are mapped rather than transferred. Nodes and their fields have no automatic WordPress counterpart, so we agree the mapping to post types and custom fields before anything is imported — that decision is expensive to revisit afterwards.
What happens to my URLs?
Every path alias is captured and redirected. Drupal aliases are arbitrary rather than generated from the title, so unlike most migrations the current URL usually cannot be recreated from the content itself.
Can my users keep their passwords?
No, and any migration claiming otherwise is worth questioning. Drupal's hashes are not readable by WordPress, so accounts move with a forced reset — which is far better than every user silently failing to log in.
My site is multilingual. Does that complicate things?
It does, and it is decided before the import rather than after. Drupal handles translations natively while WordPress needs a plugin, and the plugin chosen determines how the content has to be shaped on the way in.
How are my taxonomy vocabularies handled?
Each one is mapped on purpose. The default behaviour of most importers is to flatten everything into tags, which throws away exactly the structure the site was organised around.

Leave Drupal with the content model intact.

Free migration, fields mapped before import, and every path alias redirected.