PrestaShop to Shopify migration Move your store without losing combinations or history.
We pull products with their combinations, customers and orders through the PrestaShop API, rebuild the modules handling special features, and redirect every old URL to its new address. Your PrestaShop store stays live until launch day.
What does a PrestaShop to Shopify migration involve?
It means pulling data through the PrestaShop API (authenticated with an API key as a Basic Auth user) and writing it into Shopify, with automated verification at the end. Products with combinations (size, colour) get mapped onto Shopify's option system, capped at 3 option types. We use PrestaShop's known URL pattern — {category}/{id}-{text}.html for products — to map every old address to a new one and set permanent redirects. Installed modules (invoicing, couriers, special discounts) get rebuilt as Shopify apps or theme code, because there's no automatic equivalent. It's quoted after a store review, usually takes 2–6 weeks, and your PrestaShop store stays live until cutover.
What we move from PrestaShop, and how
PrestaShop has dedicated API resources for most entities. The specific part is mapping combinations and modules.
| What we move | How, technically |
|---|---|
| Products | Via the products API resource (API key as Basic Auth user), with price, description and stock state. |
| Variants | Product "combinations" (combinations, product_options, product_option_values resources) get mapped onto Shopify options; more than 3 attribute types get simplified. |
| Images | The images/products/{id} resource is downloaded and re-uploaded straight to Shopify, which re-hosts it on its own CDN. |
| Specs | The product_features resource becomes Shopify metafields, with labels translated from the feature's values, not the internal ID. |
| Categories | The categories resource becomes collections. Multi-level structure gets rebuilt through the new theme's navigation menu. |
| Brands | The manufacturers resource becomes a metafield or a collection filter. |
| Customers | The customers and addresses resources. Passwords can't be moved — see below. |
| Order history | The orders and order_details resources, recreated as history, without touching current stock. |
| Pages | The content_management_system resource (CMS pages) becomes Shopify pages, with re-hosted images and updated links. |
| Blog | PrestaShop has no native blog. If you have a blog module installed, articles get pulled separately, from that module's tables. |
| Reviews | PrestaShop has no native reviews in core. If you have a reviews module, it gets pulled from its tables and imported into a dedicated Shopify app. |
| Coupons | The specific_prices resource and cart rules get recreated as Shopify discounts; very complex conditions get simplified. |
| Redirects | There's no dedicated "old URLs" API. We use the known pattern ({category}/{id}-{text}.html for products, {id}-{text} for categories) to generate the mapping, verified against the sitemap. |
| Google/Meta feeds | Reconnected with a Shopify feed app, with a custom identifier if you want to keep ad history. |
What can't move anywhere, and how we work around it
Four things have no direct technical path, no matter who does the migration.
Customer passwords
PrestaShop 1.6 encrypts passwords with MD5 and a site-wide key; 1.7 and later (8, 9) use bcrypt. Neither hash can be reversed. On new Shopify stores, customers sign in password-free, with a one-time code emailed at first login.
Old order dates
Shopify's API doesn't allow backdating an imported order's date. Old orders show up chronologically as "new" in the customer's account. We tag them invisibly so your new theme can treat them separately.
Google Ads history
The official Google & YouTube app generates a new product identifier. If active ads rely on the old one, a third-party app with a custom ID is the fix — an optional, separately priced add-on.
Installed modules
Each PrestaShop module (special discounts, pop-ups, loyalty programmes) is written for PrestaShop's architecture and doesn't "move." We identify the real function and rebuild it with an equivalent Shopify app or theme code.
The gotchas we check as standard
These are exactly where a generic migration gets it wrong.
- Version matters for passwords. 1.6 = MD5 with a site key; 1.7/8/9 = bcrypt. We check the exact version before explaining the process to customers, to avoid getting it wrong.
- Combinations with many attributes. If a product has combinations across 4 or more attributes (size, colour, material, model), it won't fit Shopify's 3-option limit directly — we simplify the structure with you, not automatically.
- No native blog or reviews. If these only existed through third-party modules, we check from the start what export each module actually offers — not all have a simple extraction path.
- No dedicated API for old URLs. We build the mapping from the known URL pattern and the sitemap, not from an "official" redirect export, because it doesn't exist.
- Shopify's free "Store Migration" app doesn't list PrestaShop. It only supports Square, WooCommerce, Etsy, Wix, Amazon, eBay, Clover and Lightspeed. PrestaShop still needs a dedicated tool or a third-party provider.
What it costs, and what moves the price
The price is quoted after we see your store.
- How many products and combinations you have, and how many exceed 3 attributes.
- How many custom modules need replacing with Shopify apps or theme code.
- How clean your current URL structure is.
- Whether you have reviews or a blog through third-party modules, which need case-by-case extraction.
As a reference, a new Shopify store build starts from €950 + VAT.
When migration isn't worth it
If your PrestaShop store runs well, the version is current, and real monthly cost (hosting, updates, modules) doesn't exceed a hosted platform plus a few apps, you don't have a technical reason to migrate. It makes sense once maintenance has grown too costly, or if you're still on PrestaShop 1.6, unsupported, with passwords on an old algorithm. A small catalog, without complex combinations or critical modules, can be moved by yourself with lower risk.
Questions about PrestaShop migration.
Can't find your answer? Message us on WhatsApp at +40 785 735 820.
How much does a PrestaShop to Shopify migration cost?
It's quoted after we review your store, because the price depends on how many products and combinations you have, how many custom modules need replacing, and how clean your current URL structure is. As a reference, a new Shopify store build starts from €950 + VAT.
Will I lose my Google rankings after migration?
The risk drops a lot when it's done properly. PrestaShop URLs follow a known pattern (category, ID and descriptive text); we use it to map every old address to the new one and set up permanent redirects.
Do product combinations (size, colour) move correctly?
Yes, via the combinations API resources, with their options and values. The real limit is on Shopify's side: a maximum of 3 option types per product. If you have combinations across more attributes than that, we simplify them with you before import.
What transfers and what doesn't?
Products with combinations and images transfer, along with categories, customers and order history. Passwords don't transfer (encrypted, differently depending on your PrestaShop version), and neither do installed modules: each feature gets rebuilt as a Shopify app or theme code.
Is my PrestaShop password MD5 or bcrypt? Does it matter?
PrestaShop 1.6 used MD5 with a site-wide key; 1.7 and later (8, 9) use bcrypt. Either way, Shopify can't import the hash directly — customers sign in password-free, with a one-time code emailed at first login on the new store.
How long does a PrestaShop migration take?
Usually two to six weeks, depending on the number of products and how many special modules need rebuilding. Your PrestaShop store stays live until launch day.
Why leave PrestaShop if it's working fine?
If it works and someone's maintaining updates and modules, you don't need to. People migrate because hosting, security patches and module maintenance end up costing more than a hosted platform subscription.
Send us your store's address.
We look at how many products you have, which modules you use and what your current URLs look like, then tell you what can move, what needs rebuilding and what it costs.