How to Migrate Custom Modules from Magento 1 to Magento 2

Magento 2 extension migration is a topic that raises numerous questions and confuses most e-commerce owners planning to upgrade their Magento based online stores to the latest versions. The main issue here is that most business owners don’t have enough knowledge about the Magento migration process in general, and the modules migration in particular.

Our Kjellmann.no migration project was no exception. Although the client was tech-savvy enough to implement minor changes in the custom functionality of his online store, when it came to the migration process, our Magento migration services were highly required.

In one of our previous articles, we explained the Magento 2 migration steps. However, we believe that revealing the extension process in more detail is crucial.

That’s why we are going to focus on the routes and steps of custom functionality migration, dispel several of the most common misconceptions, and show how Magento extension migration is not just about purchasing new custom modules from third-party providers.

Common Misconceptions Regarding Magento 2 Custom Extensions Migration

#1 Magento 2 provides maximum functionality and does not require any 3rd party integrations

Although the Magento 2 platform includes many more out-of-the-box features than its predecessor, the 1.X version, often, especially in the case of big online stores, it still requires additional features. This depends on the needs of the specific e-commerce business.

From day to day, we work on improving the functionality and performance of a number of successful online stores and marketplaces like Teachingme, HawaiiHangover, Fonejoy, and others, and we can hardly imagine a website based on Magento 2 without any customization or third-party extension.

#2 M1 extensions are compatible with the M2 platform

Unfortunately, after migrating an online store to M2, every custom extension integrated with the Magento 1 platform becomes useless. The reason is due to a complete mismatch of the code and multiple conflicts which interfere with the platform operation.

All custom functionality must be explicitly developed for Magento 2, taking into account all its technical features and requirements.

#3 There is an update tool that makes M1 extensions fully compatible with M2

Unfortunately, there is no magic tool that helps to automatically change old extensions and make them all compatible with M2. It would have been especially helpful right after the Magento 2 release when there were not enough third-party integrations compatible with M2! Today, dozens of providers offer almost 3000 updated custom extensions on the Magento Marketplace. Thus, you do not have to be tech-savvy to quickly integrate the necessary functionality with your store.

Although, some extensions with simple functionality can be quickly updated to perform their functions after being integrated with a Magento 2 online store.

#4 The update process is the same for all extensions

The complexity of the update process depends on the functionality provided by a specific extension. Modules whose main logic is communication with third-party APIs can be quickly and easily updated to match Magento 2 requirements. In turn, it will be much more difficult and far longer to update modules that are fully tied with the M1 architecture (for example, a custom checkout module).

4 Possible Ways to Migrate Magento 1 to Magento 2, Saving Its Functionality

The new version significantly differs from the M1. First of all, they have differences in CMS architecture and performance. Therefore, before you start the Magento extension migration process, it is necessary to revise all available options for refactoring of the current custom M1 functionality

For you to understand the logic of the extensions migration and have an idea about how this usually works, we want to describe these critical Magento 1 to Magento 2 migration steps in detail, based on our experience with Kjellmann.no, the online store of a furniture supplier based in Norway.

We’ve been supporting the website and providing development and optimization services since the days when the site was based on Magento 1. And when we faced the need to migrate it to Magento 2, we had to migrate all of its custom functionality, provided by more than 20 third-party extensions.

So, let’s start from here

#1 Revise the Magento 2 out-of-the-box functionality

Magento 2 Extensions Migration: How to Migrate Custom Modules from Magento 1 to Magento 2

One of the most important and, at the same time pleasant, changes relates to the Magento 2 out-of-the-box functionality. The shift in architecture entailed massive changes in the logic of the platform. As a result, some functionality, like Full Page Cache, Varnish Cache, and Image Optimization, is now covered by Magento 2, out-of-the-box.

  • 1. Ajax registration/login. This is a popup login menu that allows registration from any page of the website.
  • 2. One Step Checkout. It is a useful extension that gathers all the stages of the checkout process on one page. However, in our case, the client decided to opt out in favor of the default Magento 2 Two Step Checkout.
  • 3. Varnish Cache. This is a page accelerator which significantly speeds up the processing of user requests. Before, it was only available as a third-party extension. Considering that the site load speed is a major issue for all Magento based websites, we’re convinced that the Varnish Cache is the most valuable feature, now available out-of-the-box.

#2 Manually upgrade your Magento 1 extensions to be compatible with Magento 2

Magento 2 Extensions Migration: How to Migrate Custom Modules from Magento 1 to Magento 2

Although the process of missing features integration has significantly changed, it may be a good idea to update extensions with simple functionality. Sometimes the process may take a couple of hours. In that event, it is much easier (and cheaper!) to refactor and upgrade the extension manually than to spend time looking for its worthy replacement on one of the extension marketplaces or to develop one from scratch. This is mostly applicable to extensions with simple functionality, like attaching js-files to the website for example.

Kjellmann uses 24sevenoffice as its cloud-based ERP system since the website was based on Magento 1. Although, the 24sevenoffice has numerous advantages, the main data management processes can be done entirely on the side of the provider. So, we have created a specific functionality which pulls up all the invoices, data related to current orders, terms of manufacture, and delivery from this ERP, and sends it to the website’s admin panel. In the admin panel, we created a button that allows the client to generate reports and other important information about orders in PDF, and instantly print them.

When we migrated the website, we needed to keep this functionality and migrate it to the M2 store. Due to changes in the logic of the Magento platform, it was much easier for us to implement the option of generating PDF documents. Therefore, we were able to quickly refactor this functionality and, thus, satisfy the client.

Magento 2 Extensions Migration: How to Migrate Custom Modules from Magento 1 to Magento 2

#3 Choose M2 extensions with needed functionality on the Magento Marketplace

After reconsidering the stack of required custom features to integrate with your online store, it is time to search for Magento 2 extensions, for example, on the Magento Marketplace, Github and others. Most of the M1 extensions have already been refactored by their providers and now are available for downloading and installing. If you want to make your search much faster and more productive – read our full guide on how to choose the best Magento 2 extensions

After revising the third-party functionality integrated with the online store, we inspected custom Magento 2 extensions available on different marketplaces. Here is the list of modules that were used in the M1 store and whose functionality totally satisfied all requirements:

  • Slider Revolution Responsive Magento 2 Extension by Codecanyon
  • Advanced Product Options Suite by MageWorks
  • Algolia Instant Search
  • Clerk.io integration
  • Google Tag Manager
  • MailChimp
  • Bring Freight by Trollweb
  • SMTP Pro by Magepal

We decided to keep all those features by downloading and installing the updated modules from the same providers.

In addition, while searching through the available Magento 2 extensions, we found several with extended and improved functionality. That’s why we decided to replace some of the existing extensions with options offered by other providers.

  • We changed the “Rating and Reviews” engine from Lipscore to TrustPilot integration.
  • The old Blog/News extension was swapped in favor of the one provided by MagePal.
  • The Collector payment module was replaced by the one from Svea.

#4 Develop custom functionality from scratch

Magento 2 Extensions Migration: How to Migrate Custom Modules from Magento 1 to Magento 2

If the needed feature is neither available out-of-the-box nor provided with any of the existing third-party integrations, it is time to create a custom module in Magento 2 from scratch. Depending on the complexity, it can take from a couple of hours to several days to develop, integrate, and thoroughly test the new functionality.

As for custom development for Kjellmann, we’ve implemented several unique features. One of these modules serves as a Defer JS, but with extended functionality, including delayed js-scripts and image loading, and minifying HTML-code. These features significantly improved the performance of the online store and increased the website load speed.

Additionally, the client asked us to refactor the functionality of Tax Switcher, which was implemented in their M1 store. This tool provides customers with an opportunity to change the way the prices are displayed (include/exclude taxes). Thus, depending on the type of customer (business or private), they can decide whether they need to see the price with a tax or without it.

We took the logic of the Tax Switcher and created a custom module from scratch. Once the customer lands on the website page for the first time, a drop-down menu appears on the screen asking whether the visitor is a business or a private customer.

Further, this choice impacted not only the generation of the price on the products, but also on the checkout page by including or disabling the empty field for the VAT number.

Final Thoughts

As you can see, Magento 1 to Magento 2 extension migration is not an easy task at all. Steps like downloading and installing ready-made custom extensions do not require much technical knowledge and can be easily implemented by a person who is less than tech-savvy. However, other steps require more skills and can be performed only with the help of an experienced specialist or a team of professionals.

That’s why it is always important to thoroughly analyze your needs and prepare a thought-through plan to follow when migrating to Magento 2. Follow our guidelines, and the migration of extensions will be quick and seamless.

Rate this post
error: Content is protected !!