This plugin migrates articles, stories, pages, categories, tags and images from Drupal to WordPress. It has been tested with Drupal 4 to 11 and the latest version of WordPress. It is compatible with multisite installations. Major features include: migrates the Drupal articles migrates the Drupal 6 s
authenticates the users with their Drupal passwords
SEO: redirects the Drupal URLs to the corresponding WordPress URLs
ability to not import some data
ability to import only specific node types
imports and replaces the Image Assist shortcodes
imports the images managed by the Image Attach Drupal module
imports the nodes relationships
imports the Drupal 8 Media entities
imports the Drupal Media
imports the Video Embed fields
ability to run the import by WP CLI
The Premium version can be purchased on: https://www.fredericgilles.net/fg-drupal-to-wordpress/
Add-ons
The Premium version allows the use of add-ons that enhance functionality:
CCK Custom Content Kit
ECK Entity Construction Kit
Meta tags
Location custom fields
Ubercart store
Drupal Commerce store
Name custom fields
Addressfield custom fields
Internationalization
NodeBlock fields
EntityReference relationships
Media Provider (S3, SoundCloud, YouTube media)
Forum
Field collections
Multifield
Paragraphs
Domain Access
Countries
Profile2 user fields
Entity Embed
Webform
Book
These modules can be purchased on: https://www.fredericgilles.net/fg-drupal-to-wordpress/add-ons/
Translations
English (default)
French (fr_FR)
other can be translated
See it in action
A closer look.
Parameters screen
02 / Source details
Gettingstarted.
01Install the plugin in the Admin => Plugins menu => Add New => Upload => Select the zip file => Install Now
02Activate the plugin in the Admin => Plugins menu
03Run the importer in Tools > Import > Drupal
04Configure the plugin settings. You can find the Drupal database parameters in the Drupal file sites/default/settings.php
03 / Source details
Frequently asked questions.
I get the message: “[fg-drupal-to-wp] Couldn’t connect to the Drupal database. Please check your parameters. And be sure the WordPress server can access the Drupal database. SQLSTATE[28000] [1045] Access denied for user ‘xxx’@’localhost’ (using password: YES)”
First verify your login and password to the Drupal database. If Drupal and WordPress are not installed on the same host: If you use CPanel on the Drupal server, a solution is to allow a remote MySQL connection. go into the Cpanel of the Drupal server go down to Database section and click “Remote MySQL” There you can add an access host (WordPress host). Enter the access host as the SOME-WEBSITE-DOMAIN-OR-IP-ADDRESS and click add host. Another solution is to copy the Drupal database on the WordPress database: export the Drupal database to a SQL file (with phpMyAdmin for example) import this SQL file on the same database as WordPress run the migration by using WordPress database credentials (host, user, password, database) instead of the Drupal ones in the plugin settings.
I get this error when testing the connection: “SQLSTATE[HY000] [2002] Connection refused” or “SQLSTATE[HY000] [2002] No such file or directory”
This error happens when the host is set like localhost:/tmp/mysql5d.sock Instead, you must set the host to be localhost;unix_socket=/tmp/mysql5d.sock
The migration stops and I get the message: “Fatal error: Allowed memory size of XXXXXX bytes exhausted” or I get the message: “Internal server error”
First, deactivate all the WordPress plugins except the ones used for the migration You can run the migration again. It will continue where it stopped. You can add: define('WP_MEMORY_LIMIT', '512M'); in your wp-config.php file to increase the memory allowed by WordPress You can also increase the memory limit in php.ini if you have write access to this file (ie: memory_limit = 1G). See the increase memory limit procedure .
The media are not imported
Check the URL field that you filled in the plugin settings. It must be your Drupal home page URL and must start with http:// or https://
The media are not imported and I get the error message: “Warning: copy() [function.copy]: URL file-access is disabled in the server configuration”
The PHP directive “Allow URL fopen” must be turned on in php.ini to copy the medias. If your remote host doesn’t allow this directive, you will have to do the migration on localhost.
I get the message: “Fatal error: Class ‘PDO’ not found”
PDO and PDO_MySQL libraries are needed. You must enable them in php.ini on the WordPress host. Or on Ubuntu: sudo php5enmod pdo sudo service apache2 reload
I get this error: PHP Fatal error: Undefined class constant ‘MYSQL_ATTR_INIT_COMMAND’
You have to enable PDO_MySQL in php.ini on the WordPress host. That means uncomment the line extension=pdo_mysql.so in php.ini
Does the migration process modify the Drupal site it migrates from?
No, it only reads the Drupal database.
I get this error: Erreur !: SQLSTATE[HY000] [1193] Unknown system variable ‘NAMES’
It comes from MySQL 4.0. It will work if you move your database to MySQL 5.0 before running the migration.
I get this error “Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”
You must use at least PHP 5.3 on your WordPress site.
I get this error: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
It is a compatibility issue with your version of MySQL. You can read this post to fix it: http://forumsarchive.laravel.io/viewtopic.php?id=8667
None image get transferred into the WordPress uploads folder. I’m using Xampp on Windows.
Xampp puts the htdocs in the applications folder which is write protected. You need to move the htdocs to a writeable folder.
Do I need to keep the plugin activated after the migration?
No, you can deactivate or even uninstall the plugin after the migration (for the free version only).
My screen hangs because of a lot of errors in the log window
You can stop the log auto-refresh by unselecting the log auto-refresh checkbox Don’t hesitate to let a comment on the forum or to report bugs if you found some.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati