Workshops and consulting
Gathering requirements, organizing knowledge about features and recommending how to implement them in Magento.
Publishing · Large catalog · Migration
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.
About the project
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
Gathering requirements, organizing knowledge about features and recommending how to implement them in Magento.
Designing the shopping experience and layout, and implementing the new store interface with Hyvä.
Moving the store to Magento 2, migrating data and preserving historical URLs that required continuity for SEO.
Repeated database cleanup, normalizing author and publication format data, and correcting product relationships.
Connecting to the ERP through the client’s existing dedicated API and layers that convert data to Magento’s model.
Optimizing category and product page generation and reducing expensive data reads.
Support for different publication formats, including printed books and electronic products, reader integration and publication previews.
Dynamically calculated estimated delivery times, preorders and support for reprints.
Book subscriptions and subscription plans, volume sets at a better price and support for complimentary gifts.
New filters and dedicated pages for authors, series, characters and publishers, linked to product pages.
Tools for creating and developing content, including a blog, and integrations with modules that support SEO.
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
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.
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.
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
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:
−71%
shorter category generation time
−85%
fewer database queries
−65%
less CPU processing time
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
Is a large catalog, migration or performance holding your store back? Let’s talk about data, integrations and the constraints of your current platform.
We'll get back to you within 12 hours of submitting.