I have a task where I need to merge two separate instances of Magento into one multisite. Ideally I'd also like to upgrade them to 1.8 (currently 1.5). What I'm asking for is advice on how to move products (with attributes), customers, and order data.

I'm thinking the API may be a good way of going about this on a maintainable basis. Whilst the new site is developed, the existing ones can keep running and have the data moved when it's needed. I'm not sure how feasible this is for products however due to the attributes and store associations.

Would it be easier to do complete exports of the data and write some scripts to handle the import?

Any help is really appreciated.

  • API should be fine as long as you do not have massive amounts to transfer. So if you have moderate to large catalog, you can import/export it and then maintain using cronjobs – Petar Dzhambazov Oct 8 '13 at 17:33
  • Thank you. Is it possible to get only the updated customers and products via the API? Or would we need to do complete imports every time? – Paul Oct 8 '13 at 20:09
  • You can supply filters to API requests and provided that updated_at is good measure for updated time, you should be able to use it. – Petar Dzhambazov Oct 9 '13 at 14:49
  • @Paul - did you succeed? What did you do? Please inform us! – SPRBRN Jan 27 '14 at 14:13
  • We've not had to tackle it yet. – Paul Jan 29 '14 at 21:37

This is something I've done a few times, and like Ben says, it takes a decent amount of strategy to accomplish.

I've done it by using a few extensions that are available, and whilst they are a little bit of an initial cost, I can't imagine how how you could write your own API scripts any cheaper. I know it's not the done thing on here, but check all of the import/export extensions from commerceextensions.com/magento-extensions.html

Methodology wise, in your situation -

  1. Setup dev site (current version
  2. Install extensions on dev site
  3. Install extension on website A (1.5) and export
  4. Install extension on website B (1.4) and export
  5. Import data in to dev site
  6. Test dev site
  7. If all OK, plan a time to shut down both A & B and do fresh exports, import in to dev site, and then switch permanently.

As I say, that's a brief outline. The important thing is to test, test, and test again.


In theory the relevant APIs can be used to accomplish this, but there are quite a lot of things to consider. Chief among these are all of the referential data which are involved - products related to products, products to attributes, orders to customers, etc. These data are very likely going to have collisions when merged together, something which will require a massive strategy and loads of testing to certify.

In the end I would suggest that you archive the old instances under different domains and then access that data as necessary. This way you can focus on importing customers, attributes, and products.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.