Publishing · Large catalog · Migration

Magento for 250,000 active products.

New UX and visual design, migration from a custom platform and data cleanup - with ERP integration and performance optimization.

Active catalog

250,000

active products after data cleanup

Approximate size.

Magento 2 Hyvä ERP

Project Facts

Client
PWN
Industry
Publishing
Platform
Magento 2
Frontend
Hyvä Themes
Checkout
React Checkout
Integrations
ERP · E-book reader · SEO
Sales
B2C · Institutional sales

About the project

Scale starts with data.

The client wanted to replace a custom store platform developed over many years with a solution that would make e-commerce development easier and less expensive.

We started with a series of workshops: collecting scattered information about the existing solution, reconstructing how its features worked and jointly deciding how they should work in Magento. We advised where to use the platform’s standard capabilities and where adaptations to the bookstore’s processes were needed.

We were responsible for the new UX, visual design and store implementation, as well as data migration, ERP integration and performance optimization.

Scope of work

What VLCT was responsible for.

Workshops and consulting

Gathering requirements, organizing knowledge about features and recommending how to implement them in Magento.

UX and visual design

Designing the shopping experience and layout, and implementing the new store interface with Hyvä.

Implementation and migration

Moving the store to Magento 2, migrating data and preserving historical URLs that required continuity for SEO.

Catalog cleanup

Repeated database cleanup, normalizing author and publication format data, and correcting product relationships.

ERP integration

Connecting to the ERP through the client’s existing dedicated API and layers that convert data to Magento’s model.

Backend performance

Optimizing category and product page generation and reducing expensive data reads.

Selected store features

  • Formats and digital publications

    Support for different publication formats, including printed books and electronic products, reader integration and publication previews.

  • Availability and delivery dates

    Dynamically calculated estimated delivery times, preorders and support for reprints.

  • Subscriptions, bundles and gifts

    Book subscriptions and subscription plans, volume sets at a better price and support for complimentary gifts.

  • Catalog navigation

    New filters and dedicated pages for authors, series, characters and publishers, linked to product pages.

  • Content and SEO

    Tools for creating and developing content, including a blog, and integrations with modules that support SEO.

  • Payments and communication

    Deferred payments and integrations with marketing automation and newsletter systems.

We also considered the store’s digital accessibility when working on the interface.

Selected solutions

Data, integration and backend processing.

Cleaning up the catalog before migration

Historical data inconsistencies were the biggest challenge. The same person appeared as several authors - a reversed first and last name, a comma or a different academic title notation was enough to create a duplicate. Publications were assigned to different records, and data for printed books and ebooks needed cleanup.

The database went through successive iterations of cleaning, relationship repair and verification.

Migration between SEO and ERP requirements

Data cleanup had to account for two dependencies: historical URLs and ERP integration. Some URLs had to retain their existing form for SEO, even though they did not follow Magento’s standard URL structure. We adapted URL handling to these requirements.

On the ERP side, we used a dedicated API previously prepared by the client and developed over many years. We built layers that convert data to Magento’s model so it could feed the cleaned-up catalog and new filters.

Reducing work performed on every request

Profiling revealed hundreds of database queries when generating a single category. We moved some reads to OpenSearch, improved attribute indexing and eliminated unnecessary operations repeated for every product.

Separate work addressed data retrieval on product pages.

Results

Less backend work. Faster category generation.

PWN received a Magento 2 store with new UX, visual design and ERP integration. After data cleanup, the active catalog contained approximately 250,000 products. In a comparable category backend profile, we achieved the following results:

Category generation time

−71%

shorter category generation time

Before
2.69 s
After
0.787 s

SQL queries

−85%

fewer database queries

Before
652
After
99

CPU time

−65%

less CPU processing time

Before
2.10 s
After
0.733 s

Measurement conditions

Backend profiling results before and after optimization, under comparable test conditions, without Full Page Cache (FPC) or OPcache. They describe backend execution for the category request examined; they are not the average loading time of the entire store, a Core Web Vitals measurement or a load test of the entire catalog. Percentage values have been rounded.

In the scenario examined, Magento generated the category faster, executing fewer SQL queries and using less CPU time. The results cover backend performance work; we do not attribute them solely to database cleanup or the author and publisher page module.

Storefront

Project gallery.