Magento Cart Migration Guide

Source Store: Magento, osCommerce, WooCommerce, VirtueMart, Zen-Cart, CS-Cart, CubeCart, Interspire, CRE Loaded / LoadedCommerce, OpenCart, OXID eShop, Prestashop, WP-eCommerce, X-Cart, xt:Commerce/Veyton, MijoShop, MarketPress and more…

Target Store: Magento.

For Source Store:

  • Please ensure you have the right permission to upload files into your Source Store.
  • It must not block access from Target Store to the connector.

Source Store can operate normally during migration as it requires a very limited resource for the process.

PHP Compatibility: PHP 4.x or later.

 

For Target Store:

It is strongly recommended to backup Magento Target Store first.

  • Target Store should be placed in a stable hosting or in localhost.
  • It also must not block connection to Source Store.
  • Webserver (mostly apache) should have full permission to write on /media folder.

PHP Compatibility:

  • Magento 1.x: PHP 5.3 or later.
  • Magento 2.x: PHP 5.6 or later.

Magento Compatibility: 1.7 or later.

Required PHP extensions:

  • pdo_mysql
  • simplexml
  • mcrypt
  • hash
  • GD
  • DOM
  • curl
  • mb_strings

Required PHP configurations:

  • memory_limit no less than 256Mb
  • allow_url_fopen must be On
  • base64_decode should be allowed

 

Disable email notification

To prevent email notification during customer import, it is recommended to disable it via Magento backend and reenable when migration is completed.

  • Login to Magento backend
  • Go to the System->Configuration menu ( Magento 1.x ), or Store -> Configuration ( Magento 2.x ).
  • On the left hand menu under the Advanced tab (at the bottom) select the System menu item.
  • Select ‘Mail Sending Settings’ from the selection on the right hand side.
  • Set Disable email communications to ‘Yes’, then no email will send through Magento.

After downloading the product zip file from our Store, please extract it into a folder. The module consists of two main parts: Magento Data Migration Module (“app” and “skin” folder for Magento 1 or “app” folder for Magento 2 ) and Source Cart Connector (“Magento_connector”  folder)

cart-migration-setup-1

I. Target Magento Data Migration Module Setup

For Magento 1.x

1. Check to see if Magento’s Compilation mode has been enabled. If it has, it’s vital to turn it off before installing an extension or making any code changes (go to System > Tools > Compilation).

2. Use upload file by ftp or uploaded directly to upload or copy all folders in the zip package to your Magento site root folder. This will not overwrite any existing files, just add new files to the folder structure.

3. If you are using Magento’s compilation mode, you need to hit the “Run Compilation Process” button to update the compiled state with the newly installed extension (go to System > Tools > Compilation).

4. Log into your Magento admin console and go to System/Cache Management. Click “Clear Storage Cache“.

5. Log out admin panel and log in again ( this is a normal behaviour of Magento ).

For Magento 2.x downloaded from LitExtension.com

1. Use upload file by ftp or uploaded directly to upload or copy all folders in the zip package to your Magento site root folder. This will not overwrite any existing files, just add new files to the folder structure.

2. In SSH console of your server navigate to your store root folder:

cd path_to_the_store_root_folder

run these commands:

php -f bin/magento module:enable LitExtension_Core

php -f bin/magento module:enable LitExtension_CartMigration

php -f bin/magento setup:upgrade

rm -rf var/view_preprocessed/*

rm -rf pub/static/*

php -f bin/magento setup:static-content:deploy

3. Flush store cache; log out from the backend and log in again.

4. Important: you should allow Admin Account Sharing, to ensure the migration progress will not be stopped when you login Admin from another place. Please go to Backend > Stores > Configuration > Advaced Tab > Admin > Admin Account Sharing change to “YES”.

For Magento 2.x on Magento Marketplace

This version only comes with CartMigration.zip package to be extracted into app/code/LitExtension. Please download the additional files here:

http://demo3.litextension.com/Core.zip

http://demo3.litextension.com/magento_connector.zip

Core.zip should be extracted into app/code/LitExtension.

magento_connector.zip should be extracted into source store.

Installation steps should be similar to “For Magento 2.x downloaded from LitExtension.com

II. Source Cart Connector Setup

Extract “Magento_connector” into Source Cart root folder. After finished please make sure Migration Connector can be reached at: http(s)://yourstore.com/magento_connector/connector.php

cart-migration-setup-2

If you have any problem reaching the link please ensure you have htaccess configured correctly and the file has execution permission.

For security, please open connector.php, find this very first line:

define(‘LECM_TOKEN’, ‘123456’);

And change “123456” to another string, this will be used to enter to the Migration Form (Cart Token) and acts like “password” to prevent unauthorized data access to your source store.

Note: please do not use special characters in token or else the migration tool might fail to work, it should contain number and alphabet characters only. Example:

  • Good token: 12ab34cd56
  • Bad token: #Fr35h#Mi!5

Plugins are purchased and setup separately into Magento Data Migration Module. They will provide additional functionalities to the tool. Normally plugins need to be customized and tweaked by LitExtension Team to fit customers requirements and will be sent to customers later on. There are a few types of plugin:

Products and Categories SEO Urls Plugin: helps migrate Products and Categories urls. Old urls will be saved in Target Magento Store and will be maintained to keep all current SEO ranking you have built up for years.

Custom Fields Plugin: help migrate custom fields from Source Store to Target Magento Store. This is useful in case customers have customized their store, for example: adding fields to database tables, and also want to migrate these fields into Magento Store.

Customer Password Plugin: special plugin which adds the ability to read passwords encrypted by Source Stores to Magento. All passwords are migrated over and remains encrypted, customers can login to the new shop right away without the need of resetting passwords. “Zencart to Magento” and “Magento to Magento” tools natively support migrating passwords and do not need this plugin.

For Magento 1.x

To install plugins, just copy plugin files into the instructed folder inside Cart Migration Magento Module, new functionalities will be enabled.

For Magento 2.x

To install plugins, just copy plugin files into the instructed folder inside Cart Migration Magento Module, new functionalities will be enabled. For Customer Password Plugin, you will also need to install it:

cd path_to_the_store_root_folder

run these 3 commands:

php -f bin/magento module:enable LitExtension_CustomerPassword

php -f bin/magento setup:upgrade

And flush store cache

For Source Store:

  • The faster Source store can be accessed, the faster migration speed will be.

For Target Store:

  • As migration process is processed mostly on Target store, it is critical to have a fast magento server. Recommended server configuration: 4 cores or higher, 4G memory or higher.
  • Compilation should be enabled to improve speed ( System > Tools > Compilation ) .
  • Cache should be enabled to improve speed ( System > Cache Management ).

License Key is an encoded string which comes with your download package. This key is needed to activate your Migration Tool

  1. After purchasing the product, please login to our store and enter “My downloadable products” section. Here you will find download link and license key for the download package.cart-service-listen-key-1
  2. Login your Magento Target Store backend, select Cart Migration > Configuration, and copy and paste your license key herecart-migration-listen-key-2

Please login your Magento Target Store backend, select LitExtension > Cart Migration > Migration

The migration will go through 3 simple steps. Just hit “Next” when you finish one step to advance.

 

Step 1: Source Cart Configuration

cart-migration-migration-1

  • Cart Type: select corresponding source cart type (osCommerce, ZenCart, VirtueMart, WooCommerce,…..)
  • Cart Url: source cart full url
  • Cart Token: the token string which has been configured in connector.php

 

Step 2: Migration Configuration

cart-migration-migration-2

 

  • Root Category: the category of current Magento store to import all source cart categories into.
  • Product Attribute Set: select an Attribute Set which is used to import products, all necessary attributes in migration process will be created in to this set.
  • Languages Mapping: If your Source Cart is multilingual, corresponding languages ( or storeviews) should be available in Target Magento Store. You may need to create additional languages in Magento Store to avoid data loss.
  • Currencies Mapping: Assign Source Cart currencies to proper Target Magento Store currencies. Creating currencies in Target Magento Store may be needed.
  • Orders Status Mapping: Assign Source Cart order statuses to proper Target Magento Store order statuses. Creating additional order statues in Target Magento Store may be needed.
  • Entities to Migrate: select all entities to migrate or just a part of them.

cart-migration-migration-3

 

Additional Options:

  • Migrate recent data: if you choose this option, it will migrate new data only. Supposed you have just finished a full migration from your current Source store to Target store, after that Source store is still live and continue getting new data, and you want to get your Target store updated with the new data, select this feature to avoid starting over again.
  • Clear current data on Target Store before Migration: if you choose this option, all current products, categories, manufacturers, customers, orders, product reviews, taxes will be cleared.
  • Migrate categories and products SEO URLs: if you choose this option, old SEF urls of source will be preserved in Target Magento Store, allowing you to maintain your Pagerank.
  • Transfer images in product descriptions to Target Store: download all images in product description into your store so that it won’t have to refer back to your source store or anywhere else for images.
  • Preserve Customer IDs on Target Store: this will help you preserve your old Customer IDs for easier reference.
  • Preserve Order IDs on Target Store: this will help you preserve your old Order IDs for easier reference

 

Step 3: Migration

cart-migration-migration-4

The migration will take place automatically in this final step. In order for it to progress, you should not close your browser of remove Source Cart Connector.

After the migration is completed, click on “Clear Cache and ReIndex Data” to finish. If you don’t want to run it right here or it returns false for any reason, you can do that manually in System > Cache Management and System > Index Management.

When a problem occurring on the migration process, Magento Migration Tool provides the ability to resume the process:

  1. Automatically resume on the spot: the tool will automatically resume after a failure until all data is imported.cart-migration-resum-1
  2. Manually resume: you can refresh the page to go back to Step 1 and click on “Resume”, this is helpful when you want to temporarily stop migration and resume when you want to.cart-migration-resum-2cart-migration-resum-3

Access Advanced Configuration by going to Cart Migration > Configuration from Magento backend menu. All default values are configured to work with most cases, thus it is recommended to change these values only when it is necessary to.cart-migration-advanced

  • XXX Per Batch: Cart Migration splits each entity data into small batches (or chunks) and import them in turn. This option defines batch size to process in each turn. Depending on your Magento hosting resource you can change the values accordingly. The lower the value is, the less time and resource Magento spends to process a batch, also the longer overall time to import full data.
  • Delay Time: the sleeping time between each batch. This option defines the “break time” for both Source Store and Target Store. It is also helpful to prevent Timeout issue if Source Store has been setup to limit the number of requests in a period of time.
  • Auto Retry After: if by some reason, the batch process fails, the tool will automatically retry after a period of time defined by this option.
  1. Clear current data and fresh migrate all data

Proceed normaly to Step 2, here please choose “All entities” and “Clear current data of target store”. Hit next to proceed to Step 3.

  1. Clear current data and fresh migrate some specific entities

Proceed normaly to Step 2, here please choose only entities you want to migrate and “Clear current data of target store”. Hit next to proceed to Step 3. Note: “Clear current data of target store” will only clear data of selected entities.

  1. Incremental migration

Lets say you have successfully performed first migration from Source store to Target store for a few/all entities. Data has been imported properly. A few days later, your Source store has some more data and you want to import this new data only ( incremental migration ). Here is how to do it:

  • Incremental migration also can only be done for previous source cart url and target url, it is not feasible if you change source cart url or target cart url.
  • Incremental migration can only be done for most recent migrated entities. Example: if you have migrated all entities for the first time, in the second time you can incrementally migrate new data of all entities. If you only migrated for example Customers + Orders only, the next time you can only perform incremental migration for Customers + Orders.
  • Proceed normally to Step 2. Here please choose entities you want to migrate ( must be the same entites you migrated last time ) and “Migrate recent data”.
  • Proceed to Step 3.
  1. Default data

Migrated data should be checked in Target Store backend because information displayed on frontend might go through filters, modifications by the store template which does not fully justify how the data was migrated.

  1. SEO Urls

How SEO Urls Plugin works: “Products and Categories SEO Urls Plugin” helps migrate Products and Categories urls. Old urls will be saved in Target Magento Store and will be maintained to keep all current SEO ranking you have built up for years.

In most cases, you would likely have an old source store at : http://my-source-store.com and want to migrate your data to another location http://my-target-store.com , after that you want to put this store back to your old domain ( http://my-source-store.com ).

If you have used SEO Plugin to migrate old product and category urls over to target store, you can check the result by following these steps:

  1. Customer Password

If you have Customer Password Plugin, after migration, customers can immediately use their old passwords to login in the new store, without the need of resetting or any further action.

After migration is completed, the migration tool might not be needed anymore. It is recommended to uninstall/disable the tool.

  1. Remove the connector: the connector can be safely deleted on your source store.
  2. Disable migration module: this is helpful when you want to quick disable the module and don’t want to remove it:

Magento 1.x: 

Open /app/etc/modules/LitExtension_CartMigration.xml

change: <active>true</active>

to: <active>false</active>

After that, clear Magento cache.

Magento 2.x:

In SSH console of your server navigate to your store root folder:

cd path_to_the_store_root_folder

run these commands:

php -f bin/magento module:disable LitExtension_Core

php -f bin/magento module:disable LitExtension_CartMigration

php -f bin/magento setup:upgrade

  1. Uninstall migration module:

Manually delete all files/folders you of the modules.

After that, clear Magento cache.

  1. Product import stops permanently at some specific point, how to resolve?Prestashop-import-frequently

Cause: php execution time too low

Solution:

  • Go to Cart Migration Configuration, change value “Products per Batch” to a lower number
  • Increase you server php max_execution_time value

 

  1. At step 2, the tool can not read my mapping data?cart-migration-frequently-2

Cause: migration tool can not read your source store database

Solution: check Cart Migration Configuration and ensure you enter correct table prefix for your source database

cart-migration-frequently-3

  1. “Magento database isn’t working” when hitting Next on Step 1?cart-migration-frequently-4

Cause: there was an issue with the installation, the module could not create its additional tables into Magento database.

Solution: login mysql admin, run this script:

DELETE FROM `core_resource` where code = “lecamg_setup”

After that, refresh the Step 1 page.

  1. Can the tool migrate customer passwords?

Yes!

The tool can migrate passwords with “Customer Password Plugin”. This is a special plugin which adds the ability to read passwords encrypted by source stores to Magento. All passwords are migrated over and remains encrypted, customers can login to the new shop right away without the need of resetting passwords. “Zencart to Magento” and “Magento to Magento” tools natively support migrating passwords and do not need this plugin.

  1. Can the tool migrate products and categories old Urls to preserve SEO ranking?

Yes!

“Products and Categories SEO Urls Plugin” helps migrate Products and Categories urls. Old urls will be saved in Target Magento Store and will be maintained to keep all current SEO ranking you have built up for years.

For us to create the plugin, please provide your source cart url, we will diagnose and create the plugin to send to you within 24 hours. There are cases which we also require FTP of your source cart.

  1. My Source Store has some custom data which I have manually added, can we migrate such data to my target store?

Yes!

“Custom Fields Plugin” helps migrate custom fields from Source Store to Target Magento Store. This is useful in case customers have customized their store, for example: adding fields to database tables, and also want to migrate these fields into Magento Store.

For us to create the plugin, please provide FTP of your source cart, we will diagnose and create the plugin to send to you within 24 hours.

  1. More questions?

Please drop us a message at: http://litextension.com/contacts/

Or email us at: contact@litextension.com

We are striving to get your questions answered within 24 hours.