FG PrestaShop to WooCommerce


This plugin migrates products, categories, tags, images and CMS from PrestaShop to WooCommerce/WordPress.

It has been tested with PrestaShop versions 1.0 to 1.7 and WordPress 5.0. It is compatible with multisite installations.

Major features include:

  • migrates PrestaShop products
  • migrates PrestaShop product images
  • migrates PrestaShop product categories
  • migrates PrestaShop product tags
  • migrates PrestaShop CMS (as posts or pages)

No need to subscribe to an external web site.

Premium version

The Premium version includes these extra features:

  • migrates PrestaShop product features
  • migrates PrestaShop product attributes
  • migrates PrestaShop product attribute images
  • migrates PrestaShop product accessories
  • migrates PrestaShop product combinations
  • migrates PrestaShop virtual products
  • migrates PrestaShop downloadable products
  • migrates PrestaShop employees
  • migrates PrestaShop customers
  • migrates PrestaShop orders
  • migrates PrestaShop ratings and reviews
  • migrates PrestaShop discounts/vouchers (cart rules)
  • migrates PrestaShop menus
  • SEO: Redirect the PrestaShop URLs to the new WordPress URLs
  • SEO: Import meta data (browser title, description, keywords, robots) to WordPress SEO
  • the employees and customers can authenticate to WordPress using their PrestaShop passwords
  • ability to do a partial import
  • ability to run the import automatically from the cron (for dropshipping for example)

The Premium version can be purchased on: https://www.fredericgilles.net/fg-prestashop-to-woocommerce/


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

  • Brands: imports the manufacturers
  • WPML: imports the translations
  • Customer groups: imports the customer groups
  • Cost of goods: import the products cost


  • English (default)
  • French (fr_FR)
  • Hungarian (hu_HU)
  • other can be translated


  • Parameters screen



WooCommerce must be installed and activated before running the migration.


  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 > PrestaShop
  4. Configure the plugin settings. You can find the PrestaShop database parameters in the PrestaShop file settings.inc.php (PrestaShop 1.5+) or in the PrestaShop Preferences > Database tab (PrestaShop 1.4 and less)
  5. Test the database connection
  6. Click on the import button


I get the message: “[fgj2wp] Couldn’t connect to the PrestaShop database. Please check your parameters. And be sure the WordPress server can access the PrestaShop database. SQLSTATE[28000] [1045] Access denied for user ‘xxx’@’localhost’ (using password: YES)”
  • First verify your login and password to your PrestaShop database.
  • If PrestaShop and WordPress are not installed on the same host, you can do this:
  • export the PrestaShop 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 PrestaShop ones in the plugin settings.
The import is not complete
  • You can run the migration again and it will continue where it left off.
  • 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).
The images aren’t being imported
  • Please check the URL field. It must contain the URL of the PrestaShop home page
  • Check that the maintenance mode is disabled in PrestaShop
  • Use http instead of https in the URL field
Are the product combinations/attributes imported?
  • This is a Premium feature available on: https://www.fredericgilles.net/fg-prestashop-to-woocommerce/
Is there a log file to show the information from the import?
  • Yes since version 1.10.0. 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.


A Magic Plugin with the BEST support

If you ever tried to migrate manually from Prestashop to WooCommerce, customers, orders, products, attributes, etc, and even more: redirect from your old pages to the new ones, not loosing your positioning and SEO, then you know that is is a total and time consuming nightmare... When I read that all of this can be done automatically and in a short time just with a plugin, I though, no matter what they say, I do not believe in Magic... Well, Magic exists, just fill the fields with your original url and a few parameters, and you will be done in less time that you spend in searching for other solutions. Due to my lack of experience, I commited some mistakes and had some issues, but Frederic has done a big job helping me and getting everything to work perfectly. A piece of advice, if you want to try the free version, that allows you to migrate products, do it, but believe me, do not start doing changes to your products and categories, GO and BUY the PREMIUM version and install it at once. It could look like a bit expensive compared to other types of plugins (anyway there is no plugin that makes all of theses at any price) but I can assure it is not! the time you are saving and the functionalities, together with the First Class support you get, make this plugin worth it 100% THANK YOU SO MUCH FREDERIC GILLLES TEAM!!!

Fantastic plugin !

I can easily recommend that plugin to anyone who struggle with exporting products and other data from PrestaShop to Woocommerce. I have nearly 1000 products to import in 3 languages, their plugin imported everything perfectly and moreover, it imported also ORDERS !!!!!, stock etc. I did not expected that. It is really the best plugin for that task on the market. Before I have used the free version to check everything works and it did the job, so I purchased the PRO version to import multilanguage content and it also did great job. Truely I did not expected much but I am very suprised how it was performed, whole import process was extremly easy and unproblematic ! 5 STARS Support is also fantastic, they helped me much to understand how to fix the problem with my Woocommerce to propertly import content from presta, I had a US lang coding in Woocommerce and UK in Presta, I just did not noticed that ,they fast figured out what is happening and switch my Woocommerce WPML lang to correct lang code and everything was imported perfectly. Thanks !

This is great plugin

I have to say that this plugin is great and works perfect, I migrated 1000+ items from my prestashop to woocommerce really easy.
Read all 48 reviews

Contributors & Developers

“FG PrestaShop to WooCommerce” is open source software. The following people have contributed to this plugin.


“FG PrestaShop to WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “FG PrestaShop to WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fixed: Some NGINX servers were blocking the images downloads
  • Tested with WordPress 5.0.2


  • Tested with WordPress 5.0.1


  • Tested with WordPress 5.0


  • Fixed: Some NGINX servers were blocking the images downloads


  • New: Generate the audio and video meta data (ID3 tag, featured image)


  • New: Support the Bengali alphabet
  • Fixed: Wrong products pagination with out of stock products


  • Fixed: [ERROR] Error:SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘p.reduction_tax’ in ‘field list’


  • New: Import the images contained in the product short description
  • Tested with WordPress 4.9.8


  • Fixed: WordPress database error: [Cannot truncate a table referenced in a foreign key constraint (wp_wc_download_log, CONSTRAINT fk_wc_download_log_permission_id FOREIGN KEY (permission_id) REFERENCES `wp_woocommerce_downloadable_product_permission)]
  • Tested with WordPress 4.9.7


  • Fixed: [Cannot truncate a table referenced in a foreign key constraint (wp_wc_download_log, CONSTRAINT fk_wc_download_log_permission_id FOREIGN KEY (permission_id) REFERENCES `wp_woocommerce_downloadable_product_permission)]
  • Change: Wording of the label “Remove only previously imported data”


  • Fixed: [ERROR] Error:SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘p.id_specific_price_rule’ in ‘where clause’ for PrestaShop 1.4
  • Tested with WordPress 4.9.6


  • Fixed: Wrong sale prices if many specific price rules are used


  • New: Support the Arabic language
  • Tweak: Delete the wc_var_prices transient when cleaning the imported data
  • Tested with WordPress 4.9.5


  • Fixed: Notice: Undefined index: id_category_default
  • Tweak: Use WP_IMPORTING


  • New: Display the number of imported media
  • Tested with WordPress 4.9.1


  • Tested with WordPress 4.9


  • New: Import the products visibility


  • Fixed: Wrong sale price if the reductions were applied after the tax (PrestaShop 1.6+)
  • Tested with WordPress 4.8.2


  • New: Allow HTML in term descriptions


  • Fixed: Sales prices were not imported for multi countries stores with sales prices defined for all countries


  • New: Import the barcode (compatible with the WooCommerce Barcode ISBN plugin)
  • New: Set the products as draft if they are not available for order


  • Tweak: code refactoring


  • New: Check if we need the Customer Groups add-on


  • Fixed: Wrong sale price for products with reduction prices defined for several countries


  • Fixed: Security cross-site scripting (XSS) vulnerability in the Ajax importer


  • Fixed: Wrong number of customers and employees displayed
  • Tested with WordPress 4.8.1


  • New: Import the image caption in the media attachment page


  • New: Block the import if the URL field is empty and if the media are not skipped
  • New: Add error messages and information


  • Fixed [ERROR] Error:SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘p.id_product_attribute’ in ‘field list’


  • New: Add the percentage in the progress bar
  • New: Display the progress and the log when returning to the import page
  • Change: Restyling the progress bar
  • Fixed: Typo – replace “complete” by “completed”
  • Tested with WordPress 4.8


  • New: Compatibility with PrestaShop 1.0


  • Tested with WordPress 4.7.5


  • New: Add a choice to import either the thumbnail product images or the full size product images


  • Tested with WordPress 4.7.4


  • Fixed: the prices were all on sale when importing the prices with tax


  • New: Remove accents in the file names
  • New: Import the specific prices for PrestaShop versions 1.4 and more


  • Fixed: Import hangs if some CMS articles have no content


  • Tweak: Clear WooCommerce transients when emptying WordPress content


  • New: Test if we need the Premium version
  • New: Test if we need the Brands add-on
  • New: Test if we need the WPML add-on
  • Tested with WordPress 4.7.3


  • Fixed: Stock not imported when using multishops


  • Fixed: Term meta data not deleted when we delete the imported data only


  • New: Display the number of products categories and CMS categories found in PrestaShop
  • Fixed: The categories with duplicate names were not imported


  • Fixed: [ERROR] Error:SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘p.reduction_price’ in ‘field list’


  • Fixed: Images with Hebraic characters or encoded characters were not imported


  • Fixed: Rounding error when importing with tax included


  • Fixed: PrestaShop 1.4 products not imported


  • Tested with WordPress 4.7.2


  • Fixed: Progress bar doesn’t reach 100%
  • Tweak: Code refactoring


  • Fixed: Existing images attached to imported products were removed when deleting the imported data
  • Tested with WordPress 4.7


  • Fixed: Some images with Greek characters were not imported


  • New: Compatibility with PrestaShop 1.7


  • New: Import the reduced prices from PrestaShop 1.1, 1.2 and 1.3
  • Fixed: “Notice: Object of class WP_Error could not be converted to int” when WooCommerce is not activated
  • 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


  • New: Optimization: don’t reimport the images that were already imported


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


  • Fixed: Database passwords containing “<” were not accepted


  • Tweak: Add a hook to enable the manufacturers translations


  • Fixed: PrestaShop 1.4 compatibility issue: [ERROR] Error:SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘cl.id_shop’ in ‘on clause’


  • New: Authorize the connections to Web sites that use invalid SSL certificates
  • Fixed: Duplicated products when PrestaShop contains more than one shop
  • Tweak: If the import is blocked, stop sending AJAX requests


  • 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


  • Tweak: Remove the accents from the image filenames because that could generate problems on some hosts


  • New: Option to delete only the new imported data
  • Fixed: Review link broken


  • Fixed: Notice: Undefined offset
  • Fixed: Wrong number of comments displayed
  • Tested with WordPress 4.6.1


  • Tested with WordPress 4.6


  • Tweak: Empty the woocommerce_downloadable_product_permissions when emptying the WordPress content


  • Tweak: Increase the speed of counting the terms


  • Tweak: Replace spaces by dashes because images with spaces are not displayed on iPhones
  • Tested with WordPress 4.5.3


  • New: Compatible with WooCommerce 2.6.0


  • Fixed: Regression bug: testing the database connection only refreshes the screen


  • Fixed: Invalid characters in the images filenames prevent these images to upload


  • New: Accept the Hebrew characters in the file names
  • Tested with WordPress 4.5.2


  • Fixed: Add total_sales, _downloadable and _virtual postmetas to be compatible with the Avada theme


  • Fixed: Notice: Undefined index: id_cms
  • Tested with WordPress 4.5


  • New: Don’t import the Root category


  • Fixed: Column ‘post_content’ cannot be null


  • Tweak: Code refactoring


  • Tested with WordPress 4.4.2


  • New: Compatibility with the WooCommerce Layered Nav widget


  • Tested with WordPress 4.4.1


  • Tweak: Restructure the whole code using the BoilerPlate foundation
  • New: Make the platform more accessible to more languages


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


  • Fixed: Wrong parent categories assigned
  • Fixed: Categories with null description were not imported


  • Tweak: Use the WordPress 4.4 term metas


  • Tested with WordPress 4.4


  • New: Option to enable/disable the stock management


  • New: Option to import the EAN13 as the SKU


  • New: Import filenames with Greek characters
  • New: Add a link to the FAQ in the connection error message


  • New: Add an Import link on the plugins list page


  • Tweak: code optimization


  • Tested with PrestaShop 1.2


  • Tested with WordPress 4.3.1


  • Fixed: Cache issue with the product categories


  • Fixed: Some medias with accents were not imported
  • Tested with WordPress 4.3


  • Tested with WordPress 4.2.4


  • Tested with WordPress 4.2.3


  • Fixed: Hook at the wrong position


  • Fixed: Accept the filenames with Cyrillic characters


  • New: Compatible with PrestaShop 1.1
  • Tested with WordPress 4.2.2


  • New: Import the images at the thickbox size instead of the original size
  • Tested with WordPress 4.2


  • Fixed: Don’t import twice the same medias


  • Fixed: Wrong hook used after product insert (fgp2wc_post_insert_product and not fgp2wc_post_insert_post)


  • Fixed: Change the default database prefix to ps_
  • FAQ updated


  • Fixed: Wrong images imported when the image legends are not unique


  • New: Log the messages to wp-content/debug.log
  • FAQ updated


  • New: Test the presence of WooCommerce before importing
  • Tested with WordPress 4.1.1


  • Fixed: Duplicate products when using more than one shop (PrestaShop 1.5+)
  • Fixed: Wrong categories assigned to products when there are category slugs duplicates
  • Fixed: the prestashop_query() function was returning only one row


  • Fixed: Some images were imported as question marks
  • Fixed: Wrong storage directory for the images without a date


  • Tweak: Optimize the speed of images transfer. Don’t try to guess the images location for each image.
  • Fixed: The products count didn’t include the inactive products


  • New: Compatible with PrestaShop 1.3


  • Tested with WordPress 4.1


  • Tweak: Don’t display the timeout field if the medias are skipped


  • FAQ updated
  • Tested with WordPress 4.0.1


  • Fixed: WordPress database error: [Duplicate entry ‘xxx-yyy’ for key ‘PRIMARY’]


  • Fixed: Some images were not imported on PrestaShop 1.4


  • Fixed: Set the products with a null quantity as “Out of stock”
  • New: Import the product supplier reference as SKU if the product reference is empty


  • Update the FAQ


  • Fixed: Some images were not imported


  • Compatible with WooCommerce 2.2
  • Fixed: Remove the shop_order_status taxonomy according to WooCommerce 2.2
  • Fixed: The cover image was not imported as featured image if it was not the first image
  • Fixed: Category image path fixed
  • Fixed: The product category images were imported even when the “Skip media” option was checked
  • Tweak: Simplify the posts count function


  • Initial version: Import PrestaShop products, categories, tags, images and CMS