Build the baseline before migration
Crawl the live Drupal site and export indexed URLs from search tools, analytics landing pages, XML sitemaps, backlinks, paid campaigns, and server logs where available. Record status, canonical, title, description, headings, language, traffic value, and content owner.
Combine aliases with historical redirect records
Drupal path aliases describe current friendly paths, but they may omit previous aliases and Redirect module records. Include system paths, aliases, historical redirects, language prefixes, taxonomy and user routes, pagination, feeds, files, and valuable query URLs.
The content import guide explains when route data should travel with the record inventory.
Finalize WordPress permalinks before mapping
Confirm destination post types, taxonomies, parent-child rules, translated slugs, archives, pagination, media behavior, and canonical policy first. Redirects built against temporary destination URLs create avoidable rework.
Create an auditable one-to-one redirect map
Map each valuable source URL to the closest equivalent destination and record the reason for consolidation or retirement. Avoid blanket homepage redirects, redirect chains, loops, case conflicts, encoded-path mistakes, and soft 404 destinations.
Keep the original source URL, final target, expected status, rule owner, and test result in the redirect register.
Migrate metadata and internal discovery signals
Map Drupal Metatag or core metadata into the chosen WordPress SEO storage. Verify titles, descriptions, canonicals, robots directives, Open Graph data, structured data, hreflang, breadcrumbs, internal links, navigation, and image attributes.
Generate sitemaps from canonical destination URLs only and update internal links to final URLs rather than relying on redirects.
Protect staging and prepare launch controls
Keep staging out of search using authentication and appropriate indexing controls. Before launch, prepare redirect rules, DNS and cache changes, robots.txt, sitemaps, analytics, search verification, backups, owners, acceptance checks, and rollback conditions.
Test priority paths and edge cases
Test high-value landing pages plus samples of bundles, terms, authors, languages, pagination, files, encoded paths, trailing slashes, uppercase paths, query strings, and historical redirects. Confirm one hop to a relevant canonical 200 response.
Cross-check rendered content and records using the Drupal 7 guide where legacy storage is involved.
Monitor after launch without promising rankings
Track crawl errors, redirect failures, index coverage, sitemap processing, canonical selection, rankings, organic landings, conversions, and server errors. Compare against the baseline and fix systemic patterns first.
No migration can guarantee unchanged rankings. Strong controls reduce avoidable loss and make problems diagnosable. Include this work in the migration cost assessment.