Salt la conținut

OpenCart to WooCommerce Migration: Complete Guide with Steps, Risks and Costs

OpenCart was a popular choice in Romania between 2012 and 2018, and Gomag built a local SaaS platform on its foundation. In 2026, both options pose serious problems: a declining community, incompatible extensions, and developers who are hard to find. OpenCart to WooCommerce migration means transitioning to an active ecosystem with thousands of developers, native integrations with Romanian couriers and invoicing services, and significantly lower monthly costs.

This guide covers the entire process - from MySQL export to 301 redirects - including the special Gomag case. The figures reflect real migration projects completed by Creative Side in 2025-2026.

Why migrate from OpenCart to WooCommerce

OpenCart has become functional abandonware - rare updates, a shrinking community, and a fragmented, incompatible extension ecosystem. Here are the concrete reasons why entrepreneurs in Romania are making the transition.

OpenCart: structural problems

  • Rare updates and breaking changes - OpenCart 4.x introduced a major rewrite incompatible with 3.x modules; many extensions were never ported
  • Declining community - the official forum has minimal activity, and the documentation is incomplete and outdated
  • Expensive and poorly documented extensions - the OpenCart marketplace contains modules priced at 50-200 USD each, with no guarantee of compatibility between them or with your OpenCart version
  • vQmod / OCmod - a fragile system - code modifications through XML overlays break with every update and are a nightmare to debug
  • Developers hard to find - in Romania, the number of freelancers or agencies actively working with OpenCart has drastically decreased; WordPress has 20 times more available developers

Gomag: Romanian vendor lock-in

Gomag is a Romanian SaaS platform built on OpenCart. It offers quick setup and support in Romanian, but comes with significant limitations:

  • Monthly subscription of 300-800+ lei (depending on the plan and features)
  • No access to source code - you cannot install custom extensions or modify business logic
  • Limited customization - you are restricted to the features available in the Gomag dashboard
  • Your data is on their servers - if you leave, you depend on whatever export format they provide

WooCommerce: a thriving ecosystem

  • Open source code - you can modify it, move it, audit it
  • Over 6,000 extensions on WordPress.org, plus thousands on premium marketplaces
  • Native integrations with Romanian couriers (FAN Courier, Sameday, Cargus, DPD) and invoicing (SmartBill, Oblio)
  • Thousands of WordPress developers available in Romania
  • Zero transaction commissions - you only pay the payment processor (Stripe 1.5% + 0.25 EUR or Netopia 1.5-2.5%)

Monthly cost comparison

Component OpenCart self-hosted Gomag SaaS WooCommerce
Platform 0 lei (open source) 300-800+ lei/month 0 lei (open source)
Hosting 30-100 lei Included 30-100 lei
Essential extensions 200-800 lei/year Included (limited) 0-500 lei/year
Developer availability Hard to find, expensive Not needed (but no access either) Easy to find, competitive
Annual total 1,500-3,000 lei 3,600-9,600+ lei 500-1,700 lei

The difference compared to Gomag: 3,000-8,000 lei per year - money spent on a subscription without gaining any control over the code.

What transfers and what doesn't

Commercial data transfers completely; platform code does not. Here is exactly what you keep and what you rebuild.

What transfers

  • Products - title, description, price, SKU, stock, weight, images, variants
  • Categories - the tree structure, with subcategories across multiple levels
  • Customers - name, email, address, phone; passwords do NOT transfer (OpenCart uses a different hash than WordPress - customers must reset their password)
  • Orders - complete history: products, amounts, statuses, dates, addresses
  • Product reviews - text, rating, author, date
  • CMS pages (Information pages) - About Us, Contact, Terms, etc.
  • Blog posts - if you have the blog module active
  • Manufacturers - can be mapped as an attribute or taxonomy in WooCommerce
  • Coupons - active codes with basic conditions

What does NOT transfer

  • OpenCart theme - Twig/TPL templates do not work in WordPress; a new design is built from scratch
  • Extensions and modules - each module must be replaced with a WordPress/WooCommerce equivalent
  • vQmod / OCmod modifications - XML overlays are completely discarded; custom functionalities are reimplemented
  • Layouts - the module-layout association has no direct equivalent
  • SEO URLs - rebuilt entirely (with 301 redirects from the old ones)
  • Third-party integrations - each integration (couriers, invoicing, payments) is reconfigured natively in WooCommerce

Step-by-step migration process

The migration is completed in 8 steps, with the old site remaining live until the new one goes live - zero downtime for customers.

Step 1: OpenCart store audit (1 day)

Thoroughly document the current state:

  • Number of products - simple, variable, with options, grouped
  • Active extensions - list each module and its WooCommerce equivalent
  • Customizations - vQmod/OCmod, core file modifications, custom templates
  • Indexed URLs - export from Google Search Console or scan with Screaming Frog
  • Backlinks - check which pages have external links (Ahrefs, Search Console)
  • Organic traffic - which pages drive traffic from Google (Search Console > Performance)

This audit becomes the post-migration verification checklist.

Step 2: Complete WooCommerce setup (1-2 days)

Configure the new environment before migrating data:

  1. Install WordPress + WooCommerce on new hosting (or a temporary subdomain)
  2. Activate HPOS (High-Performance Order Storage) - standard since WooCommerce 9.x
  3. Configure the theme - new design adapted to your brand
  4. Install essential plugins: RankMath (SEO), WP Rocket (cache), courier and invoicing plugins
  5. Configure the category structure and attributes (filters)
  6. Configure payments: Stripe, Netopia, cash on delivery

Step 3: Export data from OpenCart (a few hours)

The export is performed directly from the MySQL database - the main tables:

  • oc_product + oc_product_description - products with titles and descriptions
  • oc_product_option + oc_product_option_value - product options
  • oc_product_image - additional images
  • oc_category + oc_category_description - categories
  • oc_customer + oc_address - customers with addresses
  • oc_order + oc_order_product - orders with details
  • oc_review - reviews
  • oc_seo_url (OC 3.x) or oc_url_alias (OC 2.x) - SEO URLs (needed for redirects)
-- Export products with SEO URLs (OpenCart 3.x)
SELECT p.product_id, pd.name, pd.description, p.price, p.sku,
       p.quantity, p.image, su.keyword AS seo_url
FROM oc_product p
JOIN oc_product_description pd ON p.product_id = pd.product_id
LEFT JOIN oc_seo_url su ON su.query = CONCAT('product_id=', p.product_id)
WHERE pd.language_id = 1 AND p.status = 1;

Step 4: Transform and import into WooCommerce (1-3 days)

We use WP All Import Pro with field-by-field mapping or a custom PHP script - NOT Cart2Cart (excessive costs, limited control, frequent errors with Romanian OpenCart stores using diacritics and RON currency).

  1. Transform the MySQL export into a structured CSV for WP All Import
  2. Map the fields: nameProduct name, descriptionDescription, priceRegular price, skuSKU
  3. Import categories first, then products with category references
  4. Import variations (see the Specific Issues section below)
  5. Import customers with a dedicated plugin (Customer Import Export)
  6. Import orders for historical records

Post-import verification: count the products, categories, and customers - the numbers must match the audit.

Step 5: Import images from /image/catalog/ (a few hours)

OpenCart images are stored in /image/catalog/ with arbitrary subdirectories. The process:

  1. Download the entire /image/catalog/ directory from the OpenCart server
  2. WP All Import downloads and re-uploads the images to the WordPress Media Library based on the URL from the CSV
  3. Manually verify that main images and galleries are correctly attached to products
  4. Automatic compression with ShortPixel or Imagify

Step 6: Configure integrations

Step 7: 301 redirects (dedicated section below)

Build the complete redirect map - details in the following section.

Step 8: Testing + go-live (1-2 days)

  1. Test the checkout end-to-end (card, cash on delivery)
  2. Verify automatic invoicing
  3. Verify AWB generation
  4. Test on mobile
  5. Switch DNS
  6. Submit the new sitemap in Google Search Console
  7. Monitor crawl errors for 14 days

301 redirects - critical URL structure differences

The URL structures between OpenCart, Gomag, and WooCommerce are fundamentally different - without correct 301 redirects, you lose all the organic traffic you have accumulated.

URL mapping

Page type OpenCart default OpenCart SEO URL Gomag WooCommerce
Product index.php?route=product/product&product_id=123 /product-slug /category/product-slug or /product-slug.html /produs/product-slug/
Category index.php?route=product/category&category_id=20 /category-slug /category-slug /categorie-produs/category-slug/
CMS page index.php?route=information/information&information_id=4 /about-us /about-us /about-us/
Blog index.php?route=blog/article&blog_id=1 /article-title /blog/article-title /blog/article-title/
Manufacturer index.php?route=product/manufacturer/info&manufacturer_id=5 /brand-slug N/A attribute or custom page
Customer account index.php?route=account/login /login /cont /contul-meu/

SEO URLs from the OpenCart database

OpenCart stores SEO URLs in:

  • OpenCart 2.x - the oc_url_alias table (columns query and keyword)
  • OpenCart 3.x - the oc_seo_url table (columns query, keyword, store_id, language_id)

Export these tables before shutting down the old server - they are essential for building the redirects.

.htaccess implementation

apache
# OpenCart SEO URLs → WooCommerce redirects
# Products (OpenCart flat URLs → WooCommerce with /produs/ prefix)
RewriteRule ^tricou-alb$ /produs/tricou-alb/ [R=301,L]

# Categories
RewriteRule ^incaltaminte$ /categorie-produs/incaltaminte/ [R=301,L]

# OpenCart default URLs with parameters
RewriteCond %{QUERY_STRING} route=product/product&product_id=123
RewriteRule ^index.php$ /produs/tricou-alb/? [R=301,L]

# Gomag .html URLs
RewriteRule ^(.+).html$ /produs/$1/ [R=301,L]

# Information pages
RewriteRule ^about_us$ /despre-noi/ [R=301,L]
RewriteRule ^terms$ /termeni-si-conditii/ [R=301,L]

For stores with hundreds of products, we generate a complete .htaccess file from the oc_seo_url table export mapped to the new WooCommerce slugs - this is never done manually, it is generated with a script.

Gomag warning: URL structures are proprietary and can differ from plan to plan. Document every URL before migrating - you will no longer have access to the dashboard after canceling your subscription.

OpenCart migration-specific issues

Every OpenCart migration has pitfalls that do not appear in documentation - we have encountered them in real projects.

Options vs. Variations - complex mapping

OpenCart uses "Options" (select, radio, checkbox, text, file) attached directly to the product. WooCommerce uses "Attributes" + "Variations" - a fundamentally different system. An OpenCart product with a "Size" option (S, M, L) with different prices must be transformed into a WooCommerce variable product with 3 variations, each with its own price, SKU, and stock. The conversion is not 1:1 and requires a custom script or manual mapping for the first 10-20 complex products.

Images in a chaotic structure

OpenCart stores images in /image/catalog/ with subdirectories created arbitrarily by the user: /image/catalog/produse/2019/vara/, /image/catalog/nou/, /image/catalog/Demo/. There is no standard convention. During import, you must verify that each product has the correct image - not just that the file exists, but that it is correctly associated.

Multi-store to single WooCommerce

OpenCart natively supports multi-store from a single installation. WooCommerce does not. Options: (1) a single WooCommerce instance with all products, (2) separate WordPress installations, (3) WPML + WooCommerce Multilingual for multilingual stores. The decision depends on the reason behind the original multi-store setup.

Multiple currencies with per-currency pricing

OpenCart allows setting a different price per currency per product. WooCommerce stores a single base price and converts automatically. If you have manual per-currency prices, you need an additional plugin (Currency Switcher for WooCommerce) or you lose the non-RON prices.

Courier and invoicing integrations without direct equivalents

OpenCart modules for Romanian couriers (FAN, Cargus) have not been maintained up to date. The good news: the WooCommerce equivalents are superior - official plugins, regularly updated, with AWB generation from the dashboard.

We migrate your store from OpenCart/Gomag to WooCommerce - products, customers, orders, 301 redirects, with zero SEO loss. Request an estimate with timeline and exact pricing

The special Gomag case

Gomag deserves a separate section - it is the most widespread e-commerce SaaS platform in Romania and has its own migration particularities.

What is Gomag

A Romanian SaaS platform built on OpenCart, with a translated interface, pre-configured local integrations (couriers, invoicing, Romanian payment processors), and support in Romanian. It is an all-in-one solution: hosting included, SSL, automatic updates.

Why migrate from Gomag

  • High monthly cost - 300-800+ lei/month, depending on the plan and features. Over 12 months: 3,600-9,600+ lei
  • No access to source code - you cannot install custom extensions or deeply modify templates
  • Limited customization - new features depend on Gomag's roadmap, not your needs
  • Vendor lock-in - if you leave, you lose dashboard access; data comes only in the available export formats
  • No third-party extensions - you cannot add functionality that is not in the Gomag ecosystem

Exporting data from Gomag

The critical difference from self-hosted OpenCart: you do not have access to the MySQL database. Export options:

  1. CSV export from the Gomag dashboard - products, customers, orders (proprietary format, requires transformation)
  2. Gomag API - if your plan includes API access (higher-tier plans)
  3. Scraping - last resort, impractical for large stores

Important: Export everything before canceling your subscription. After cancellation, you lose access to your data.

DNS and Gomag cooperation

Your domain's DNS may be managed by Gomag. During migration:

  1. Verify who controls the DNS (the domain registrar, not Gomag)
  2. If DNS is with Gomag, transfer it to your registrar first
  3. Only then switch DNS to the new hosting

Gomag has no obligation to keep the site active after cancellation - plan everything before announcing your departure.

Cost of migrating from Gomag

Identical to migrating from self-hosted OpenCart: starting from 4,500 lei (VAT inclusive - Creative Side is a non-VAT-registered company). The complexity of CSV export is offset by simpler data access compared to an old OpenCart installation with custom modules.

Real costs

Prices include VAT. Creative Side is a non-VAT-registered company - the displayed price is the final price.

Scenario comparison

Scenario Cost Timeline What's included
DIY (do it yourself) 1,000-3,000 lei 3-6 weeks (part-time) Hosting, theme, WP All Import Pro, plugins, your own time
Professional (under 1,000 products) starting from 4,500 lei 1-2 weeks Audit, complete setup, data migration, standard integrations, 301 redirects, testing
Complex (thousands of products, custom) 6,000-12,000 lei 2-4 weeks Everything in the professional tier + custom design, multi-store, ERP integrations, complex variation mapping

ROI: migrating from Gomag vs. monthly costs

Gomag (12 months) WooCommerce (12 months)
Platform subscription 3,600-9,600 lei 0 lei
Hosting Included 600-1,200 lei
Migration (one-time) 0 lei 4,500 lei
Premium plugins 0 lei (included) 300-800 lei
Year 1 total 3,600-9,600 lei 5,400-6,500 lei
Year 2 total 7,200-19,200 lei 900-2,000 lei

From year 2 onward, you save 3,000-8,000 lei annually. With a Gomag plan at 600 lei/month, the migration investment pays for itself in under 8 months.

Want to understand the full costs of a new online store? Read how much a website costs in 2026.

Post-migration checklist

Do not declare the migration complete until you check off every item:

  • Products imported with correct prices (verify 20 random products)
  • Images functional on all products (not broken, not missing)
  • Variations mapped correctly - each combination has its own price, SKU, and stock
  • Couriers configured and AWB generates from the dashboard - courier integration guide
  • Automatic invoicing functional - invoicing automation guide
  • 301 redirects tested (at least 20 random URLs from the old site)
  • Google Search Console: new sitemap submitted, daily error monitoring
  • Customers notified via email to reset their password (frame it as an upgrade, not an inconvenience)
  • Checkout tested end-to-end: card (Stripe), Netopia, cash on delivery - on mobile and desktop
  • Core Web Vitals green: LCP under 2.5s, INP under 200ms, CLS under 0.1
  • Technical SEO verified: Product schema validated, meta titles configured
  • Legal pages updated: Terms, Privacy, Cookies, Returns

Frequently asked questions about OpenCart to WooCommerce migration

How long does a complete OpenCart to WooCommerce migration take?

A standard store (under 1,000 products, standard integrations) is fully migrated in 1-3 weeks. Complexity increases with the number of variations, OpenCart customizations, and non-standard integrations. The most common bottleneck: mapping OpenCart options to WooCommerce variations and building the 301 redirect map.

Will I lose my Google rankings if I migrate from OpenCart?

No, if you implement correct 301 redirects from every old OpenCart URL to its WooCommerce equivalent. A temporary 10-30% drop in organic traffic is normal in the first 2 weeks - Google re-crawls and re-evaluates the new URLs. Within 4-6 weeks, traffic stabilizes. Without redirects, you lose 70-90% of organic traffic. Redirects are non-negotiable.

Can I do the OpenCart migration myself, without a developer?

You can, if you have intermediate-to-advanced technical knowledge, access to the OpenCart MySQL database, and experience with WP All Import. The difficult parts: mapping options to variations, building 301 redirects from oc_seo_url, and configuring integrations (couriers, invoicing, payments). Estimate 3-6 weeks part-time. If your store generates revenue from organic traffic, the redirect risk justifies a professional migration.

What happens with existing customers?

Customers are imported completely: name, email, address, phone, order history. Passwords do not transfer - OpenCart uses a different hash than WordPress (bcrypt vs. phpass). All customers must reset their password on first login. Send a mass email before go-live explaining the migration and including a direct password reset link.

Is migrating from Gomag different from migrating from self-hosted OpenCart?

Yes, primarily in terms of data access. With self-hosted OpenCart, you have direct access to the MySQL database - the export is complete and granular. With Gomag, you depend on the CSV export from the dashboard or the API (if your plan includes it). The data comes in Gomag's proprietary format and requires additional transformation. The migration cost is similar (starting from 4,500 lei), but the export process requires more planning and Gomag's cooperation for DNS.

Is migration worth it if I have fewer than 100 products?

It depends on your monthly costs. If you are on Gomag and paying 400+ lei/month, you save approximately 4,000 lei/year - the 4,500 lei migration pays for itself in about 13 months. If you are on self-hosted OpenCart with affordable hosting and the store runs smoothly, the motivation is more technical: access to the WordPress ecosystem, modern integrations, and easier future development. For stores with fewer than 50 products on stable OpenCart, migration is only justified if you need features that OpenCart cannot provide.

Next step

Migrating from OpenCart or Gomag to WooCommerce is not a cosmetic decision - it is an investment in technological independence, lower monthly costs, and access to an active ecosystem. Plan the migration during your lowest-traffic period, export all data completely before shutting down the old server, and test every 301 redirect.

If you are migrating from Shopify instead of OpenCart, we have a dedicated guide: Shopify to WooCommerce Migration.

If you want a risk-free migration - with complete data preservation, intact SEO, and integrations working from day one:

We migrate your store from OpenCart/Gomag to WooCommerce - products, customers, orders, 301 redirects, zero SEO loss

Postări conexe

Blog

Ultimele Articole

Programeaza o Discutie

Audit Gratuit

Cere Oferta