Why stores move from PrestaShop to Shopify, and when they should not
The usual trigger is operational load. PrestaShop is self-hosted open source, so your team owns hosting, PHP compatibility, security patching, core upgrades and the module stack. Shopify takes hosting, platform security and checkout PCI scope off your plate, and most of what modules did is replaced by apps.
It is not the right move for every PrestaShop store. If you depend on deep checkout customisation, pricing logic in overrides, or very different multistore shops, Shopify can still work, but cost moves into apps, custom apps or Shopify Plus. Sometimes a PrestaShop upgrade or clean-up is the better decision.
What moves from PrestaShop to Shopify
| Data | What happens | Notes |
|---|---|---|
| Products and combinations | Migrates with transformation | Combinations become variants with SKUs, EANs and absolute prices; products with more than three attribute groups are restructured. |
| Features and custom attributes | Migrates with transformation | Feature values move to typed metafields or metaobjects so they can drive filters and theme blocks. |
| Categories and default category | Migrates with transformation | The nested tree is rebuilt as manual or automated collections plus menus; the default category can be kept as a metafield. |
| Product images | Migrates | Images move with alt text and are linked to the right variant where combinations had their own images. |
| Packs, virtual products and customization fields | Decided in the assessment | These depend on a bundle, digital-delivery or product-options app chosen during the audit. |
| Customers and addresses | Migrates | Accounts, addresses and consent move; customer groups become tags or segments. |
| Customer passwords | Cannot be migrated | Shopify cannot import password hashes, so customers set a new password through an account invitation. |
| Order history | Migrates | Orders import as historical records linked to customers, with PrestaShop order states mapped. |
| Product comments and reviews | Migrates with transformation | Reviews from the product comments module or a review module are exported and imported into a Shopify review app. |
| CMS pages and blog | Migrates | CMS pages become Shopify pages; blog posts from a blog module move into Shopify blogs with internal links updated. |
| Friendly URLs and 301 redirects | Migrates with transformation | ID-based and language-prefixed PrestaShop URLs are mapped one by one to Shopify paths and loaded as URL redirects. |
| Meta titles and descriptions | Migrates | Per-language meta fields move to Shopify SEO fields and translations. |
| Cart rules, vouchers and specific prices | Rebuilt on the target | Rules are recreated as Shopify discounts or app logic; one-off codes are imported where the discount type allows it. |
| Module data (loyalty, wishlists, feeds) | Decided in the assessment | Each module's tables are reviewed and moved only when the replacement app can accept the data. |
| Theme and design | Rebuilt on the target | Smarty templates do not convert; the storefront is built on a Shopify Liquid theme. |
| Checkout, payments, carriers and taxes | Rebuilt on the target | Payment providers, shipping zones and tax settings are configured fresh; stored payment tokens do not move. |
| Multistore and translations | Decided in the assessment | Shops map to Shopify Markets or separate stores depending on how they differ; translations import per language. |
Combinations, features and attributes: mapping the PrestaShop catalog
PrestaShop builds variants from attribute groups (size, colour, material) into combinations, each with its own reference, EAN, price impact, weight impact and stock. Shopify has products and variants with up to three option dimensions. Most combinations map directly: attribute groups become option names, combination references become variant SKUs, and price impacts are resolved into absolute variant prices. Products that use four or more attribute groups, or that use an attribute group for something that is not a real purchase choice, need a decision: split the product, merge option values, or move the dimension into metafields.
PrestaShop features (the specification table: fabric, capacity, country of origin) are not variants. We map them to Shopify metafields, usually typed product metafields or metaobjects when values are shared across many products, so they can drive filters in Shopify Search & Discovery and render in the theme. Inconsistent feature values are normalised before import.
Packs become bundles, virtual products need a digital-delivery app, and customization fields become line-item properties handled by the theme or an app. Specific prices and customer-group prices do not have a single Shopify equivalent; depending on your plan they become compare-at prices, automatic discounts or B2B catalogs, and we mark them as items to assess.
Categories, the default category and Shopify collections
PrestaShop products sit in a nested category tree and can belong to several categories, with one default category that often appears in the product URL and breadcrumbs. Shopify has no category tree. It uses collections, manual or automated by rules, plus menus that you build to express hierarchy.
We rebuild the tree as collections deliberately: top-level and important sub-categories become collections with their own handles, descriptions and SEO fields, thin categories are merged with a redirect, and automated collections replace manual assignment where rules are clean. The default category is kept as a product metafield when it is needed for breadcrumbs or feeds, because Shopify product URLs do not carry a category.
Customers, passwords and order history
Customer accounts, addresses, newsletter consent and customer-group membership move to Shopify, with groups usually becoming customer tags or segments. Guest checkouts in PrestaShop are handled separately so they do not become duplicate accounts. Customer passwords cannot be imported into Shopify, whatever hashing your PrestaShop version uses. Customers set a new password through Shopify's account invitation or activation flow, and we plan the timing and wording of that message with you.
Order history is imported as historical orders linked to customers, with line items, totals, taxes, shipping and status mapped from PrestaShop order states. Imported orders are records for customer accounts and reporting; they do not re-trigger fulfilment, payments or emails. Credit slips and invoice numbering stay authoritative in your accounting system.
Friendly URLs with IDs, languages and 301 redirects
PrestaShop friendly URLs are configured under SEO & URLs, and by default they usually contain numeric IDs, for example a product route like /{category}/{id}-{rewrite}.html or a category route like /{id}-{rewrite}, with a language prefix such as /en/ or /de/ when several languages are active. Combination links may add a #/ fragment for the selected attributes; fragments never reach the server, so they redirect with their parent product URL.
Shopify uses fixed paths: /products/{handle}, /collections/{handle}, /pages/{handle} and /blogs/{blog}/{handle}. None of the ID-based patterns survive, so every relevant URL needs a mapped target. We crawl the live PrestaShop store, combine it with the sitemap, Search Console and analytics landing pages, and map each URL to its Shopify equivalent, including language versions, CMS pages, manufacturer pages and blog posts. Redirects are loaded as Shopify URL redirects, which only apply when the old path no longer resolves to a page, so they are tested against the migrated store before DNS changes. After launch we recrawl and watch Search Console for 404s. Redirects protect URL continuity; they do not guarantee rankings.
PrestaShop modules, integrations and the Shopify app stack
Every active module gets a decision during the audit: replaced by a Shopify native feature, replaced by an app, rebuilt as a custom app or theme code, or retired. Typical candidates: payment and carrier modules, product comments, layered navigation, loyalty, feed exporters, invoicing and ERP connectors. Module data such as reviews, loyalty balances or wishlists lives in the module's own tables, so it is extracted separately and imported into the chosen app where the app supports it.
The theme is rebuilt, not converted: PrestaShop Smarty templates have no path into Shopify Liquid themes. Checkout customisation on Shopify is limited, and on Plus it uses Checkout Extensibility and Shopify Functions. Taxes and shipping are reconfigured, and ERP, PIM and feed integrations are re-pointed to Shopify and tested before launch.
Multistore and multilingual PrestaShop shops
PrestaShop multistore lets one install run several shops, grouped so they may or may not share customers, orders and stock, with per-shop prices, content and themes. Multilingual shops keep translations per language for products, categories and CMS pages. Shopify has no multistore mode inside one store.
The options are Shopify Markets, which serves several countries, currencies and languages from one store with translated content and localized URLs, or separate Shopify stores, which suit genuinely separate brands, assortments or legal entities. We decide this from how your shops actually differ: shared catalog with regional prices points to Markets; different catalogs, teams or checkouts point to separate stores. Translations import per language, and hreflang is checked after launch.
How a PrestaShop to Shopify migration runs
Audit: we review your PrestaShop database, modules, overrides, languages, shops and URL generations, and list open decisions. Mapping: combinations, features, categories, customer groups, order states and URLs are mapped in a document you sign off. Trial migration: a full data run into a development Shopify store, followed by checks on counts, prices, variants, translations and redirects, with a list of differences for you to review.
After sign-off we agree a content freeze, run the final migration, then a delta migration for orders, customers and stock changes made since the trial. Launch covers DNS, redirects, app configuration and payment tests. Post-launch QA runs through key templates, search, checkout, emails, feeds and Search Console. Scripts and automated comparisons help check the data; a person approves every production decision.
Limitations to know before you commit
Customer passwords do not move. Some products will be restructured to fit three option dimensions. Customer-group pricing, complex cart rules and some module behaviour depend on apps or your Shopify plan. Invoice numbering, credit slips and payment tokens stay with PrestaShop, your accounting system or your payment provider. Search engines re-evaluate a site after a replatform, so we check what we can and do not promise traffic or positions.
PrestaShop to Shopify migration pricing
Straightforward PrestaShop to Shopify moves can start with Migration Essentials from €1,490. Established stores with SEO history, order history or integrations typically need a Managed Migration scope, from €4,900.
The migration assessment costs €290 and is credited in full if you proceed.
Frequently asked questions
Can Shopify handle our PrestaShop combinations?
Most combinations map directly to Shopify variants. The constraint is three option dimensions per product, so products built from four or more attribute groups, or groups that are really descriptive data, are restructured or moved to metafields. We list those products in the audit so you can decide before the trial migration.
What happens to our PrestaShop URLs with IDs in them?
They cannot be kept, because Shopify uses fixed /products/ and /collections/ paths. Each indexed URL, including language versions and older route patterns, is mapped to its Shopify target and loaded as a 301 redirect, then tested before and after launch.
Do customers need new passwords after moving to Shopify?
Yes. Shopify cannot import password hashes from PrestaShop. Accounts and order history move, and customers receive an invitation to set a new password. We help you time and word that message so it does not look like phishing.
What drives the cost and timeline of a PrestaShop to Shopify migration?
Mostly the number of languages and shops, how many products need restructuring, the number of modules to replace, custom data in module tables, integrations such as ERP or feeds, and the volume of URLs to map. Catalog size alone matters less than how clean the data is.
Will the store be offline during the switch?
The PrestaShop store keeps trading until DNS moves. We agree a short content freeze, run the final and delta migrations, and switch. Orders placed during the delta window are brought across before launch or reconciled right after, depending on the plan we agree.