Skip to content

Platform profile

PrestaShop migration services: to or from PrestaShop

This page is for merchants running PrestaShop who are moving to a hosted platform, and for merchants moving onto PrestaShop for self-hosted control. In both directions the hard parts are the same: combinations, features and attributes, module data, and friendly URLs that usually carry numeric IDs. Prevedshop runs the project with a named lead who audits the source, maps the data, runs a trial migration and handles redirects and launch QA; tools help us compare and check, a person signs off production decisions.

PrestaShop migration overview: who moves to and from it

PrestaShop is self-hosted open-source ecommerce software built on PHP and MySQL, with a strong installed base in Spain, France, Poland and Czechia. We see two groups. Stores moving off PrestaShop are usually tired of running upgrades, hosting and module compatibility themselves, or want to consolidate on a hosted platform such as Shopify or, in Czechia and Slovakia, Shoptet. Stores moving onto PrestaShop usually want full ownership of code and data, multistore, or a platform local agencies know well.

There are also PrestaShop-to-PrestaShop projects: a 1.6 store that cannot be upgraded in place because of years of overrides and abandoned modules is effectively rebuilt on a current version. We treat that as a migration, with the same audit, mapping and trial run, not as a one-click upgrade.

When not to move: if the real problem is a slow theme, a single broken module or poor hosting, fixing that is cheaper than a replatform. The assessment should tell you which case you are in.

What moves when PrestaShop is the source or target

DataWhat happensNotes
Products and combinationsMigrates with transformationCombinations become variants when leaving PrestaShop and are rebuilt from attribute groups when moving onto it; the attribute-group count per product is checked against the target.
Features and attributesMigrates with transformationFeatures map to metafields, custom fields or filterable attributes, so each feature is assigned a target field in the mapping.
Category treeMigrates with transformationFlattened into collections or tags on platforms without a deep tree, rebuilt as a tree when PrestaShop is the target.
Images and mediaMigratesProduct and combination images are transferred and re-linked to the right variant; alt text is kept where it exists.
Customers and addressesMigratesCustomer accounts, groups and addresses move; customer-group logic is re-created on the target.
Customer passwordsDecided in the assessmentHashes depend on PrestaShop version and cookie key; a hosted target needs a password reset, a self-hosted target may accept them with custom work.
Order historyMigrates with transformationOrders are mapped to the target's order states and carriers so history stays readable; they are imported as historical records, not re-processed.
Specific prices and cart rulesRebuilt on the targetCatalog price rules, specific prices and cart rules are re-created as discounts, price lists or customer-group pricing.
CMS pages and blogMigratesCMS pages move as pages; blog posts from a blog module are exported from that module's tables.
URLs and 301 redirectsMigrates with transformationID-based friendly URLs are mapped one by one to new URLs, per language, with 301 redirects on the target.
SEO metadataMigratesMeta titles, descriptions and rewrite slugs move per language where the target has an equivalent field.
Module dataDecided in the assessmentEach module is checked for what it stores; data is exported, replaced by a target app or dropped with your agreement.
Theme and designRebuilt on the targetPrestaShop themes do not transfer to other platforms, or between 1.6 and 1.7+; the storefront is rebuilt.
Languages and multistoreDecided in the assessmentLanguage versions and multistore shops are mapped to the target's markets, language settings or separate stores.

Migrating from PrestaShop: getting the data out

Because PrestaShop is self-hosted, we can normally read the MySQL database directly, which is more complete than the CSV export in the back office or the webservice API. That matters because the useful data is spread across many tables: product, product_attribute for combinations, feature_product for features, specific_price for customer-group and quantity pricing, per-language tables for translated text, and _shop tables when multistore is active.

The pitfalls we look for first are overrides and custom modules that write their own tables or add columns to core tables, combinations that exist in the database but are disabled or have no stock, images stored per combination, and specific prices that no longer apply. Order history is readable, but order states, carriers and payment modules are store-specific, so orders are mapped rather than copied. Customer password hashes depend on the PrestaShop version and the cookie key, and a hosted target will not accept them.

Migrating to PrestaShop: how data goes in and what its model expects

Going into PrestaShop we load data through the CSV import for simple catalogs or through scripted imports and the webservice API for anything with combinations, multiple languages or customer history. The target model expects attribute groups and values to exist before combinations are created, features to be defined as reusable feature values, and every product to have a default category in the category tree.

The design decision to make early is what becomes a combination and what becomes a feature. Size and colour that affect stock and price are combinations; material or care instructions are usually features. Getting that wrong produces combinations nobody can filter or features nobody can buy. If you run several shops, multistore settings decide which products, prices and translations are shared, and that has to be designed before import, not fixed afterwards.

What usually needs transformation

Most PrestaShop migrations need the same transformations in one direction or the other. Combinations become variants on platforms with option-based models, and PrestaShop allows more attribute groups per product than some targets accept, so we check the maximum per product before promising a one-to-one mapping. Features become metafields, custom fields or filterable attributes, depending on the target.

The category tree is flattened into collections on Shopify, or rebuilt as a tree on platforms that have one. Specific prices and catalog price rules rarely have a direct equivalent and usually become customer-group pricing, price lists or discounts. Multi-language text is split per language and checked for missing translations. Text fields with inline HTML, module shortcodes or absolute image URLs are cleaned so they render on the new theme.

PrestaShop modules, themes and integrations

A working PrestaShop store depends on modules for payments, carriers, invoicing, feeds, reviews, loyalty, blogs and ERP connections. Module data does not move by itself. Leaving PrestaShop, we list every active module, check what it stores and decide per module whether its data is exported, replaced by a target app or dropped with your agreement. Moving onto PrestaShop, we pick modules from PrestaShop Addons or plan custom development and load their data after the core import.

Themes do not transfer between platforms, and PrestaShop 1.6 and 1.7+ themes are not compatible with each other either, so the storefront is rebuilt. Checkout, payment gateways, shipping and tax configuration are rebuilt on the target and tested with real test orders. Integrations with ERP, accounting and marketplaces are reconnected and checked against live data before launch.

SEO and URL structure on PrestaShop

PrestaShop friendly URLs are configured under Shop Parameters > Traffic & SEO > SEO & URLs, and the default routes include the numeric ID of the product, category or CMS page. Combinations can also produce their own URLs with attribute fragments. When you leave PrestaShop, those ID-based paths cannot be reproduced on most targets, so every indexed URL needs a 301 to its new equivalent. Stores that never enabled friendly URLs have index.php?id_product= style URLs, which need query-string-aware redirects.

We crawl the live store before migration, pull top landing pages from Search Console and analytics, build the redirect map per language, and crawl again after launch to catch 404s and redirect chains. Moving onto PrestaShop, we configure routes and language prefixes before import so the new URLs are stable. We do not promise rankings; we make sure no indexed URL is left without a destination.

Limitations and edge cases

Customer passwords rarely survive a move to a hosted platform; customers set a new password through an account activation or reset email. Saved payment methods stay with the payment provider and are not migrated silently. Module-specific data such as loyalty points, gift cards or wishlist items may have no import path on the target and is scoped case by case.

Old 1.6 stores often carry data inconsistencies: orphaned combinations, duplicate references, products in deleted categories. We report these during the audit and fix them in mapping, not after launch. Very large multistore installations with different catalogs per shop may need to be split into separate target stores, which changes the URL and SEO plan.

How Prevedshop runs a PrestaShop migration

The project starts with an audit: PrestaShop version, modules and overrides, catalog shape, multistore and languages, URL settings, integrations. From that we write the data mapping and agree on it with you. We then run a trial migration into the target, and you review products, customers, orders and URLs on a staging store before anything goes live.

After sign-off we agree a short content freeze, run the final migration plus a delta migration of new orders and customers, switch DNS, activate redirects and run post-launch QA: test orders, redirect checks, Search Console monitoring and a check of integrations. One named lead owns the whole sequence and is the person you talk to.

PrestaShop migration pricing

PrestaShop migrations start from €1,490 for straightforward stores. Established stores with SEO, historical orders and integrations typically require a Managed Migration scope, from €4,900.

Frequently asked questions

What drives the cost of a PrestaShop migration?

Mostly complexity rather than product count: the number of combinations and attribute groups, languages and shops in multistore, custom modules and overrides, the amount of order history you want kept, and integrations that must be reconnected. We price after the audit, once those are known.

Can we upgrade PrestaShop 1.6 to a current version instead of changing platform?

Sometimes. If the store has few overrides and its modules have current versions, an upgrade can be the cheaper path. If it has years of custom code, a fresh install with a data migration is usually safer, and at that point it is worth comparing it with a hosted platform.

Will our customers have to reset their passwords?

If the target is a hosted platform such as Shopify or Shoptet, yes: customers activate their account or set a new password by email. For a self-hosted target it may be possible to keep hashes; we confirm that in the trial migration.

How long is the store offline during the switch?

The store stays live while we build and test on staging. At launch we ask for a short freeze on catalog edits, then migrate the delta of new orders and customers before switching DNS. The freeze length depends on data volume and is agreed in advance.

How do you protect SEO when leaving PrestaShop?

We crawl the current store, map every indexed product, category and CMS URL to its new address per language, set up 301 redirects and re-crawl after launch. Rankings cannot be guaranteed, but no indexed URL is left without a destination.

Prevedshop.com

Moving your store? Let’s find out what needs to come with you.

Tell us where the store is now and where it is going. We’ll come back with the useful questions—not a generic sales pitch.

Check your migration