DISCLAIMER: This is only the humble opinion of a single Magento user, and is intended as an opinion piece and not meant to be taken as an authoritative review of the platform. Maybe someone out there has had a better experience with the platform than I have. Instead, adult profanities follow. Lots of them.
“Hey everyone? How are ya’ll doing? Fine and dandy? That’s good. Guess what I spent most of my time this month working on? A Magento site! How was it you ask? Well…”
“FUCK YOU Magento; you’re the least user-friendly, arrogant piece-of-shit web platform I have ever had the displeasure of using. You’ve caused me countless hours of migraine inducing, head-scratching, what the fuck moments that I had no intention, or expectation, of having to contend with. Because of your single-handed inept, horseshit way of magically generating errors out of thin air, I’ve not only seriously considered, but already taken steps to get out of the web design business altogether. Go fuck yourself, you piece of shit platform! Why, oh why, didn’t I sign up for Prestashop instead? WHYYYYYY?!” – Some angry person.
Phew, now that that’s out of the way, where the gosh-darned heck do I actually begin to describe the nightmare using this platform has become?
For those of you out of the know, Magento is the world’s largest, most popular e-commerce web platform. Right out of the box, this system pretends that it’s the bees-knees of e-commerce: it’s big, it’s got features, it’s got a community and it’s got a price-tag. Everything about it reeks of confidence to the point of big corporation arrogance; but if a platform has been aroud for a decade with some of the biggest names in commerce using it, you would expect a smaller site might be able to reap the benefits that only a robust platform like Magento could offer?
Wrong motherfucker! AMBUSH!
I’m sure there are good things about Magento, somewhere, hidden in that deep, dark pit of despair, but in reality whatever good this platform can offer is in every way overshadowed by its error-ready inherently broken core architecture. It’s honestly as if every single piece of this behemoth was built from the ground up using psycho-logic.
Exhibit A – The import and export functions.
In a normal world, when you export and then import something from the same damn site (like taking socks out of a drawer and then putting them back in) you expect them to work / be accepted / import (you expect the mutherfucking socks to fit in the mutherfucking drawer!).
With Magento, I exported the entire catalogue from our site, and then attempted to re-import it back to the same site. The only difference was that we moved the domain; every single other facet, from attributes, to categories, to currencies, was the exact same.
Then, when I imported them, lo and behold, over 15 000 errors! WTF?! After checking the spreadsheet, it turns out that it was indeed filled with errors – errors that Magento arbitrarily decided to fill it with!
Why would a system’s own built-in import and export function fuck itself like that? It’s like after unloading a bag of fresh groceries in the fridge, closing the fridge, and then opening it to find a gaggle of geese fly out at high speeds type of insanity.
The best part? After I fixed all 15 000 errors BY HAND, uploaded them and got the perfect green checkmark of “everything works” – nothing actually worked! In the back end, everything was there, fine and looking good. Products were active, on the right site, in the right categories – everything; except, they weren’t appearing on the front end. Not. One. Of. Them.
After a good 10 hours of troubleshooting, it turns out that 99% of the products magically didn’t work, and would never work. The other 1% could, but they got imported with the “enabled” switch turned to “disabled” for some mysterious reason. I tried switching the others to disabled in the hope that they would work, but no dice. The only way they worked was to copy paste each individual bit of info from that spreadhsheet into the product creator… oh, a good couple thousand times.
Exhibit B – The case of appearing and disappearing errors.
I went into the theme template and disabled every sidebar widget save for a recently viewed products list. I tested it, and it worked… but that was yesterday. Today, after having added a few more pages to the CMS, updated the store logo and added some images to the home page, etc. standard stuff. I went to look over with the products and happened to notice the recent product list wasn’t appearing. I go to the back end, check, and it’s enabled? WTF? I enable other widgets and they all work, but not the one goddamn widget I want!? FUUUUUU!
Exhibit C – Change the logo anyone?
From the back-end, the only way to upload a media file is through loading up an individual page editor in the CMS section and pretending to insert a file but only going so far as browsing. Once there, I dumped the logo file into the EXACT SAME directory as the default placeholder and saved. I went to the theme settings, changed the name of the file on the path and then bingo it… wait? WTF!? It’s still the old logo?!
To cut that piece of shit story short, it turns out changing the filepath does nothing – the only way to change the logo was to manually overwrite the placeholder file with the new logo and then go. (Pro-tip: changing the file name in the core database doesn’t even work – other magical nonsense happens… I don’t recommend you try it, ever).
Hmm why not just have an image uploader built into the settings where I can simply upload my logo file and the system takes care of it? You know… like the GODDAMN FAVICON?!
But no, that would make sense, and Magento isn’t a fan of having to explain itself.
As far as I can tell, the only way to make Magento inherently work, to avoid countless migraines that seriously make you question the possible existence of the devil, is to never, EVER, make any changes to any sort of the architecture, template or system, no matter how modest. Buy a template, and don’t even so much as change the name of one of the pages. If you so much as do, then be prepared, well prepared, to enter into a realm of Lovecraftian madness beyond your deepest, darkest, watery dreams of chaos.
Fuck you Magento, I hate you.
FUN FACT: Two and a half years later and Magento still sucks! I’ve written a follow-up piece to commemorate the occasion. Be sure to read about Another Trip Through the Inferno: Magento.