5 Reasons as a shop owner you shouldn't use Magento
Magento has been the reference for making an e-commerce website. But things change
Those who know me know very well that I don’t like much Magento. I have been working with Magento1 for the last 6 years and worked on Magento2 websites since it was published.
In my opinion, there are multiple technical reasons why Magento2 is a failure, and I have written a few articles on this subject.
But in this article, I will give you 5 reasons why as a shop owner you should not use Magento2.
1 — Native bugs
Magento 2 has a lot of bugs, in the CE and the EE edition. This can easily bee seen in their GitHub
All Submissions you make to Magento Inc. ("Magento") through GitHub are subject to the following terms and conditions…
A lot of these issues are actually people asking support, but there are also a lot of true issues that will affect your e-commerce. For example, this bug #3625 which can cause the price displayed in the mini cart to be wrong. The bug was submitted in 2016 and confirmed on Magento 2.0. This bug is still present in magento 2.4.
There are also bugs with payment methods which can charge incorrect amounts (see #7977), as well as calculations errors (see #8964) which can lead to customers not paying the correct price. These are only a few examples among many.
Finally, there are these bugs that are ignored. For example, the “Maximum qty discount” option on cart rules don’t work since Magento 2.1. The issue (see #9214) exists but has been closed as they will not fix it.
What does this mean for you a shop owner?
- Any configuration or contribution should be tested on a test server before. I would recommend testing configuration changes on a test server for most solutions, but with Magento, I recommend testing contributions as well. This is very time-consuming.
- You will need to find workarounds or install modules that fix native bugs or have your developers try and fix these native issues. Even workarounds will take time.
This means you will have additional expenses that you can’t foretell because you can’t trust your solution. It also means you will have to make compromises.
2 — Performance
Magento advertises Magento 2 as faster then Magento1. First of all, this is wrong. Magento 2 can be in some cases faster than Magento 1. The way Magento works, once a page is displayed it will cache its content. So next time the page will display faster. Magento2 supports Varnish which Magento 1 didn’t; thisis great for performance. This is why Magento advertises Magento2 to be faster.
The issue is, what happens if the page isn’t yet in cache? The page is very slow, it’s actually slower then Magento1. Let’s also note that some pages can’t be in cache, their content changes for each user; these pages will always be slow.
Can you make things better; yes you can, but it will cost a lot.
- First You need to put Magento on a diet. This means removing all the modules you don’t use. This is complicated because most modules are essential and finding those that can be removed without breaking Magento is time-consuming. You will also need to spend time to check it after each update.
- You need to create a theme from nothing. Need to remove (by override) all the native layouts and content in order to start from scratch. This also means that you will lose some of the flexibility Magento offered and the install of each new module will be more complicated.
For a few years now Magento has started recommending PWA applications. This fixes Magento being heavy on the client side but:
- PWA is still a young, and therefore costly to put in place and to maintain.
- PWA does not fix Magento being slow to respond. Magenot’s API which allows PWA implementation are also very slow.
All of this means that you can’t expect to have a perfect SEO, for performance plays an important role; this also means you will spend a lot of time on performance subjects and/or on building a PWA application.
3 — Hosting
Magento used to rely on Mysql for search. Mysql is not a search engine. It can’t handle properly fixing typo’s and it can’t do facet’s in an efficient manner. Magento has therefore added support for Elasticsearch. This is great, but they have made Elasticsearch mandatory.
Magento also uses queues to handle heavy operations. Importing a large file, for example, will run in the background so that the admin that executed it can continue to work. This at first was handled with Mysql. Mysql is not designed to handle queus; its not efficient. Magento, therefore, added support for Rabbitmq which is great, but they have made RabbitMq mandatory
Having both Elasticsearch support & RabbitMq is great if you have thousands of products and if you are constantly running imports and other heavy operations. But most stores don’t need RabbitMq; some doesn't even need Elasticsearch.
By adding new services that are mandatory Magento is increasing the hosting costs. Magento being also very heavy requires powerful servers that also adds to the cost.
4 — The Admin Panel / The Back Office
From the Magento’s back office you can edit your product structure, you can edit the products, handle your order flow, change configurations. The Back Office does everything it is expected todo.
But, it is also very slow; if you have multiple categories you can need a few minutes to see the page. If you have complex products the product page can freeze your computer when opening and sometimes even crash your browser.
If you only have a few products, and a few orders this is fine; but if you intend to manage thousands of products directly in Magento you will lose a lot of time.
5 — False Enterprise Edition Support
If you are thinking of using Magento Enterprise Edition, you might think that you won’t be concerned by some of the Magento issues. That might be true if you use a Magento with 0 customisations. But if you add a single extension you will need to prove that a native Magento has the same issue. So again you will need to spend time.
Even once you proved them that the Bug is present on a native Magento you will need to wait for a lot for a fix; if you ever get one. And if you end up getting one there is a chance that at the next update your fix will stop working at the bug will be back. Once this happens you will need to start all over again.
So let’s make it clear, if you do think of getting an Enterprise Edition for their support; well in my opinion don’t. Get an Enterprise Edition for it’s features.
The main issue is that Magento has lost its identity; it used to be a great e-commerce solution for small and medium sized businesses.
Today small businesses can’t really use Magento. 5 years ago having a mediocre website was acceptable; today it’s not. So a small business can’t afford to run a Magento without making a lot of compromises which means having a mediocre website. This is due to Magento has a lot of issues out of the box.
Medium businesses can use Magento, but at a great expense; and even they would need to make compromises.
So who is Magento destined to? The big businesses?. No, they can’t use Magento, because Magento won’t scale well. If you put 50 stores (languages) and 1 million products in Magento it won’t hold. Cart prices rules will fail, the Back office will not work properly, imports & exports will not run and even if it worked, performance would always be an issue.
So who can use Magento? Well, those just in between the big businesses and the medium ones. Those who sell enough online to justify the cost of Magento and that needs most of the Magento features. Those who can make compromises but don’t have the budget for something that would cost more but would work better.
Magento2 has tried to change segments; to aim at a richer market. They did this by adding new features, supporting new stacks; but at the bottom the foundations they are not designed to handle it. This failed attempt has worsened Magento; it has made Magento expensive and even more complicated than before.
With alternative solutions growing and becoming easier to use for both the shop owners and for the developers, there are fewer arguments to choose Magento every day.
Thanks for reading