Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

FG Magento to WooCommerce

A plugin to migrate your Magento e-commerce store to WooCommerce

This plugin migrates your Magento products and CMS pages to WooCommerce.

It has been tested with Magento versions 1.3 to 1.9 and Wordpress 4.7. It is compatible with multisite installations.

The plugin migrates:

  • the product categories
  • the product categories images
  • the products
  • the product thumbnails
  • the product images galleries
  • the product stocks
  • the CMS

No need to subscribe to an external web site.

FG Magento to WooCommerce Premium version

The Premium version includes these extra features:

  • migrates the product attributes
  • migrates the product variations
  • migrates the grouped products
  • migrates the products Up Sell and Cross Sell
  • migrates the users
  • migrates the customers
  • authenticate the users and the customers in WordPress with their Magento passwords
  • migrates the orders
  • migrates the ratings and reviews
  • migrates the SEO meta data
  • SEO: redirects the Magento URLs
  • multisites/multistores: Option to choose which website/store to import
  • update the already imported products stocks and orders
  • compatible with Magento Enterprise Edition

The Premium version can be purchased on:

Add-ons for FG Magento to WooCommerce Premium

The Premium version allows the use of add-ons that enhance functionality:

  • Multilingual Magento stores converted to WooCommerce + WPML
  • Move Magento order numbers
  • Move Magento customer groups
  • Move Magento manufacturers
Author Frédéric GILLES
Contributors FrédéricGILLES
Tags brands, convert magento to wordpress, converter, customer groups, import, importer, magento, magento to wordpress migration, manufacturers, migrate magento to wordpress, migrator, woocommerce, WPML
  1. fg-magento-to-woocommerce screenshot 1

    Parameters screen

  1. Install the plugin in the Admin => Plugins menu => Add New => Upload => Select the zip file => Install Now
  2. Activate the plugin in the Admin => Plugins menu
  3. Run the importer in Tools > Import > Magento
  4. Configure the plugin settings. You can find the Magento database parameters in the Magento file app/etc/local.xml
    Hostname = host
    Port = 3306 (standard MySQL port)
    Database = dbname
    Username = username
    Password = password
    Table prefix = table_prefix


  • Tweak: Add a hook after testing the database connection


  • Tested with WordPress 4.7.2


  • Change: Import the Manufacturer's Suggested Retail Price as the regular price instead of the sale price


  • New: Add an option to import the Special Price or the Manufacturer's Suggested Retail Price


  • New: Import the length, width and height as shipping attributes
  • Tweak: Code refactoring


  • Tested with WordPress 4.7


  • New: Import the default web site


  • Fixed: Existing images attached to imported products were removed when deleting the imported data


  • Fixed: The child products which are visible individually were not imported


  • Fixed: Wrong progress bar color


  • Fixed: The progress bar didn't move during the first import
  • Fixed: The log window was empty during the first import


  • Fixed: The "IMPORT COMPLETE" message was still displayed when the import was run again


  • Fixed: Database passwords containing "<" were not accepted
  • Tweak: Code refactoring


  • Fixed: Wrong number of product categories displayed


  • Tweak: If the import is blocked, stop sending AJAX requests


  • New: Authorize the connections to Web sites that use invalid SSL certificates


  • New: Option to delete only the new imported data


  • Fixed: MySQL 5.7 incompatibility: [ERROR] Error:SQLSTATE[HY000]: General error: 3065 Expression #1 of ORDER BY clause is not in SELECT list, references column 'gv.position' which is not in SELECT list; this is incompatible with DISTINCT


  • Fixed: Some images were duplicated in the product gallery


  • Fixed: Review link broken


  • New: Display the needed add-ons during the database testing and before importing
  • Fixed: Wrong number of comments displayed
  • Tested with WordPress 4.6.1


  • New: Display the number of data found in the Magento database before importing


  • Tweak: Code optimization


  • Tested with WordPress 4.6


  • Fixed: WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xxx' yyy' LIMIT 1' at line 4


  • Fixed: CMS pages from all languages were imported
  • Fixed: Notice: Undefined index: name
  • Tweak: Refactor some functions to allow multilingual import by the WPML addon


  • Fixed: PHP Notice: Object of class WP_Error could not be converted to int
  • Fixed: Notice: Undefined index: url_key


  • New: Import the product featured images


  • Fixed: Display an error message when the process hangs
  • Tweak: Increase the speed of counting the terms
  • Tested with WordPress 4.5.3


  • New: Run the import in AJAX
  • New: Add a progress bar
  • New: Add a logger frame to see the logs in real time
  • New: Ability to stop the import
  • New: Compatible with PHP 7
  • New: Compatible with WooCommerce 2.6.0


  • Fixed: The products without stock were not imported


  • Fixed: Products belonging to several bundles were imported as duplicates


  • Fixed: Some descriptions were not imported correctly
  • Tested with WordPress 4.5.2


  • Fixed: Compatibility issues with Magento 1.3
  • Tested with WordPress 4.5.1


  • Tested with WordPress 4.5


  • Fixed: Notice: Undefined index: short_description
  • Fixed: Column 'post_excerpt' cannot be null


  • Fixed: Products not imported. Error: "WordPress database error Column 'post_content' cannot be null"


  • Tested with WordPress 4.4.2


  • Tested with WordPress 4.4.1


  • Fixed: Fatal error: Call to undefined function add_term_meta()


  • Fixed: Better clean the taxonomies cache


  • Tweak: Optimize the termmeta table


  • Tweak: Use the WordPress 4.4 term metas


  • Tested with WordPress 4.4


  • New: Compatibility with Magento 1.3


  • New: Add a link to the FAQ in the connection error message


  • New: Add an Import link on the plugins list page
  • New: Change the translation domain name to be compliant with the WordPress translation system
  • Tweak: Code refactoring


  • Fixed: Refresh the display of the product categories
  • Fixed: Error: 1054 Unknown column 'e.store_id' in 'where clause'


  • Fixed: Duplicate images
  • Fixed: Avoid a double slash in the media filename
  • Fixed: Import the original category name instead of the translation
  • Fixed: Notice: Undefined index: url_key


  • New: Compatible with Magento 1.4 to 1.9
  • New: Support the table prefix
  • Fixed: Don't import the child products as single products


  • Tweak: Change the range of get_attribute_values()
  • Tweak: Make the argument $required_attributes optional
  • Premium version released


  • Tested with WordPress 4.3.1


  • Initial version: Import Magento product categories, products, images and CMS

I get the message: "[fg-magento-to-woocommerce] Couldn't connect to the Magento database. Please check your parameters. And be sure the WordPress server can access the Magento database. SQLSTATE[28000] [1045] Access denied for user 'xxx'@'localhost' (using password: YES)"

  • First verify your login and password to your Magento database.
  • If Magento and WordPress are not installed on the same host, you can do this:
  • export the Magento 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 Magento ones in the plugin settings.

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', '1G'); 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).

I get a blank screen and the import seems to be stopped

  • Same as above

The media are not imported

  • Check the URL field that you filled in the plugin settings. It must be your Magento home page URL and must start with http://

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 in php.ini

Does the migration process modify the Magento site it migrates from?

  • No, it only reads the Magento database.

Do I need to keep the plugin activated after the migration?

  • No, you can deactivate or even uninstall the plugin after the migration.

Is there a log file to show the information from the import?

  • Yes. First you must put these lines in wp-config.php:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    And the messages will be logged to wp-content/debug.log.

Don't hesitate to let a comment on the forum or to report bugs if you found some.


  • English (default)
  • French (fr_FR)
  • other can be translated
Version 2.20.0

Requires WordPress version: 4.5 or higher

Compatible up to: 4.7.2

Last Updated 07 Feb 2017

Date Added: 02 Sep 2015

Plugin Homepage


5 stars
12 ratings


Not Enough Data

Works: 0
Broken: 0

Probably Works.
Considering downloads, would expect problems reported.