OpenCart to Shopify migration Move your store without losing the URLs that already rank.
We pull products with their options, customers and orders, rebuild the extensions handling special features, and redirect every old SEO URL to its new address. Your OpenCart store stays live until launch day.
What does an OpenCart to Shopify migration involve?
It means pulling data out of OpenCart — the native API is limited to cart and orders, so the catalog (products, categories) comes from a paid extension, the native export, or directly from the database — and writing it into Shopify, with automated verification at the end. Product options get mapped onto Shopify's system, capped at 3 types. If SEO URLs were enabled, addresses come from the store's alias table, not the default index.php?route=... ones; we use those exact addresses for redirects, not a guessed pattern. Installed extensions get rebuilt as Shopify apps. It's quoted after a store review, usually takes 2–6 weeks, and your OpenCart store stays live until cutover.
What we move from OpenCart, and how
OpenCart doesn't have a full catalog API, so the source varies more than with other platforms.
| What we move | How, technically |
|---|---|
| Products | Via the Export/Import Tool extension (XLSX, no orders) or directly from the database, because the native API doesn't cover the catalog. |
| Options | Product options (size, colour) get mapped onto Shopify's option system, capped at 3 types. |
| Images | Image addresses from the export or database are downloaded and re-uploaded straight to Shopify. |
| Specs | Product attributes become Shopify metafields, with real labels. |
| Categories | Become Shopify collections; multi-level structure gets rebuilt through the navigation menu. |
| Brands | If brand is a manufacturer attribute, it becomes a metafield or a collection filter. |
| Customers | Pulled from export or database. Passwords can't be moved — see below. |
| Order history | The native API covers cart and orders; recreated as history, without touching current stock. |
| Pages | Pulled from installed content modules or the database, with images re-hosted. |
| Blog | OpenCart has no native blog; if you have a blog extension, articles get pulled from its tables. |
| Reviews | Pulled from the database (native reviews module), imported into a dedicated Shopify reviews app. |
| Coupons | Coupon rules get recreated as Shopify discounts; very complex ones get simplified. |
| Redirects | If SEO URLs are enabled, addresses come from the alias table (oc_seo_url in 3.x), mapping an internal route (product/product, an ID) to a friendly keyword; without it, addresses are index.php?route=product/product&product_id=N. |
| 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
Three things have no direct technical path.
Customer passwords
OpenCart 3.x encrypts passwords with salted SHA-1 (a pattern flagged as weak by the OpenCart project itself); OpenCart 4.x moved to a modern hash. Either way, Shopify can't import the hash directly — customers sign in password-free, with a one-time code 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.
Installed extensions
Each OpenCart extension is written for its own 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.
- No catalog API. Unlike Magento, WooCommerce or PrestaShop, OpenCart has no full REST API for products and categories — we check from the start what real access you have (paid extension, native export or database).
- Password versions differ drastically. Salted SHA-1 on OC3 (flagged as vulnerable by the OpenCart team itself), a modern hash on OC4. We check the version to explain the process correctly to customers.
- URLs depend on whether SEO is enabled. Without SEO URLs, addresses are full of parameters (
index.php?route=...) — hard to redirect "cleanly"; we verify the actual state before promising a pattern. - Native export doesn't include orders. The admin's export/import tool skips orders — those come from the native API or the database.
- Shopify's free "Store Migration" app doesn't list OpenCart. It only supports Square, WooCommerce, Etsy, Wix, Amazon, eBay, Clover and Lightspeed.
What it costs, and what moves the price
The price is quoted after we see your store.
- What real access you have to the catalog — paid extension, native export or database — directly affects the extraction effort.
- How many products and options you have.
- Whether SEO URLs are enabled or addresses still carry parameters.
- How many custom extensions need replacing with Shopify apps.
As a reference, a new Shopify store build starts from €950 + VAT.
When migration isn't worth it
If your OpenCart store runs well, someone's maintaining the server and extensions, and real monthly cost doesn't exceed a hosted platform plus a few apps, you don't have a technical reason to migrate. It makes sense once maintenance costs more than a Shopify subscription, or if you're still on OpenCart 3.x, with passwords on a vulnerable algorithm and no modern catalog API.
Questions about OpenCart migration.
Can't find your answer? Message us on WhatsApp at +40 785 735 820.
How much does an OpenCart to Shopify migration cost?
It's quoted after we review your store, because the price depends on how many products and options you have, how many custom extensions need replacing, and how clean your current SEO URLs are. 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. If you enabled SEO URLs in OpenCart, addresses come from the alias table (not from index.php?route=...); we map those exact addresses to the new ones and set permanent redirects for each.
Does OpenCart have a full catalog API?
No. The native API is limited to cart and orders; the catalog (products, categories) is pulled via paid extensions, the native export (which excludes orders) or directly from the database. We check what you actually have access to before quoting.
What transfers and what doesn't?
Products with options and images transfer, along with categories, customers and order history. Passwords (encrypted differently on OC3 vs OC4) don't transfer — customers get password-free sign-in on the new store. Installed extensions get rebuilt as Shopify apps.
How long does an OpenCart migration take?
Usually two to six weeks, depending on the number of products and how many special extensions need rebuilding. Your OpenCart store stays live until launch day.
Why leave OpenCart if it's working fine?
If it works and someone's maintaining the server and extensions, you don't need to. People migrate because hosting, security patches and every small change end up costing more than a hosted platform.
Send us your store's address.
We look at how many products you have, which extensions you use and what your current URLs look like, then tell you what can move, what needs rebuilding and what it costs.