We recently had to move an installation of Magento to a new server for a client. Normally this is relatively easy. All you have to do is install magento on the new server, copy the SQL data base over and reconfigure the base URL’s and you’re in business.
In this case though the person who had the original site would not allow us access to their SQL database so we had to do it the manual way.
Here’s what I mean by that. We had to “export” the existing products from his current Magento installation and “import” them to a new one. If you’ve ever attempted this before it’s not as simple as it sounds. Once you get an export file in the form of a CSV go try and just import that to a new installation of Magento – you will likely get hundreds of errors and need to pick through your CSV and clean it up before uploading.
So the first thing we had to do was build out matching categories. Magento is good at finding the categories in the tree if they are built the same.
The next step is to make sure that all of the products have the required fields. SKU, Weight, price, image path, thumbnail, etc. are all necessary attributes. You will also want to make sure that you mirror any existing attributes by creating them in your new Magento site.
Once the csv has been cleaned up and is acceptable for Magento you’re in business. Make sure you save it as UTF-8 character set (or as Windows based CSV in Excel) Then you hit import and Magento accepts the file! You click over to your product catalog and wow… all your products are there. This is amazing… so simple. So you go to your main site and you notice that while all the products are there none of the images have carried over. No, even though they are all in the exact same directory (media/import) and the paths are correct the images are not showing. I racked my brain for about 2 hours on this until I discovered “Data Profiles” and how to use them.
The next thing you will want to do is take your existing product import sheet and cut out the “SKU” and “images” columns. You will paste these two columns into a new csv file so they match up as they did in the previous sheet but without all the additional columns.
Next, go into your Magento admin panel and choose System > Import / Export > Dataflow Profiles.
Now, you’re basically going to tell Magento to match the fields in your CSV with fields in it’s system… kind of like mapping.
Create a new DataFlow profile called “Import Product Images” or something of that nature with the following settings:
Entity Type: Products
Data Transfer: Interactive
Type: CSV/Tab Separated
Field Mapping: sku > sku, image > image – Here it is important that you add the field mapping in the order the fields appear in your sheet. For example, if you put “image > image” first in the data profile and “sku” is first in your CSV the mapping process will fail.
After it has been uploaded choose “Run Profile” and then select your uploaded CSV in the pulldown menu.
Once this has run you should now have visible images! You can do the exact same thing for your thumbnails and small images as well, or you can include those as columns in your initial csv and import them all simultaneously.
Hopefully this helps!
*(we would also like to thank Robin Hislop @ MootPoint for educating us on this: http://www.mootpoint.org/blog/magento-bulk-product-import-images/)