Next-Cart

From complex modules to a seamless storefront: An advanced custom PrestaShop to WooCommerce migration

Every eCommerce migration has its own complexities, but some projects go far beyond standard data transfer. The case below is a perfect example of how modern online stores rely on custom modules and unique data structures that standard migration tools alone cannot handle.

PrestaShop
WooCommerce

When standard migration isn’t enough

Every eCommerce migration has its own complexities, but some projects go far beyond standard data transfer. The case below is a perfect example of how modern online stores rely on custom modules and unique data structures that standard migration tools alone cannot handle.

Igli Balliu, founder of FoxLio di Balliu Igli in Italy, approached Next-Cart with a specific request: to migrate his PrestaShop store to WooCommerce while preserving custom functionality embedded in third-party modules.

The project was not just a bout moving products, customers, and orders. It actually required rebuilding logic across platforms and plugins. The challenges came with selective data transfer, custom reward systems, product attachments, and platform limitations. Yet, by the end of the project, the migration was successfully completed, and the customer expressed strong satisfaction with the outcome.

Let’s walk through the full journey, from requirements and challenges to solutions and final results, and see how a tailored approach resolved one of the most complex migrations.

Understanding the project scope: Selective migration with deep customization

Typical migrations often transfer all data wholesale. Yet, this project required a more controlled and intentional approach.

  • Igli specifically requested that all data be migrated except for pages and blog posts. This selectivity required precise filtering to ensure no unnecessary data was carried over.

  • Additionally, the migration needed to support only the Italian language while the source store contained multilingual data. This meant isolating and extracting language-specific content.

  • Another important requirement was to fully wipe the target WooCommerce store before migration. This ensured a clean environment without potential conflicts with pre-existing data. This required careful orchestration to avoid residual data issues.

  • Beyond these foundational requirements, the real complexity lay in the custom data structures for the loyalty points system and product attachments. These were not native features of either platform, but were implemented through third-party modules and plugins, each with its own data schema and logic.

Rebuilding a loyalty system across platforms

One of the most demanding aspects of this migration was to transfer customer reward points. 

On the PrestaShop site, the customer used the “Loyalty, Referral and Affiliate Program (reward points)” module by ETS-Soft. On WooCommerce, it was handled by “YITH WooCommerce Points and Rewards.”

At first glance, this might seem a simple mapping exercise. However, the reward data in PrestaShop was split across multiple database tables - one stored earned points and another tracked redeemed points through vouchers. The migration tool needed to capture the full customer reward history.

During the initial migration, only the earned points were transferred. Without redeemed points, customer balances were incorrect. 

In addition, a scaling issue inflated the point values: what should have been 1,590 became 159,000.

To resolve this, the technical team implemented a system that aggregated earned points and deducted redeemed points to reconstruct each customer's true balance. At the same time, the scaling issue was corrected.

By fully restoring both the balance and the transaction logic, the migration ensured that the loyalty program continued to function on the new platform and that customer trust was preserved.  

Transforming product attachments into usable assets

Each product in the source store included up to four PDF documents. They were safety sheets and technical specifications. These files were managed through a PrestaShop module called “Product Custom Field Module” by Webkul.

The problem was that the original files were stored with hashed filenames (MD5), which were unreadable and impossible to associate directly with products in WooCommerce. Then, the customer renamed the files to meaningful formats and uploaded them to the appropriate directory in the WooCommerce environment.

Once the files were prepared, the team developed custom logic to link each attachment to its corresponding product. 

After that, the customer requested that each attachment be labeled clearly, for example, “Scheda tecnica” or “Safety data sheet.” This required mapping internal identifiers from the source module to human-readable labels.

The final result was a fully functional attachment system where each product displayed its correct documents, clear labels, and accessible links. Important product information remained available to customers without disruption.

In this step, the collaboration between the customer and the migration team is vital. The customer’s help in preparing attachment files contributes to the success of that component.

Fixing structural and data integrity issues

During the migration process, there were also several structural issues.

  • The first was the handling of brands.

Initially, brand data was imported as product attributes, but it did not meet the customer’s requirements. It needed to use a dedicated WooCommerce brand plugin for better organization and filtering.

The team then reworked the data structure and re-imported brand information in a format compatible with the chosen plugin. The issue was eventually resolved, aligning the data with the desired functionality.

  • The second was customer reviews.

Customer reviews were missing in the initial migration. Right after identifying the issue, the team included reviews in the second migration and restored this critical component.

  • The third was product data integrity.

Some product thumbnails were broken, and variation images were not switched correctly. This issue was traced back to incorrect image assignments. Reassigning images to the appropriate variations fully restored functionality.

Navigating platform limitations and finding workarounds

Not all challenges can be resolved through direct migration. Some were inherent limitations of the platforms.

  • Internal links within product descriptions

These links could not be automatically converted from PrestaShop URLs to WooCommerce URLs. Doing this could lead to a risky or incomplete transformation.

The team implemented a redirect solution, using a URL redirect plugin. Then, all old links were mapped to their new counterparts.

  • Discount rules

The source store used complex cart rules based on brands and countries. However, WooCommerce structures these discount systems differently, making it infeasible to replicate this logic.

An initial attempt to apply discounts at the product level resulted in incorrect behavior. Then, these rules were handled manually because of the small number of rules (around 41).

Resolving pricing and compatibility conflicts

Conflicts between sale prices and a discount plugin affected how product prices were displayed. Incorrect pricing was shown to customers.

The solution was to remove all sale prices and let the discount plugin handle the pricing logic entirely. This simplified the pricing structure and eliminated conflicts, ensuring consistent price display.

Password migration was another challenge. PrestaShop and WooCommerce use different encryption methods, making direct password transfer impossible. 

To address this, a compatibility plugin was installed, allowing customers to log in with their existing passwords. Users didn’t need to reset passwords, ensuring a smooth transition.

The final step: Re-migration for go-live accuracy

After resolving all major issues, the team implemented a full re-migration to synchronize live data. This phase involved orders, customers, and updated reward points.

The process began by clearing existing data from the WooCommerce store. Then, the migration was re-executed with all refined logic and fixes. Loyalty points were recalculated and applied accurately.

This step is crucial when there is a gap between initial testing and go-live, as in this case. This final sync ensured no recent transactions or customer data were lost.

The result was a fully operational WooCommerce store.

To conclude

This case study demonstrates that even the most complex migration can be handled with the right approach. The Next-Cart team combined technical expertise, flexible problem-solving, and close collaboration with the customer. The final WooCommerce store was fully functional, with all critical business logic preserved.

Every challenge was addressed with a tailored solution, from rebuilding a fragmented loyalty system to transforming unusable file structures. 

The final result created a stable, optimized foundation for future growth.

The customer’s feedback clearly reflects this outcome:

“Amazing experience. Great support. The Next-Cart team managed to fix all the incompatibility issues with my plugins in a very short time. I'm super satisfied and I will definitely use it again in the future if I need to."

Finally, the case underscores the value of a migration service that goes beyond automation to truly understand and adapt to the unique requirements of each store. As eCommerce systems continue to evolve and become more interconnected, a successful migration requires preserving the integrity of the entire business ecosystem.

Planning a Similar Migration?
Every migration comes with unique challenges. Let’s discuss how we can design a secure and efficient transition for your business.