Contents
Introduction

Introduction

Magento end of life has forced ecommerce companies to set sights on migrating their stores to Magento 2. Time is short, so you should plan the migration now to ensure seamless, uninterrupted operation of your business and lay a foundation for its further growth.

Many store owners think of migration as an inevitable measure and believe it is just a conventional process of transferring data from one installation to another. Besides, for some reason, none of them see the ultimate opportunity to freshen up their business. Nevertheless, migrating to Magento 2 allows implementing a new, robust, highly efficient installation taking into account previous mistakes and wrong choices to increase business performance and profitability.

In this post, we will guide you through all the stages of Magento 2 migration, covering the aspects and specifics we’ve learned from our hands-on experience of working with one of the leading ecommerce platforms in the world. Keep on reading to discover how to make your migration a success.

Audit

Audit

Initial analysis is the very first step a service provider should take prior to commencing any kind of Magento migration activities, be it elaboration or a ballpark estimate.

Of course, the option to skip any research and start the project quickly might be alluring for some store owners. However, profound ground work is required in order to ensure the final solution proposed by a vendor is able to operate properly and effectively support the business as it evolves.

Common mistake

Aiming to optimize migration costs, some customers turn to unreliable vendors that offer attractive prices for their services. Unfortunately, in most cases, lower costs are driven by poor development practices and lack of experience: the ballpark is frequently given based on your current installation’s database volume, which is wrong on too many levels to begin with.

In view of this, Staylime conducts an all-round audit of the current infrastructure and workflows on all Magento migration projects that we tackle. The major goal of this phase is to get as much information on the current Magento 1 installation and customer’s expectations of the future Magento 2 version as possible.

We request the client to provide access to the Magento admin panel and SSH access to the server and thoroughly analyze the configuration of an existing store. Here, particular attention is paid to the following aspects:

Extensions. We examine, how many extensions are in place, whether they are pre-built or custom-made, and what tasks they address.

Custom functionality. We review the code and analyze custom functionality introduced to existing extensions and Magento’s core.

Integrations.

Theme(-s).

Store structure.

Data volume and structure.

A clear understanding of the data structure and store functionality is vital for our team to prepare an accurate proposal for the customer. Client briefing is an essential part of the audit process helping us to achieve that.

As a first step, we send out a questionnaire to the customer, asking them to fill in the following information:

Extensions list
  1. Magento 1 extension name
  2. Why is it essential for your store?
  3. Do you need to migrate its data?
  4. Preferred Magento 2 alternative (if any)
Custom features list
  1. Custom feature/integration name
  2. How does it work?
  3. Do you need to migrate its data?

With the data on the current configuration and our own expert knowledge at hand, we work closely with the customer’s team during the briefing sessions held via email, Skype calls and videoconferencing. We ask relevant questions and make data-driven assumptions in order to get the full picture of the current state of things. This allows us to come up with suitable, optimized solutions that address client’s business-specific requirements in the most effective way rather than to rely on generic or overcomplicated options that might not work properly after all.

Specifics of the current design theme are another aspect to consider within the audit framework. We learn the client’s vision and plans in terms of design, discussing such options as:

Third-party theme installation, where we can customize a template available on the market, should there be such a need.

Magento 2 theme slicing based on ready-made Magento 1 design layouts. This option allows to take advantage of the design, developed specifically for the first Magento version, saving costs on new design development. However, slicing and integration activities are still to be conducted in this case.

Custom theme development, where our team delivers the design, slicing, and integration of a unique theme from scratch.

All of the above helps us develop a precise migration plan, provide a ballpark, estimate the timeline and efforts, as well as to create a detailed roadmap on how the migration should be implemented in order to keep the business going. As a result, we compile a detailed proposal for the customer, covering the following aspects:

Database migration.

Magento 2 extension installation and testing.

Extension data migration.

Compatibility testing and issue resolution.

Custom functionality development.

Integration.

Design.

Frontend implementation.

Delta migration.

The given approach allows us to seamlessly replicate and enhance the business-critical functionality of the current store, whilst ensuring high performance and operability of the new one.

Common mistake

Sometimes, business owners decide to split the responsibilities between a number of vendors, entrusting particular process phases (i.g. migration, design, backend development) to different teams rather than to a full-cycle service provider. Even though it may save costs in the short run, such an approach usually results in complete incapability of the customer to merge all the parts into a single and concise installation that works. This inevitably delays the project launch, leading to unforeseen consequences and, hence, expenses.

Communication framework

Communication framework

At Staylime, we pay particular attention to maintaining proactive and transparent communication with our customers to always stay on the same page and successfully move together towards the set goals.

The key points of contact on a migration project usually include:

Client Relations Manager

  • Gathers initial requirements via questionnaires/briefing sessions;
  • Prepares and presents proposals to customers;
  • Manages contracts and payments;
  • Continuously researches areas for customer’s business improvement;
  • Manages customer’s expectations and ensures their business needs are met in the most rational way.

Project Manager

  • Supervises the development team during the audit and project delivery;
  • Defines and plans project milestones;
  • Looks for ways to optimize workflows;
  • Provides timely status reports;
  • Communicates project delivery matters to the client.

Technical Specialists

  • Analyze the current infrastructure during the audit;
  • Suggest the most suitable technical solutions to customer’s requirements.

The customer is actively involved into the process during the audit phase. As a rule, the typical collaboration scheme includes the following steps:

Client
Staylime

RFQ/RFP submission.

Initial inquiry processing;

Submission of a questionnaire;

Request of access to necessary store areas for the initial audit.

Provision of access to our team;

Submission of additional information (as requested in the questionnaire).

Information analysis and elaboration;

Proposal creation.

Proposal review and discussion with Staylime;

Project kick-off planning.

Project Manager is assigned to communicate the proposed project framework to the client (communication process, initial activities, deliverables).

Client

RFQ/RFP submission.

Provision of access to our team;

Submission of additional information (as requested in the questionnaire).

Proposal review and discussion with Staylime;

Project kick-off planning.

Staylime

Initial inquiry processing;

Submission of a questionnaire;

Request of access to necessary store areas for the initial audit.

Information analysis and elaboration;

Proposal creation.

Project Manager is assigned to communicate the proposed project framework to the client (communication process, initial activities, deliverables).

With this framework, we get an in-depth understanding of customer requirements regarding project implementation, starting from theme, functionality, integrations and other technical aspects to time and budget considerations. As a result, we prepare an accurate, all-round proposal that is tailored specifically to the customer's unique objectives and needs and commence the project strictly in line with their expectations.

Migration plan

Migration plan

Following the client briefing and audit, we develop a detailed migration plan to ensure predictable, successful migration to Magento 2.

Migration is based on official Magento guidelines and typically involves the following steps:

Extension review.

Magento 2 and Data Migration Tool installation.

Data Migration Tool configuration.

Primary migration.

Data validation.

Delta migration.

Launch.

The given approach has been proved to be highly effective for thousands of Magento-based businesses. Well-thought-out and standardized, it allows to minimize any potential risks, optimize the budget, accelerate product launch, and, ultimately, make the overall process transparent and clear for the customer. However, every ecommerce business is unique, so the migration plan should take into account all specifics and nuances.

Infrastructure considerations

Infrastructure is the cornerstone enabling fast and smooth operation of an online business. If such aspects as performance, functionality, scalability, and security are not taken into account during migration, companies may end up with a newly built store that just doesn’t work.

In view of this, when planning the migration process, our team pays particular attention to framing proper infrastructure configuration for the Magento 2 store. We thoroughly study both current processes and requirements of the customer, as well as their business growth expectations and predictions—all that to select the optimal configuration that would be scalable and efficient to support their needs in the long run. This allows ensuring the store will provide the required functionality and operate just as it’s supposed to, and also helps the customer to calculate the total cost of ownership and plan the budget accordingly.

Primary database migration

Primary database migration

Primary database migration covers the transfer of the following critical aspects of a Magento-based store to the new version:

Settings

Stores, websites, and system configuration like shipping, payment, and tax settings are migrated during this step.

Data

The following types of data are transferred next:

  • Catalog;
  • Orders;
  • CMS content;
  • Transactional emails;
  • Media files;
  • Admin user accounts and ACLs (optional).
Delta migration

The incremental migration tool installs deltalog tables (with a ‘m2_cl_*’ prefix ) and triggers into the Magento 1 database during the data migration process to start tracking further changes to Magento 1 store. The deltalog tables and triggers are essential to ensure that only the changes made in Magento 1 after the most recent data migration are transferred.

These typically include:

The data added by customers via the storefront (created orders, reviews, customer profile changes, etc.);

All order-related operations in the Magento Admin panel.

Beware

Incompetent vendors might ignore installing triggers for incremental migration. However, triggers are highly important as they allow to track changes during the migration process and ensure that only the changes made in Magento 1 since the last time the data was migrated are transferred to Magento 2. These include records on orders, products in stock, customer reviews and many others. Thus, in case new data appears before the migration is done, it can be easily identified and added to Magento 2 with the help of the corresponding triggers.

Our team can also migrate delta to the new Magento 2 installation in real-time, when any changes appearing on Magento 1 are immediately moved to Magento 2 automatically.

It is important to note, that all new or updated entities entered through the Admin panel, like products and categories, are not included in delta migration and will not be migrated.

Note

It is vital to differentiate primary data migration and extension data migration. Orders, clients, and other standard Magento data are transferred during the primary database migration phase, whilst extensions are installed anew on the Magento 2 instance at later development stages and only then their data is moved.

A running website already has loads of data accumulated as the ecommerce business evolved. This data is the only aspect connecting a legacy Magento 1 version with the new one. The best practice is to check the correctness of the data on an empty Magento 2 installation. This allows to verify that all the business-critical data was migrated accurately, and detect errors, if any, prior to commencing design and development.

Common mistake

We came across a number of cases, when customers first deployed an empty Magento 2 store, installed required extensions and themes on their own, and then turned to a vendor to carry out data migration. However, such an approach contradicts industry’s best practices and common sense. The official migration tool allows transferring data from Magento 1 only to a clean unaltered Magento 2 installation, whilst ignoring this practice leads to a whole range of data issues that are hard to tackle. Being an experienced Magento development partner, Staylime can address even the most complicated errors caused by improper practices to allow our customers to focus on business-critical tasks and objectives rather than technical issues.

To carry that out, we first make a copy of the existing Magento 1 database and attempt to migrate it to Magento 2. At this point, all the errors are being thoroughly documented, and we try to resolve them as they arise. Once it’s done, the customer has the opportunity to double-check every record on our staging environment. Such an approach allows us to eliminate any risks of data being lost or damaged throughout the migration process.

Upon customer’s approval that everything is correct, we proceed to actual migration and set the necessary triggers in the Magento 1 database. The process is performed in the live environment, and the website is switched to the ‘maintenance mode’ to secure all the data being transferred. We adapt to the customer’s timezone and select the slot with the minimum user activity. Before starting the migration, we copy the current database to be recovered further so as to additionally guarantee business continuity and data security. As a rule, it takes 2–4 hours to migrate the database, however, in most cases, we manage to perform everything within an hour.

Common mistake

Upon primary database migration, when the new Magento 2 instance was ready and the design and development activities were commenced, a customer decided to make changes to their Magento 1 installation. Having completed all the work on Magento 2, they faced a major issue: the data couldn’t be synchronized between the two because of these amendments. Hence, it is important to keep in mind that as soon as the migration process is launched, any major changes to Magento 1 are not allowed.

When the data is successfully transferred, we proceed to the development of the required functionality on Magento 2.
Note

It is a much easier option to install your database locally, carry out test migration and then implement it in the production environment. However, in this case, all data is removed from your server, and so the vendor becomes a data controller according to the GDPR. To meet the strict GDPR compliance requirements, Staylime signs an NDA and a Data Protection Agreement and performs the necessary procedures on customer’s premises, ensuring all the data remains on your server.

Functionality implementation

Functionality implementation

Extensions

It may sound surprising, but implementation of Magento extensions is the very first aspect to consider when developing the store’s backend. Functionality is a business-critical area for any ecommerce store, and defining core features and capabilities comes prior to any design-related activities. This vital step allows us to set up a framework of relevant extensions and define what data flows it should process, which helps to make informed UX/UI decisions further on and deliver a user-friendly design.

Common mistake

Many clients are looking to install all the extensions they have in Magento 1 onto the new Magento version, trying to recreate the existing store as is without taking into account current needs and requirements. The truth is that the logic of some extensions may already be included into the default functionality of Magento 2, whilst some of them may be of poor quality. In this case, fixing bugs and issues will most likely require additional expenses that may even exceed the cost of the extension and its further maintenance.

As a rule, the typical process of extension migration involves the following major steps:

Selection.

Installation.

Compatibility testing.

Data migration.

Functionality check.

Data check.

First, we compile a list of necessary extensions to be implemented in Magento 2, conducting a thorough review of existing ones, picking the ones that will be migrated as is or suggesting better alternatives. Some of the existing extensions may no longer be relevant, some of them may fail to address new requirements in the most effective way.

Developing a custom extension is always an option. In some cases, it is way easier and more cost-effective to build a piece of critical functionality from scratch rather than to mix and match a bunch of third-party extensions trying to bring in the desired feature.

As soon as the selected extensions are installed and data is migrated to the new Magento version, it is important to make sure that they interoperate seamlessly and there are no compatibility issues involved. We test this out carefully to eliminate any potential risks of the system not functioning properly.

Another aspect to take into account is that the same extension from two independent vendors can be completely different in terms of functionality. We help our customers to select the one that would fit their store best and plan the installation accordingly.

All in all, performing an in-depth extension screening prior to custom development provides for a whole range of benefits, as it allows businesses to:

  • Ensure better user experience;
  • Optimize the code;
  • Eliminate potential compatibility issues;
  • Reduce technical debt;
  • Increase website performance;
  • Reduce server load.

Custom functionality

As soon as the list of extensions is finalized, we get a clear understanding of what functional parts cannot be covered by ready-made extensions and should be built separately. We analyze the required efforts and plan the technical solution to avoid any compatibility issues. Such an approach allows us to optimize resources, ensuring a clear and predictable delivery timeline.

Note

Imagine the opposite: first, custom functionality was introduced, and then multiple extensions were installed. Chances are, extensions will conflict with the source code, resulting in store’s poor performance and improper functioning.

Third-party system integration

Taking care of business-critical integrations with external systems and services is the final step of the migration phase. Integrations may interrelate with both extensions and custom code, turning to the data in the application, so it is important to ensure that third-party systems, if any, are compatible with the existing functionality.

To this end, we analyze current business processes and needs of the customer and define what capabilities (product delivery, payments, etc.) are required. Based on that, we make a decision to integrate the store with out-of-the-box solutions, leverage existing Magento extensions, or implement custom functionality ourselves.

Design

Design

Theming: custom or ready-made?

Note

Theme is not subject to migration. In general, it is a common misconception that design or functionality are simply transferred to Magento 2 by copying/pasting data. Apart from default Magento data (orders, customers, etc.), nothing can be transferred as is and should be either developed from scratch or recreated by hand on the new Magento installation.

Ready-made themes

As soon as the list of extensions is finalized, we get a clear understanding of what functional parts cannot be covered by ready-made extensions and should be built separately. We analyze the required efforts and plan the technical solution to avoid any compatibility issues. Such an approach allows us to optimize resources, ensuring a clear and predictable delivery timeline.

A ready-made theme is not your best choice:
UI/UX aspects

Being generic, templates cannot reflect unique business identity and usually fail to meet individual needs and requirements of a client. The website running on such a plain theme will neither ensure a seamless and engaging user experience, nor will it stand out from the crowd.

Code quality considerations

Ultimo and Porto, popular Magento 1 themes, get thousands of daily downloads. However, the functionality of the two remains the same from version to version. The themes do not evolve in the sense that they get no optimization whatsoever and businesses get an abundance of features they never use. Underlined by a heavy and slow code, ready-made themes also feature occasional bugs—all that results in a negative impact on the overall store performance and SEO. And with more and more users shifting to mobile, adaptive Magento templates are no longer able to match contemporary requirements and user expectations.

Support

Out-of-the box themes may be incompatible with existing functionality, whereas a proper support service from vendors to help you address potential issues is usually lacking. This means that when installing a template businesses face the ever-growing technical debt and corresponding increase of support costs. The more sophisticated functionality you have, the higher the costs of supporting the theme upon each upgrade will be.

As a result, a ready-made theme requires much more investment than a custom one in a longer run, making businesses pay twice for the issues an out-of-the-box solution just cannot solve.

New theme based on custom design

Developing a new theme from scratch gives an ultimate opportunity to bring your most creative and unconventional ideas to life and achieve your performance goals through an exclusive, well-thought-out design delivered by a team of UI/UX experts.

Here are some of the advantages a custom-built design theme provides:

Custom design helps to establish a one-of-a-kind digital presence and enhance the shopping experience by implementing specific user scenarios that perfectly match your target audience.

Custom theme development is driven by mission-critical tasks and processes, as well as the target audience, competitors, positioning, preferences, and other business-specific factors along with best UI/UX practices. All that combined allows hitting the major goal—increasing conversion rates.

Сlean code of a custom theme (bare minimum needed to do the job, created in full accordance with industry standards and guidelines) facilitates better store performance and search rankings.

A custom theme only requires regular maintenance and upgrades with no further investments involved, which gives it a higher profitability potential.

Mobile-first design ensures that the store is responsive and easily accessible from any device, on any platform.

Beware

Custom theme development provides a field for unfair practices. Unfortunately, shaddy vendors may pass customized ready-made themes off as unique themes and charge for this respectively, making customers pay a full fare for some minor alterations to the existing design. When custom theme development takes place, a service provider should be able to share all the design layouts of your store with you. If not, beware, as this means that your theme was not built from scratch, and that fact will soon affect your business.

Of course, every bean has its black, and a custom theme has a number of drawbacks as well, including higher initial costs and a necessity to find a skilled team for its implementation. But as mentioned above, the benefits of this approach can hardly be overestimated in the long run.

Third-party ready-made theme

A ready-made theme provided by a third-party vendor is an option of choice for businesses looking to launch a website as fast as possible on a tight budget. Here are the pros and cons of this solution:

The look and feel of the store will lack individuality, so a solid company image and unique shopping experience will be hard to achieve.

A one-size-fits-all solution means:

Excessive code that will negatively affect performance;
Lower search rankings;
Mass-market approach to UX/UI, impacting the user journey and, consequently, the conversion rates and ROI.

Requires substantial investments in case upgrades or a complete theme rebuild is needed.

Increased TCO due to quality shortcuts and a tendency towards growing technical debt.

Limits the potential profitability of your ecommerce business.

A more affordable option compared to a custom theme.

Faster project implementation and launch.

Thus, developing a custom theme is the most efficient and reasonable approach, as businesses implement the design that is perfectly tailored to the functionality already in place. In this case, the design is seamlessly integrated into a working solution, providing a robust leverage for your store to capitalize on.

Theme conceptualization & development

Design has a paramount impact on the overall business performance, as it directly affects user experience and conversion rates. However, in most cases the majority of customers focus on migrating the data and content, leaving the design matters off the table.

Common mistake

Sometimes customers insist on removing particular web pages from the design scope of work, believing the default look will be sufficient to address their needs. However, this is not the case. It must be pointed out that a Magento store theme is more of an installable package than a puzzle, where certain things can be added/removed/left as is. If we follow the guidelines and take care of the end result, all pages need to be made consistent.

As mentioned above, the design phase should take place right before frontend development, when the backend and integrations are already implemented. With that in place, designers can build a robust, professional solution making the existing functionality highly user-friendly and appealing.

Here is how Staylime makes that happen.
Clarifying customers’ requirements

Prior to starting actual theme development, we focus on clarifying customers’ requirements and needs so that to deliver a solution that is fully in line with their expectations.

In this post, we will guide you through all the stages of Magento 2 migration, covering the aspects and specifics we’ve learned from our hands-on experience of working with one of the leading ecommerce platforms in the world. Keep on reading to discover how to make your migration a success.

Working with data

We prepare a brief for the client and conduct a number of calls and/or onsite meetings to understand their business, goals, competitors, and target audience. We work diligently on existing requirements, finding the solutions that would help to address mission-critical objectives. With a full picture of the customer’s domain and business specifics at hand, we get an idea of what the style and the UX should look like to help the company steal thunder.

Creating a custom design concept

Based on the results of the briefing stage, we proceed to conceptualization. Our Creative Director, Analyst, UI/UX Designer, and SEO Specialist are actively involved in the process to create a custom design concept.

As soon as the concept is finalized from our side, we present it to the client. However, not only do we showcase the layouts in Figma, but also present motion design to demonstrate how the UI elements will behave when animated. It gives a completely different perspective onto the future design, allowing the business owner to see how the interface will interact with the end user.

When the concept is finalized and approved by the client, we create design layouts of the main store pages, including:

  • Homepage;
  • Category page;
  • Product page;
  • Cart page;
  • Checkout page;
  • Account page;
  • Register page;
  • Search results page;
  • Content page;
  • 404 page.
Creating a dynamic prototype and a UI kit

When the layouts are ready, we proceed to the development of a dynamic prototype and a UI kit. Using Figma, our team builds clickable prototypes comprising all store pages for usability and user experience testing. The UI kit includes all possible interface elements and their various states: menus, lists, buttons, pins, forms, tables, you name it. The idea behind the UI kit is that it helps to make the design complete and consistent by defining interactions between the user and the interface. The UI Kit enables frontend developers to find any UI element of the website and use it when working on the web design, thus making the design independent and unified.

Search engine optimization

SEO aspects, including the SEO structure, are taken into account and implemented during the design phase too. As a result, we produce a well-thought-out interface and frontend development commences.

Frontend development

Frontend development

Staylime builds installable adaptive themes, strictly adhering to the official Magento guidelines:
  • Frontend developer guide;
  • UI components guide;
  • JavaScript developer guide.

The custom theme can either be based on Magento 2 Blank theme or delivered using Magento PWA studio. The latter provides greater flexibility, as it eliminates dependency on any pre-built layouts and makes it possible to create one-of-a-kind design with no limitations. In this case, the frontend is connected to the backend via an API. And given the fact that the frontend is not directly bonded with Magento, it provides an opportunity to achieve the highest level of performance.

A custom-built design theme may be easily reused for multiple store views. For one of our customers, JayDee Living, we migrated a set of websites to Magento 2. When working on the custom design for the stores, we have implemented a single, unique template that was then customized for all of the necessary stores. This allowed us to provide a signature look and feel to all the websites under the JayDee Living’s umbrella, yet significantly optimize the overall development costs, saving on the development of several themes from scratch.

Final steps

Final steps

As the final step, we double-check the new data aggregated in the Magento 1 database and transfer it accordingly to Magento 2.

With the tried-and-true approach outlined in this article, Staylime successfully helps ecommerce companies to carry out a fast and fault-free migration to Magento 2. All the way, we will take care of any technical aspect of the process, so that you can solely focus on providing value to your customers.

Jan Guardian, Chief Business Development Officer @ Staylime

Feel free to book me here and I’ll call you back to help your Magento migration become a no-brainer.