Table of Contents
The background
Client: (PorcelainSite Geschenkideen GmbH) Tassenfuzzi.de is a manufacturer of custom-printed and engraved mugs, crockery, and glass.
The company’s headquartereы are located in Germany. It has been in operation since 2002 and is an ultimate leader in its niche.
Magento Development Company: Mageworx is an officially registered Magento partner and one of the leading eCommerce developers. The current company’s product portfolio lists dozens of solutions designed to enhance the platform’s functionality and gear up a Magento-based business for success.
Also, Mageworx offers a wide range of Magento and eCommerce services, including SEO, design, analytics, and a recently launched full-cycle migration to Magento 2.
This case study details the strategy Mageworx used to transfer the Tassenfuzzi.De store to Magento 2 and thoroughly describes each stage of the process.
The Challenge
Moving aM1 store from to Magento 2 is quite a complicated process that consists of several stages.
Magento offers a special Data Migration Tool to ease the pain of transferring store, customers and orders data.
However, any theme or code customizations (including 3rd party extensions) are non-transferable. They have to be completely redone to fit the new version of the platform.
This is the list of the key aspects one needs to implement during Magento 2 migration:
1. Moving store database
As said above, this stage is implemented with the help of the official Magento Migration Tool. It includes:
- moving websites and stores
- transferring config settings for each store
- migrating product data (e.g.product attributes, categories, ratings and reviews, manufacturers etc.)
- moving customer base and its setup
- transferring sales data (orders, payments, invoices, etc.)
- CMS content
- basic SEO setup (titles, descriptions, meta data, redirects, etc.)
- moving tax data
- and transferring some other important store data
2. Migrating custom-built functionality
Due to the difference in the platform’s architecture, Magento 1 third-party extensions and custom-built features won’t work on Magento 2. It means that they have to be redeveloped from scratch.
3. Migrating store theme
Since Magento 1 themes are not transferable to the 2d version of the platform, a store owner has to either find a new, ready-to-install theme or develop a new or similar design from scratch.
The Process
1. Transferring Store Data
First, we installed Magento 2 on the client’s server.
Next, we installed and configured the Magento Data Migration tool. The tool was installed on an empty Magento2 installation with the help of Composer.
Basically, the Tool is designed to transfer data from M1 to the M2 database according to the set of rules defined in an XML file. So, in this file, we configured connections setup for the defined source (the client’s Magento 1 installation) and the destination (a Magento 2 website) connections.
In the next step, we migrated:
- all settings,
- websites and stores,
- categories,
- products,
- customers,
- orders
- and CMS data.
Additionally, we also moved media files and ACLs.
Challenges We Faced
On the whole, everything went smoothly. However, there were some difficulties we had to overcome in the process.
Due to the fact that M2 and M1 stores were located on different servers and M1 database was working via a socket, the Data Migration Tool couldn’t access the necessary data.
Since it was impossible to solve this with the client’s hosting provider, we decided to make a copy of the database and move it from the old server to a new one.
Thus, we gained access to the data and migrated it to a new Magento 2 installation.
* * * * *
Also, at a later migration stage, the client discovered that it was impossible to change the delivery date of the migrated products.
We investigated the issue and found a similar case described by other Magento developers on StackOverflow.
At the moment, Magento 2 doesn’t save the “delivery_date” attribute in the table “catalog_product_entity_text” providing the attribute already exists in the migrated “catalog_product_entity_varchar” table.
However, if a record is added manually to the “catalog_product_entity_text” table, display/save options work fine.
To fix this issue for our client, we created a custom Magento script.
2. Moving Custom-Built Functionality
There were 7 third-party extensions installed on the client’s Magento 1 store. These were:
- Tracking Number Import and Order Module Export by Xtento
- Data Feed Manager by Wyoming
- SEO Suite Ultimate, Search Suite, and Advanced Product Options by Mageworx
- German Store module by Symmetrics
Almost all of the above-mentioned extensions had more or less functional Magento versions. The only exception was the German Store module by Symmetrics.
Our task was to install those modules on the client’s Magento 2 installation and configure them according to the client’s requirements.
Challenges We Faced
At that moment, not all of the extensions installed on the client’s Magento 2 website had exactly the same functionality as their Magento 1 versions. Some features were yet to be added by the extension providers, and some were just missing (with no development ETA).
However, the combination of improved Magento 2 functionality and the chosen extensions was enough for the main client’s needs.
* * * * *
As mentioned before, the German Store module by Symmetrics didn’t have a Magento 2 version, so we had to find a new solution.
We picked up this package as an alternative. The add-on had a necessary set of features for the specified client’s operations and corresponded to German law requirements.
* * * * *
To enhance the store performance, the client also requested us to configure Redis + Varnish. We configured Redis as the session storage.
As for Varnish, we needed to write access to the client’s server in order to configure it. In addition, we configured Nginx and Varnish to use the specific ports and make some adjustments of the Varnish configuration file.
* * * * *
To minimize the potential SEO risks of migrating a website to Magento 2, the client ordered an additional service – Mageworx Advanced SEO Configuration. Our SEO team configured the SEO Suite Ultimate extension and set up the client’s Webmaster Tools account to preserve the current site’s SEO value.
At a later stage of migration, we installed additional third-party extensions and fixed some other minor issues (e.g. issues with image display and product options).
3. Migrating Store Theme
The client decided to purchase a ready-to-use Magento 2 theme by Pronto.
To let the client test the theme effects for a live store, we installed it on a dev site that was a plain Magento site with no data.
While testing the theme, we spotted an issue with the price pop-up — for some reason, it was displayed incorrectly. The client contacted the theme developer and according to what they said the problem was triggered by the bug of the default Magento Luma theme. The theme developer provided a hot-fix custom solution for this issue.
The Result
Migration to Magento 2 results in:
- improved site speed
- reduced TTFB (time to the first byte) – *the store also changed the former server hosting to a more optimized cloud solution
- overall improved website performance for desktop and mobile
- better, more advanced backend functionality
- improved and faster checkout process
Client’s testimonial
“Thanks again for the great service, and we will be back for more! We have been working with Mageworx since 2011. During the time we purchased different extensions, used the Magento update service several times, and now the migration service for Magento 1 to Magento 2. Mageworx is always so helpful, patient, and professional in answering our questions. Wonderful to have a service company that you know you can trust!”
Andreas Wolframm
Sales Manager at Tassenfuzzi.De
Thinking of migrating to Magento 2? Contact us for help and professional assistance!