Install
Works with Drupal: ^10.5 || ^11Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
wordpress_migrate: wordpress_migrate module for importing WordPress sites into Drupal
"Alpha9" version brings bug fixes, drush + better Drupal 11 coverage
The wordpress_migrate Alpha9 release includes many bug fixes and enhancements. It is intended to be the easiest solution for WordPress website operators to migrate their content into Drupal. This uses the WXR XML site export (not a direct database connection) to generate posts, tags, categories, users and comments -- no server-level access needed. Curious to throw your WordPress site in a new platform? You can try Drupal yourself using DDEV quickstart (or try a new recipe module or the test content via docs below). There's never been a better time to check out alternatives to WordPress. This module was created in 2010 and this is the 20th tagged release.
This version Alpha9 improves the text format handling which was buggy, the drush migrate creation options, test coverage a bit, the README documentation, and adds a new logger. New config.yml configuration added. You can reset the config using: drush cim --partial --source=modules/contrib/wordpress_migrate/config/install . Please uninstall and reinstall the module if your config.yml files are not working.
Docs updated by ressa: Main page, FAQ, and testing content. The README.md is again updated with new drush parameters.
The plan for 3.x beta is updated.
In this release Alpha9:
- Issue #3580091: add config.yml install and uninstall, update hook by HongPong. add install file for applying config yml and removing the config when uninstalled
- Issue #3580021: Add missing slash in Path alias feat: #3580021 Add missing slash in Path alias and test coverage, update small test issue. By ressa, HongPong, sapnil_biswas
- Issue #3535554: HTML tags in body text is shown as plain text by HongPong, vikingw, ressa. Resolves text format incorrect on body fields (Long text with summary). Add logging to WordPressMigrationGenerator.php, add MigrateFieldsBuilders.php to refactor, simplify migrations/wordpress_content.yml for flexibility.
- Issue #3131928: Add + Improve Gitlab CI testing by HongPong. CI phpcs notices cleaned.
- Issue #3578768: drush migrate:import --all fails due to Migrate Tools regression various work merged. Add missing body_field_type and body_field CLI input fields to drush command, enable config validation and logging. Clean up drush problems and improve field validation and logging there . Updates documentation. Bump to php8.2, Drupal 10.5 / 11 and migrate_tools ^6.0.9. Aims to resolve drush behavior and help with flagged issues.
- Issue #3579149: Create validator classes MigrationConfigurationValidator + ValidationResult by HongPong. Add migration config validator and logger for wizard UI and drush users alike. Introduce new logging service + updated validator. New: Constants.php, LogEntry.php, MigrateLogger.php, ThresholdLogger.php, wordpress_migrate.settings.yml for config and log control.Modified WordPressMigrationGenerator.php, WordpressMigrateCommands.php, wordpress_migrate.services.yml, ValidationResult.php renamed, MigrateConfigValidator.php, LogTerm.php (docs: processing-plugins.md, Readme.md updated, error-logging.md).
- Issue #3435726: Drupal 11 compatibility fixes for wordpress_migrate by HongPong: Remove support for Drupal 9 / 10 / 10.1
Contributors
Active maintainer for this release was HongPong (Dan Feidt). Thanks to vikingw for reporting critical issue, ressa and sapnil_biswas for sending in a patch. Special thanks to benjifisher for helping advise how to get this project moving lately! Some code and tests was generated using qwen-coder, Claude Sonnet, and Gemini 3.
Known issue
- #3522658: Is it possible to avoid creating the Default migration after installation? .
drush migrate:import --allseems to jam but you can run the migrations individually.
Help wanted
Contributors make this module possible. We have more issues listed on the the 8.x-3.x plan. Here are a few the WordPress community may want to check out:
- Issue #3173973: Pluggable extension, support contrib + custom WordPress, Yoast SEO
- Issue #2927510: Wordpress new line to paragraph conversion. This will be adapted to the pluggable extension system.
- Issue #3490071: Implement Advanced Custom Fields (ACF / SCF) support
- Issue #3490070: Implement Custom Post Type (CPT) support
- Issue #3489714: Implement Gutenberg Block imports
- Known issue: Issue #3313145: "No database connection configured for source plugin variable". We believe this error message you may see is an issue from Drupal core.
There is also now a project for using the Drupal CMS Recipe system. See wordpress_migrate_recipe to test it.