How to Migrate WordPress URLs, Metadata & Taxonomies to Drupal | Innoraft Skip to main content

Search

9 Sep, 2026
7 min read

How to Migrate WordPress URLs, Metadata & Taxonomies to Drupal

author-picture

Author

Anuska Mallick

Sr. Technical Content Writer

As an experienced Technical Content Writer and passionate reader, I enjoy using storytelling to simplify complex technical concepts, uncover real business value, and help teams make confident digital transformation decisions.

Image
How to Migrate WordPress URLs, Metadata & Taxonomies to Drupal

WordPress and Drupal store content in fundamentally different ways. WordPress spreads content across a relational database: posts and pages sit in tables like wp_posts and wp_postmeta, while separate tables handle taxonomy. Drupal organizes content as structured entities and fields instead, where SEO metadata is typically managed through modules such as Metatag rather than one generic table. 

This difference is why moving a site between the two isn't a copy-paste job. Skip the mapping work on URLs, taxonomies and metadata, and you can end up with a Drupal site that looks fine but loses significant organic visibility. This is why Drupal experts at Innoraft usually begin WordPress to Drupal migration by mapping WordPress data to its Drupal equivalent first.

What Is a WordPress to Drupal Migration, and Why Does It Put SEO at Risk?

A WordPress to Drupal content migration moves content, categories and SEO fields out of WordPress's table structure into Drupal's entity system. Done properly, it preserves URL history, taxonomy relationships and metadata built up over years. Done carelessly, it wipes all three out in an afternoon.

Teams typically move to Drupal for granular permissions, structured workflows, or content modeling WordPress's plugin-based approach might struggle to handle at scale, though none of that matters if the migration breaks search visibility. A platform swap is also different from a full redesign: Preserve URLs during Drupal migration if the content structure stays the same, and build an explicit URL map if you're restructuring navigation or taxonomy too.

How Should You Map WordPress Data to Drupal?

Successful migration from WordPress to Drupal begins with proper content mapping. Decide where each WordPress concept lives in Drupal before any module runs. Here’s a quick overview of how you can map WordPress to Drupal content migration.

WordPressDrupal
Post typeContent type
Category taxonomyTaxonomy vocabulary
CategoryTaxonomy term
Tag taxonomyTaxonomy vocabulary
TagTaxonomy term
Custom fieldDrupal field
SEO metadataMetatag
Slug/permalinkURL alias
AuthorUser
Media attachmentMedia entity

What Tools Do You Need Before Starting the Migration?

To migrate WordPress metadata to Drupal, you'll need Drupal migration tools like Drupal core's Migrate API plus a selection of contributed modules, depending on your approach. Migrate Plus adds configuration and plugin options, and Migrate Tools provides the Drush commands and admin UI you actually run migrations through. Pick a source method too: a WXR (XML) export or a direct database connection.

Module maturity varies more than most guides admit, so check each module's Drupal version and security status first.

ModuleRole in the migration
Migrate APIDrupal core framework for importing structured data
Migrate PlusExtends Migrate with configuration and plugin options
Migrate ToolsProvides Drush commands and an admin UI for running migrations
WordPress MigrateImports posts, pages, tags and categories from a WXR export; current Drupal 10.5+/11 release is alpha
WordPress Migrate SQLMigrates directly from the WordPress MySQL/MariaDB database; has a stable, security-covered release for Drupal 11
PathautoGenerates Drupal URL aliases from configurable patterns
RedirectManages permanent redirects from old URLs to new ones
MetatagManages titles, descriptions, canonical URLs and social-sharing metadata

For a database-driven WordPress to Drupal migration, WordPress Migrate SQL's stable, security-covered Drupal 11 release makes it worth evaluating for production projects. Other direct-database modules exist but aren't always covered by that policy, so check before using one.

How Do You Migrate Taxonomies from WordPress to Drupal?

By default, WordPress categories are hierarchical and tags are non-hierarchical, though custom taxonomies can follow either structure. Drupal represents both through taxonomy vocabularies; a simple WordPress to Drupal content migration maps categories and tags to two, and complex sites may need more.

  1. To migrate WordPress taxonomies to Drupal, first set up your vocabularies in Drupal (Structure > Taxonomy) before touching content, matching the model the site needs.
  2. Configure the taxonomy migration to run before the dependent content migration, or define migration dependencies and lookups so the content migration can resolve the correct term IDs.
  3. Check the parent-child hierarchy afterward. Nested categories should map to nested terms, not a flat list.

Getting this wrong costs more than a few missing labels. Without correct taxonomy relationships, Views listings, taxonomy filters and faceted search can all return incomplete results.

How Do You Migrate Metadata Without Losing Search Rankings?

Most WP SEO plugins store SEO values in wp_postmeta as key-value pairs, but the keys will be different based on the plugin and setup. Drupal has no equivalent generic table. That is why when conducting WordPress to Drupal SEO migration, you need to decide where each value belongs, field by field.

  1. Inspect the source database first. A Yoast installation, for example, often stores the title and description under keys like _yoast_wpseo_title and _yoast_wpseo_metadesc, but verify rather than assume this holds.
  2. Route standard SEO values into a Metatag field on the relevant content type instead of building ordinary text fields, and reserve regular fields for business data that isn't really SEO.
  3. Set sensible Metatag defaults per content type for anything editors skip.

This is worth preserving even without a ranking guarantee. Google says snippets come primarily from page content, though the meta description gets used when it describes the page better. Migrating it preserves a description Google can consider when generating the search snippet, although Google may still choose different page content.

How Do You Migrate URLs Without Losing Your Rankings?

Preserve URLs during Drupal migration wherever possible, and redirect the rest. This way we can minimize the avoidable loss of organic traffic when changing the CMS.

  1. Configure Pathauto to rebuild the old permalink pattern from Drupal fields and tokens, a structure like /category/post-name/ is a good candidate.
  2. For URLs that must be preserved exactly, create the corresponding Drupal URL alias during WordPress to Drupal migration instead of relying on Pathauto to recreate it.
  3. Redirect only where a genuinely equivalent page exists; otherwise a 404 or 410 is more honest than an unrelated redirect.
WordPress URL PatternDrupal Handling
/category/post-name/Pathauto pattern using category and title tokens
/2024/03/post-name/Pathauto date-token pattern, or a redirect if the format changes
Exact legacy URLCorresponding Drupal URL alias created during migration

Google's guidance here is more measured than most SEO advice. Permanent redirects don't cause PageRank loss alone, but a platform move combined with a redesign can still cause temporary fluctuations while Google recrawls the new URLs. Use server-side 301 or 308 redirects, avoid chaining them, and point each legacy URL straight at its final destination.

How Should You Build a URL Mapping Before Migration?

Before moving a single post during WordPress to Drupal migration, export the WordPress URLs that matter and map each to its intended Drupal destination. A spreadsheet works fine, tracking the old URL, new URL, HTTP status, content ID, redirect destination, canonical URL and migration status.

Prioritize pages with organic traffic, backlinks or heavy internal linking, where a missed redirect actually costs something.

What Mistakes Should You Avoid During the WordPress to Drupal migration?

Most ranking losses on a WordPress Drupal SEO migration trace back to avoidable errors, not the tools themselves. Here are some WordPress to Drupal migration mistakes you need to avoid:

  1. Migrating content before taxonomies resolve. Posts imported before their terms exist become orphaned, and re-linking them later is tedious.
  2. Trusting Pathauto's default pattern. It rarely matches a WordPress permalink exactly, so test it against real URLs first.
  3. Creating redirect chains. Don't send an old URL to an intermediate Drupal URL that redirects again; map each legacy URL straight to its destination.
  4. Forgetting social metadata. Open Graph and Twitter Card tags affect how links look when shared, not rankings, but preserve them anyway.
  5. Skipping validation before launch. Don't point DNS at the new site before working through the checklist below.

What Should You Validate Before Launch?

Connect the URL mapping and the crawl into one final pass before launch.

AreaWhat to Check
Content & taxonomyCounts match source; parent-child term relationships intact
URLs & redirectsAliases resolve correctly; no missing redirects or chains
MetadataTitles, descriptions and canonical URLs match the mapping
Social metadataOpen Graph and Twitter Card values carried over
IndexabilityNo accidental noindex tags or robots blocks from staging
SitemapRegenerated, updated and submitted in Search Console
Media & internal linksImages resolve; internal links point to new URLs, not old ones

Conclusion

Mapping WordPress's data model onto Drupal's entity system takes people who work in both regularly. That is why you either need to invest in training your internal teams, or partner with experienced partners. As experienced Drupal migration services providers, our experts at Innoraft ensure successful WordPress to Drupal content migration, catching edge cases generic scripts miss: missing redirects, unresolved taxonomy references, and content relationships that don't survive the import.

Planning a WordPress to Drupal move? Talk to our experts before moving any content!

FAQ

Frequently Asked Questions

Map each important WordPress URL to its intended Drupal URL before migration. Preserve the existing URL where possible by creating matching Drupal URL aliases; for changed URLs, map them directly to their new destinations with permanent redirects.

Recreate the existing permalink structure in Drupal using Pathauto where practical, and create explicit URL aliases for URLs that need to remain exactly the same. Test the resulting URLs before launch to catch missing or incorrect mappings.

First, identify where your WordPress SEO plugin stores titles, descriptions and other metadata. Then map each value to the appropriate Drupal Metatag configuration rather than assuming WordPress and Drupal use the same fields or storage structure.

Yes. WordPress categories and tags can be migrated into Drupal taxonomy vocabularies and terms. Custom taxonomies may require a more specific mapping depending on their hierarchy and structure.

Create the required Drupal taxonomy vocabularies first, then migrate WordPress categories and tags into the corresponding terms. Run taxonomy migrations before dependent content, or configure migration dependencies so content can resolve the correct term IDs.

Start with a URL and data-mapping plan. Preserve important URLs, migrate SEO metadata and taxonomy relationships correctly, set up necessary redirects, and validate indexability, canonicals, sitemaps, internal links and metadata before launch.

Yes, when a URL genuinely changes and an equivalent destination exists. Use server-side 301 or 308 redirects, sending each old URL directly to its final destination rather than creating redirect chains.

Didn’t find what you were looking for here?