Should you migrate? How long does it take? What advantages does it provide? In the article below, we answer all these questions for you and even give you a detailed step-by-step description of the migration process from staging to deployment.
But let’s begin where it all started: with Magento 1.
A Brief History of Magento
What made Magento 1 popular?
Amongst all the e-commerce platforms out there Magento always stood on its own. While Shopify, BigCommerce or Woocommerce and most of the popular platforms are targeted at smaller businesses, Magento was and is the all-purpose heavy lifter.
One of its main strengths is the incredible level of customization it is capable of. Most platforms are in some way or another limited. Even with hundreds of extensions, add-ons, themes, you are eventually going to reach a point where you cannot go further, you just can’t get exactly what you want.
With Magento, you need a professional development team – and basically, your options are limitless. (The limit mostly being the budget.)
The other thing: it is not for starters. Magento is a platform specifically designed to handle webshops with thousands of products, visitors, and customers. With a strong hosting solution under the hood, the scaling potential of Magento is limitless.
Over the past decade since its release, because of these factors, it has become a wildly popular platform. But of course, it was never perfect. Magento 1 had some issues that needed fixing.
In many occasions, for example, it was slow, the performance of the stores was far below expected in terms of uptime and speed. It also lacked a user-friendly interface (it took quite some time to learn how to use the admin panels comfortably).
And development was also problematic, not just because of the complexity but also because of Magento 1’s painfully lacking documentation. That was a problem that the amazing community solved itself.
This limited the amount of skilled Magento developers on the market and raised development prices.
However, the underlying technology was popular: PHP and MySQL made it easy to work with and before long a large and dedicated community came together, flooding the market with hundreds of 3rd party extensions to further expand the out-of-the-box capabilities.
The freedom it offered and its complexity was able to balance each other out – it was still worth to invest in it because of the business scalability it offered. As a highly flexible platform, it was a perfect match for many merchants and businesses with different focuses, be their services targeted locally or worldwide.
Why Magento 1 is a poor choice now
Let’s start with the question of support. Although November 18th, 2018 was circulating as an end-of-life (EOL) date for Magento 1, developers on multiple occasions confirmed that this would not be the real EOL. Then, Magento told it’s users that they will not be left behind, and will get an 18 months support notice before announcing the EOL.
We now have a definitive EOL: for both Magento Commerce 1 (formerly Enterprise Edition) and Magento Open Source 1 (formerly Community Edition) June 2020 is the new date.
But Magento developers are also emphasizing that “the time to upgrade to Magento 2 is now”, not only because of the enhanced performance and other changes but also because the community has already created 2000+ extensions for Magento 2.
Unfortunately, the amount of documentation hasn’t improved for Magento 1, and it is still the community that provides what is necessary – but with Magento 2 it’s gotten much better. So on the development side, Magento 2 has a great head start which also means clients can get what they want with a professional developer much quicker.
Also with Magento 1, there were a lot of problems with conflicting 3rd party extensions. While there were and are thousands available, they often weren’t able to work together, because they conflicted when trying to rewrite the same functionality. With Magento 1 this is not going to get any better, however, in Magento 2 the issue has been resolved.
We will get into the pros and cons in detail in the following chapters, but one thing is certain: if you are just setting up a store or want to migrate from another platform (and you are sure that Magento is the right platform for you) then you should definitely do so on Magento 2.
If you are currently running a Magento 1 store, then migrating is definitely an option you should consider and even if you are satisfied with your current version, be upgraded by the EOL deadline. (Of course, Magento 1 stores are still going to work after that, but the lack of security patches alone should force you to migrate.)
Without digging further into the history and timeline, let’s have a look at exactly what has changed with Magento 2.
Top Differences (Pros and Cons)
Developers added new technologies to Magento 2 to improve store performance. The architecture is now based on PHP7, which basically means an even greater opportunity for optimization and customization.
Magento 1 vs. 2 technology stack looks like this:
|Magento 1||Magento 2|
|Apache 2.x||Apache 2.2 / 2.4|
|Nginx 1.7 or greater|
|PHP 5.2.x – 5.5.x||PHP 5.6.x / 7.0.2 / 7.0.6|
|MySQL||MySQL / MySQL Percona 5.6.x or greater|
|Varnish 3.x / 4.x|
|Redis 2.x / 3.x or Memcached 1.4.x|
|Solr (Only for Commerce)||Solr 4.x|
|JQuery (In the latest themes)||JQuery|
|RequireJS / Knockout.js|
|Zend Framework 1||Zend Framework 1 / 2|
|PSR – 0 / 1 / 2 / 3 / 4|
As we have already mentioned earlier there were lots of problems with conflicting extensions in Magento 1, because on many occasions these tried to rewrite the same functionalities. This issue had to be solved by the developers manually – which of course meant that it was more expensive for the store owners in terms of both time and money.
When creating Magento 2 the developers took this into account so now the extensions that you install can overlap core code rather than overriding it, eliminating conflictions.
Thus installing a new extension on Magento 2 is not only easier and faster but also cheaper because much less coding is needed.
New technologies included in Magento 2 like HTML5, CSS3 and Require.js also make it easier to install and modify extensions.
Page loading speed is, on average, 50% faster with Magento 2. The developers paid great attention to increasing the speed as this was the most common performance issue with Magento 1. Check out also became 38% faster.
Magento 2 is faster all around: on the product and category pages, home page, and CMS. The average loading time is now well below 2 seconds, which means there is a much smaller chance of visitors bouncing off or potential customers abandoning their carts because of slow page loads.
One of the main reasons the new version is much faster is the caching improvements: with the built-in Full Page Cache, lag has been significantly reduced.
As mentioned before, many new technologies were added, web pages were optimized for fast delivery, server response times for website activities were decreased, and backend operations were also made more efficient. Peak loads are also handled better with enhanced database flexibility.
So Magento 2 can now process 117% more orders per hour, and it can handle 2.1 million page views hourly. Add to cart server response is now 66% faster, and because of the enhanced performance, an end-to-end checkout is also 51% quicker.
E-commerce is undoubtedly shifting towards mobile. Most of your users are probably going to at least browse your site from their smartphone and even order from it. This is why it is critical to have a site that is mobile-friendly. Most importantly, Google considers mobile-friendliness a key ranking factor since 2015.
Magento 2 is mobile-friendly as it is: themes are responsive, the checkout is also optimized for mobile, and fast loading speeds make it even more suitable for mobile commerce.
In Magento 1 you could integrate all the popular payment gateways, but in most cases, this meant you had to use 3rd party integrations or even custom development. In Magento 2 most of the popular gateways are already supported, so it is much easier to have a great user experience for your customers at check-out.
New supported gateways include PayPal, Braintree, Authorize.net, and in the case of Magento Commerce (formerly Enterprise Edition) WorldPay and CyberSource.
A complicated checkout process is one of the main reasons for cart abandonment. However, there are a number of reasons for cart abandonment – it may consist of too many steps, there may not be the users preferred payment option, users may be forced to register to order and so on.
- Magento 2 comes with a simplified checkout process
In Magento 1 checkout traditionally consisted of 6 different steps: checkout method, billing information, shipping information, shipping method, payment information and order review. And it was impossible to skip any of these, all on separate pages.
In Magento 2, checkout only has 2 steps:
- Review payments
The simplified checkout enhances UX, makes it faster to checkout and consequently makes it possible to decrease cart abandonment rates.
Also, you are not required to register to order in Magento 2, the platform is able to recognize visitors as guests, and also offers dynamic shipping rates based on geographical location (country, region, postcode).
In Magento 2.2 dotmailer email automation was introduced, which enables store owners to create email campaigns using the platform much quicker and easier. It is also possible to create SMS, push notification or other automation options as well as manage transactional emails inside the admin panel.
If you want to try the dotmailer integration, you can sign up for a 14-day trial, after that monthly packages start at $250.
For Magento 2, Magento purchased RJMetrics, which improves the reporting out of the box compared to Magento 1. Now branded as Magento Business Intelligence, it provides users with more insight, combining Magento and Google Analytics data to create 75 different reports.
This reporting feature is included both in Magento Commerce and Magento Open Source, however, you have to pay a monthly fee if you want to use it starting at $100.
Even if you use the free version, you can access 20 different reports on the interface with continuously updated information.
The admin panel of Magento 1 was famous for not being the most user-friendly. It took a lot of time to master it, which led to many feeling it was overly complicated. This had to do with a large amount of built-in functionality but was still a major drawback for many users.
The Magento 2 admin panel is a much more user-friendly: it can be customized so store owners can see the most important functions and data in one place. By default on the dashboard, you can see data like last orders, top search terms, average order value, best selling products, data on customers, shipping, quantity and more.
Finding information that you need overall has become much easier and navigation is more intuitive than before.
As mentioned before, Magento 1 versions will still be supported with security patches until June 2020. But Magento 2 brings better built-in security options.
One is the hashing algorithm (SHA-256) for passwords which make it much less likely for a dictionary type attack to succeed.
Magento 2 also comes with a fraud protection module: developers integrated the Signifyd solution that the company partnered with back in 2016. This allows the platform to identify and reject orders that seem to be scams, and the module also provides 100% chargeback protection. The cost of Signifyd depends on the number of orders your store does. There are three plans:
- Small Business: no minimum fee, all approved charges are charged at 1%.
- Mid-Market: $1,000/month, 0.8% ped additional guarantee, includes $125,000 approved orders.
- Enterprise: Custom rate based on risk assessment.
Magento 2 Open Source, Commerce and Commerce Cloud
If you want to migrate to Magento 2, the first thing you should decide is whether the version you want is the free (Open Source, previously Community Edition), paid (Commerce, formerly Enterprise Edition) or hosted (Commerce Cloud).
For smaller, developing businesses we recommend the Magento 2 Open Source (OS) edition that can be downloaded and installed by anyone. OS can be freely modified, for more advanced options, however, store owners have to use custom development or 3rd party extensions.
On the enterprise level, Magento 2 Commerce is a suitable solution with unlimited customization, a rich variety of features, corporate account management, company credit management, customer support and more.
Content Staging is also available in Commerce, which means store owners can create and publish content directly from the admin panel, making content marketing easier.
Other exclusive features in this version include:
- Advanced catalog management (including e.g. shared catalogs),
- Advanced marketing tools (promotions, merchandising, email automation, SEO optimization),
- Advanced customer management (attributes, segments, multiple wishlists per customer),
- Reports on private sales, wishlists, and segments,
- Elasticsearch (search & analytics engine),
- Message Queue Framework (message publishing tool) up to version 2.3 – with the new version OS has it too because it’s heavily used in Multi-Source Inventory,
- Split database performance solution (improves scalability, one of the most important features for merchants with high traffic volume and sudden traffic spikes),
- Advanced importing capabilities,
- Advanced content management system.
Finally, there is the Commerce Cloud solution, which is basically the Commerce with Cloud infrastructure hosting that is fully managed and automated, with Git integration and provided environments for development, staging, and deployment.
The Commerce and Commerce Cloud version also features rich native B2B functionality, including:
- Corporate Accounts Management (corporate accounts with multiple buyers and layered organizational structures),
- Friction-Free Ordering (manage quote requests, negotiate pricing terms, buyers can enter SKUs, upload CSV files, set up requisition lists, re-order previous orders),
- Self-Service Quotes and Approvals,
- Quick Order functionality (easier order creation with live validation of submissions against catalog),
- B2B specific custom catalogs
- B2B payment options, Payments on Account
You can find more information on the pricing in our article about Magento pricing.
Magento 2 Migration Process
You should look at the migration as a great opportunity: you get the chance to evaluate your store, leave things behind that are not worth keeping and in the meantime improve performance, UX and other factors.
Step 1: Evaluation
First comes an analysis of your current site: you should, together with the developers, have an in-depth look at your current Magneto store and decide what needs to be changed, what you should leave behind, and what should stay.
You should evaluate all products, pages, features, and extensions and decide if they are worth keeping. This is a chance to streamline your store and get rid of redundant things – like products no one ever really ordered or an extension for some discount code feature you only used for a Black Friday 3 years ago.
Next, set business goals for the future. If you have mid-term and long-term business plans this is an excellent time to build a store that will be able to handle the changes and growth you have in mind. Make sure that your new store is capable of fueling and handling your growth in the foreseeable future.
And since themes cannot be migrated, only rebuilt, you can also make changes in the design to make it more user-friendly or complement your brand more. Be careful though: if you have a loyal customer base and an established brand, don’t change the appearance of your store overnight, that would only confuse everyone and hurt your brand.
Step 2: Staging Server Set-up
Create a safe environment in which your new Magento 2 store could be built and tested. On the staging server, developers create the store and test its capabilities while your Magento 1 store can continue to operate on your hosting.
The Magento 2 store should only be launched when development and testing are complete – and it is best to do the switch in a slow season if you can, so it affects daily business operations as little as possible.
Step 3: Finding the New Extensions
After deciding on what extensions you are going to need in the new store it is the task of the developers to find compatible ones for the Magento 2 architecture. Keep in mind that because of the different technologies Magento 1 extensions won’t work with the new platform.
Many extensions have versions compatible with Magento 2 but in some cases, new ones should be implemented that can provide the needed functionality.
Remember that this is an opportunity for change, but not overcomplicating your site: don’t jump on every fancy extension, keep to the functionality you truly need. In Magento, extension conflicts were resolved, however the more of them you use the more the migration will take. More extensions, more problems.
Step 4: Custom-Built Modules
All of your custom code must be rebuilt for Magento 2. This is why it is very important to map your needs carefully at the beginning of the process, so the developers will know which functionality should be recreated, what to add and what to leave behind.
Magento offers some help in the form of the Code Migration Toolkit.
However, you should never, ever try to migrate custom code from Magento 1 to Magento 2 if you are not an experienced developer yourself.
Step 5: Migrating Your Data
Next comes the creation of a mapping that will help migrate your store settings, product catalogs, your registered customers (and all their data), sales history, custom promotions, and 3rd party data.
Don’t worry about data that is created during the migration process: new customers, orders and product data will be continuously migrated to the new build to keep it in sync with the existing Magento 1 storefront and make the transition seamless.
The Magento 2 Data Migration Tool can be a great help in moving your data to the new structure, but again, this is something you should not do without a professional developer.
Step 6: Recreating the Design
Themes cannot be imported or migrated from Magento 1 to 2 in any way. They can be, however, recreated for the new store.
If you don’t want it to, the appearance of your store doesn’t have to change, you can keep the previous design if you want. It still has to be rebuilt, but this is good news because Magento 2 comes with built-in responsivity. This means your site will be much more user-friendly when it comes to mobile users. (And that means lower bounce rate, higher conversion rate and in the end, higher revenue.)
If you want to save time on development, you can choose one of the pre-built themes for Magento 2 (there are free and variously priced options as well).
Use this opportunity to make your design more modern and more in line with your brand in general if need be.
Step 7: Testing and Launch
After your store looks and feels like you want it to, with all the data and functionality needed, the testing phase can begin. The developers will test everything until they are certain that the Magento 2 site is healthy and working properly, and when they are confident, you can make the switch.
Final Decision: Is It Time to Migrate?
Now that you know what the key differences are and how the process looks, you are ready to arrive at a decision.
However, there are still a few things you should think about before making a decision.
Are you launching or migrating?
An important question that we have touched on before. In case you have a Magento 1 store that is running perfectly and you are satisfied with everything, you still absolutely need to plan to migrate, but you are not really in a hurry. Just be sure to start the process in time (see below).
But if you are launching a new store, you should definitely choose Magento 2.
Magento 1 will not be supported after June 2020, so even if you wait until the last possible moment, you will still have to do all development twice, because migration is not really a matter of choice but time. (At least if you want to run an up-to-date, secure online store, which we assume you do.)
Also, if you are launching a new business, be sure that Magento is indeed the right platform for you. There are dozens of great e-commerce platforms on the market, and with a few exceptions – one being Magento – all of them are targeted at small businesses.
Magento is the right platform if you have an established customer base, are certain that you will have to handle large amounts of products or orders, or if you are preparing for quick scaling in the first few years.
But if you are just starting with a small business, something like Shopify or BigCommerce may be more suitable for your needs.
Consider the timeframe
June 2020 may seem like a date far enough in the future that you can rest easy. (Again, if you are satisfied with your current Magento 1 store.)
But “migrating” your store to Magento 2 is, in reality, a rebuild.
A 2017 study found that the average time of Magento 2 implementation is 4.2 months, but the timeframe may greatly vary. A complete migration can take 6-9 months, and the more 3rd party extensions and uniquely developed solutions there are in your store the longer it is going to take.
Your database can be migrated seamlessly as is, but custom functionality, extensions, and integrations are going to take more time. As for the themes, there is no way to migrate those from one version to another, so your theme is going to have to be recreated from the ground up.
And as the EOL date closes in, more and more merchants are going to realize that they have to move. The number of experienced Magento 2 developers is growing, but they are still going to be busy with all the migrations and if you wait too long, you are going to have to wait in line.
So if you are planning to do the migration last-minute, you are probably going to be late. And in this case, you will have to run a Magento store for months that is not supported anymore and no security patches are issued for it.
How much will it cost?
The base price for a Magento 2 upgrade is $4,200/month, and the duration of a complete upgrade is 12 months. That means the final price will be around $50,400.
The migration process itself usually takes 6-9 months, but on top of Magento 2 development, this price also includes Magento 1 support and the management of hosting for Magento 1 and 2 after the release until the end of the 12 months.
Not included in this price are 3rd party extensions and other such materials.
As the “migration” basically means the development of the store from the ground up, this also means that migration gives you an opportunity to redo the site, make it better, enhance its performance, get a responsive theme and so on.
What do the users say?
In mid-2018 Cloudways surveyed more than 50 Magento developers, designers and project managers about which version they prefer.
In terms of usability, more than 2 in 3 respondents said they liked the new version better:
- Magento 1: 18.5%
- Magento 2: 70.4%
- Don’t know: 11.1%
Performance results also favored Magento 2:
- Magento 1: 27.8%
- Magento 2: 68.5%
- Don’t know: 3.7%
And if we talk about security, there is no question which version won the experts’ heart:
- Magento 1: 7.4%
- Magento 2: 81.5%
- Don’t know: 11.1%
When asked about migrating 80.5% responded that current Magento 1 store owners should migrate to the new version. And those who said “no” said that owners should wait until Magento 2 becomes a bit more stable (which now it definitely is), and should only wait if everything runs perfectly for them – but if someone is looking to set up a new business platform, they should still go directly to Magento 2.
If we look at more in-depth data with BuiltWith, we can see that there are currently 33,726 sites using the Magento 1.9 version – but there are 61,295 that historically used it. Magento 2 has 42,333 active sites, with 44,035 historically. The trend basically signals that more and more stores are abandoning Magento 1 and migrating to 2. (Of course the number of 1.x versions is higher, we analyzed the latest build.)
We can also see that the number of Open Source (here marked as Community) stores is approximately 10 times larger than Commerce (here marked as Enterprise) ones. But as there is still some confusion with the changed brand names, we wouldn’t deduct any far-reaching conclusions here.
It is estimated that by 2020 the number of merchants served by Magento is going to increase by 200%. If this comes true that would be an impressive number – currently, there are an estimated 250,000 stores out there.
When migrating is a no-brainer
If you are experiencing any of the following problems with your Magento 1 store, you definitely have to start preparing for a migration:
- The store can’t handle peak periods, too many visitors or orders are impacting the performance of the website. If the site is slow to load or not accessible, your visitors (even returning ones) will turn away and many won’t return. Your revenue and your brand both suffer.
- If conversion rates are falling (and cart abandonment rates are too high). If you have to streamline checkout, if you want to apply new online marketing strategies in your store, you should move to the environment in which most of it comes out-of-the-box.
- If the overall user experience in your store is bad. If the product, marketing, and processes are all in order, the problem is most likely something more basic – like not being able to offer enough payment options or not getting the right reports about where the error might be.
- If you want to start major updates or development. There is no point in doing the work twice over. If you are planning a redesign, introducing more custom functions and capabilities, the switch is a natural solution.
- If your site is not mobile-friendly. Really, no question here: you are simply turning away potential customers at your door and with them, throwing revenue out the window. You need a mobile-friendly site, and Magento 2 is exactly that.
- If you have long-term plans with the store (including scaling it). By 2020 you have to switch either way, so there is no point in waiting: with every day you are falling behind those who were early to switch and are using the more advanced options and capabilities, whos stores are more efficient and faster than yours.
The consensus is that the sooner you start the migration the better because it is going to be inevitable anyway.
- If you start the migration too late, you will have to wait in line as the migration can take 6-9 months, and you can be left with a store for months that is not supported.
- If you are developing your site, use unique solutions, the sooner you start the better: if you are developing functions for your store you won’t be able to migrate them, so if you upgrade sooner you won’t have to do the work (and pay for it) twice.
- Migrate when you are in your slower season if you can. This way you can switch when the change is least likely to disrupt your daily business operations.
- If you are using 3rd party integrations and extensions, the migration to Magento 2 is an opportunity: you can examine how efficient they are if there are better solutions available for version 2 and if they can be replicated at all.
- If you decide to migrate, make sure that you have the budget and resources necessary. (If you want to know about costs, check out our in-depth Magento pricing post!)
The migration will not be fast, easy or cheap – but it is well worth it in all cases, not just because you get to use all the state-of-the-art technologies and tools that come with Magento 2, and not even because your performance is going to gain a large boost.
It would even be worth it just because you get to renew your store.
By leaving behind what you don’t need and getting new extensions with new functionalities that fit your goals better you can streamline your processes, and be more effective in your marketing. You can bring the store closer to your brand and in the meantime create a much better experience for your users.
The only real decision you have to make is when do you want to upgrade. And given the June 2020 EOL date, you should start thinking right now about when would be the best time.