Friendly warning to anyone who is considering launching a store with Adobe Commerce / Magento 2.
Choose something else.
Magento 2 is complete nightmare garbage to work with. I regret spending over 6 years trying to get this platform to work. And it didn’t. Adobe/Mageno2 still does not work properly.
However, Adobe is not responsible for the Magento 2 project failure. Adobe has become painfully aware of, over the past year with Magento. What Adobe was sold on when it bought Magento, was perhaps the prototype of Magento Commerce Cloud (white labeled hosting from the Platform.sh) with a few examples of smaller brands using it and a lot of failed big projects (Nike, Adidas, Walmart, Starbucks, MacDonalds). Adobe has realized that Magento may not be as good as originally forecast. adobe Commerce Cloud is essentially a bunch of disparate pieces of the legacy technologies from multiple vendors that don’t work well together at scale.
Some highlights of Adobe Commerce development:
- You fix 2 bugs and another one creeps up from nowhere
- Random bugs out of nowhere
- Breaking changes when upgrading minor versions (for example 2.4.1 to 2.4.3) breaks the entire store
- Overengenered and shitty XML layout system
- Slow, slow, slow. You need to optimize performance a lot to get a decent load time of ~1 second (lol)
- Each upgrade brings new breaking bugs that make your store not work
- Do you like bundled core modules that you will never use? Adobe Commerce has a lot of them: Staging, Adobe Stock, GraphQL, MSI, DotDigital etc.
- Do you like to destroy your database on minor upgrades? Then Adobe Commerce is perfect for you. Spend 10 hours database cleaning.
- SMTP breaking, even with the patch, it does not work properly with third-party SMTP modules, and you have to use these extensions because SMTP support does not exist in core for some unfathomable reason. All the SMTP extensions doesn't work because they broke everything.
- Unable to uninstall core bloatware modules. No, putting them in composer “replace” does not work for all modules (works for most). It is a real hassle.
- A lot of SEO issues. Microdata being incomplete and invalid for example, requires another third party module
- Do you want to upgrade your live store from staging? Have fun with downtime. Because there is no migration procedure that can be done without shutting down the store.
- The CMS is garbage
- Github maintainers close your issues because they can’t follow simple step by step instructions to reproduce the issues
- Github maintainers can not re-produce real issues 90% of the time because they only test on an empty store with no products, customers, or any real data and claim everything is perfect
- Logs piling up with “Broken references”, according to M2 devs “Working as intended”
- Terrible security. index.php and app/config/env.php need to be writable! Impossible to run M2 in a read-only environment.
- Adobe Cloud id Not PCI DSS compliant
- Magento 2 is 6 times lower than the previous Magento 1 version and it can’t be fixed because of the initial bad design.
- Adobe Magento 2 randomly deleting product images
- Multi-store core architecture problems
- EAV architecture issues
- Very hard to uninstall the malware extensions that come bundled with core installation
- All that Open Source fake nature of the enterprise project just fixes minor Magento 2 bugs for free for the rich company and divert developers from building better open-source competitive projects.
- Cronjob destroying your store after running a week, so you have to constantly empty and maintain the cron_schedule table manually
- Cron takes more resources than your visitors. Even if you don’t have traffic the site is slow because crowns burn any CPU limits and you can’t just disable garbage cron jobs.
- Unable to change currency formats and decimals, because that is hardcoded
- Checkout UI and architecture in Magento 2 are slow and just broken. PHP JS generated in the XML with KnockoutUI components with jQuery
- Wrong ElasticSearch implementation
- Broken theme updates done to the base Luma theme without even checking in any browsers or phones that it actually works
- Shitty JS/CSS bundler. Basically, you should disable it will be the best.
- Mo Proper Google tag manager support requires another module, and all that modules have performance issues.
- It’s slow, buggy and the bugs are slow to be acknowledged let alone fixed.
- Impossible to import currency rates, guess nobody runs an international M2 store because the feature was broken in the core
- No GUI for table shipping rates, one has to upload and download a CSV (lol) every time you want to change shipping fees… leftover bad design from Magento 1. Must be hard to create this GUI.
- Random KnockoutJS(LOL) Magento's homegrown UI errors
- A lot of the core malware bundles do not work properly. One would think if these were paid inclusions that are mandatory in the install that they would function.
- The entire Magento ecosystem is broken. The extension is buggy not properly working and impossible to upgrade. When you are installing extensions s you have x N issues during the update. Each individual extension will have an issue.
- Adobe Partners (Agencies) are just scummers they wanna sell outsource hourly developers work for you and don’t care about tech stack and performance. The biggest partners deliver the worst solution. You will need to pay 2–3 times for different partners and developers to redo the same work. Price estimates are just cosmic that's why partners kike Magento. Bore bugs more bucks.
I’m totally ok to charge big bucks however it should be a good solution, not a Magento broken slow working, buggy solutions.
- Choose something else. Anything.
Adobe Commerce had their chance to show they learned lessons from how Magento 2 and Magento 1 development went.
They proved instead that they learned all the wrong things, and doubled down on many of the architectural mistakes.
A bad car is a bad car. It doesn’t matter if they spent $10000000000 R&D on that car.
It is still BAD.
Since 2010 when Magento was bought by eBay and after Adobe it is not open-source anymore it has a capitalist mindset.
Capitalist mindset means: They only care solely about profit, making money.
They don’t invest much in quality control, tests, and after-sale services, but they invest heavily in advertisements so that they get 4-star reviews and praises.
Real open-source massive investments into quality control, tests, surveys, and development using own technology, so that there is nearly 100% guarantee that solution last longer.
Magento 2 is not stable at all and should be avoided at all costs for production builds at present. There are people having issues due to open bugs and literally showstopper level security vulnerabilities still being discovered. The community are reporting issues faster than they can be fixed, and there’s a worrying feeling that the community aren’t being listened to in the development of M2.
Adobe doesn’t care about architecture, performance, and development satisfaction because they are not building anything using Magento platform. Their main goal sells the license and shitty Cloud and after it is your issue, not theirs. Because Magento doesn’t have real competitors in the cheap Enterprise level solutions and non technically educated merchants will buy whatever will be advertised.
It doesn’t matter if anyone put 10000 hours developing a product. If the product is bad, it is bad. You can’t applaud the effort, you need to applaud RESULTS.
An eCommerce system should not be that hard to make. These things are hard to make. An eCommerce system really is not.
Adobe Commer architecture is just bad, it took the worst parts of Magento 1,2.
There are many other good alternatives out there (open source). But if you a serious about going Adobe Commerce (the enterprise edition) there are A LOT of better vendors out there. Don’t waste your money on it.
Headless is the only thing that can save this wreck to escape the horrible frontend however legacy slow sucky backend will be unchangeable
Magento 2 is a joke. It worst software I ever had to work with.
The Magento-based headless implementation also sucks. Want to add a GraphQL endpoint? have fun figuring out that convoluted shit code. The documentation is complete crap too.
Want to do headless for performance? Sorry, you still need your Admin token for certain calls, so better make a proxy that does this for you, so you don't expose an admin token to the world. The API performance is not better, it still slow. Why it should be better if it shares the same broken backend. Yes, not layouts but to render one Headless page you need to make 5–10 times more API. GraphQL request. So, Headless is even slower and doesn’t have FPC ;)
Want to add a module from a 3rd party vendor, respectable or not? You need to modify the module yourself to add (at least) REST API support.
We had to overwrite CORE modules with dev-master versions cause of bugs… now comes the time to upgrade to 2.3.3… kill me, everything breaks and we spent a week with 2 programmers to fix this dumpster fire.
A lot of advertisements about Adobe Magento Good performance in the context of Full Page Cache and Varnish. However, the cache is not a platform performance any platform can be cached in Varnish, however, page generation performance, checkout, searches, admin area, API performance does matter.