Magento : Lets take this out back!
I have a client who recently switched his hosting provider to a more flexible one, and as we transferred to the new provider, we made a few improvements to his site’s back end and found a new product to meet his e-commerce needs as well… or so I thought.

Enter Magento. So, at first glance, Magento looks like a sweet Web app. It has really cool features and tools that will help my client manage his online sales and order process, notify him when his stock is getting low, when someone has placed an order, and eventually integrate with QuickBooks so that there’s less data entry and more selling. Besides all that, it’s opensource, scalable, and is actually a pretty nice e-commerce solution. For the person who has to develop it (me) it’s a nightmare for now.
When I got this client I started to educate him on best web practices, why they matter, and what is going to improve his website. Eventually I was able to ween my client off of a GoDaddy website and GoDaddy shopping cart set up because it posed limitations, slow response times, and lack of features. But, what do you expect for a “cheap” solution set up by the client himself who isn’t a web developer, much less a designer? So, after a bit of research and keeping an open ear out in the development community, I suggested we try Magento as it looked to be the ideal solution and would allow customization and custom skinning. Little did I know that as soon as I switched over, what should have been a 6-8 hours for set up, product transfer, and skinning turned into a “To be continued…”.
The first thing that threw me off once I started to change the way Magento looked and worked was when I opened Magento’s root folder and got lost trying to find where the files were that I needed to make changes to which would update the design and content accordingly. Everything is done as a PHP include and it’s buried deep within folders, within folders, within folders which aren’t always logically labeled. Besides that there were may files with the same exact name in different folders, so that if you were in the wrong folder and didn’t know it, you might be changing the wrong file. Another issue I encountered had me 4 hours into a debugging with setting security on the site, with an initial attempt at searching on my host server for the security configuration file via Apple’s Terminal and then finally arrived at the problem. The problem turned out to be a corrupted file several folders deep into the site’s files that was corrupted on install. Once I figured that out, I was able to fix my problem in about 10 minutes including uploading the new file and also fixed another administrator side error that was being caused in the admin area.
Other beef I had with it, was that on default set up, it runs sluggish due to the amount of JavaScript that is uses which is placed in the header tag in the HTML. It also takes 5.44 seconds to load a blank page… blank in the sense that there are no products being loaded or displayed, just the design shell. I also fought and continue to fight with the coding to get a simple page to call functions correctly and pull data from my database to basically recreate one page’s content for another page. This ongoing battle is also part of the “To Be Continued…” part that is frustrating. Another learning curve I had to adjust to was based on the fact that their files are built as PHTML and if you’re not familiar with what that is, it’s PHP and HTML combined as a custom PHP extension which is definable in your server’s httpd.config file.
To add the icing to the cake, if you go to the Magento forums, there are many, many, many developer and implementation questions and a few administrator responses. There was a couple of questions that ranged in age of 2 weeks old to 2 or so months old which still had not been answered. Forums for developers are a great way to help out others and yourself overcome issues, bugs, difficulties and learn how to do new things. On the forums currently for Magento , everyone seems to be asking questions with very few answers. Seems like the community as a whole are having problems too. I work with a developer who also has been implementing Magento into a client’s site… and his basic response to Magento was very similar to mine.
Magento was definitely written by back-end developers as you can tell. I think in a version or two, Magento will probably be a pretty solid, front-end developer friendly product with easy skinning and a ton more standard, built-in modules. Until then, plan on long nights and ample frustration… Or maybe you could try all those different desktop stress balls and such that are out there.

Discouraging to say the least. But I guess not unexpected with a 1.0. I installed Magento on my server the same day Media Temple made it available as a one-click install on their GS servers and was pretty stoked about the potential. I had recently completed a Zen-Cart ecommerce site and was looking for something a little simpler and with some needed features. (Zen-Cart currently doesn’t allow multiple shipping addresses per order.) After giving Magento a quick once over my enthusiasm waned a bit with the maze of files and folders that have to be navigated to make changes. And when I was first looking around there were no really customized Magento websites up and running. Yours will probably be one of the first. And being first is usually more “expensive.”
You hit the nail on the head: It was not designed by frontend designers. I am a backend programmer, and I think it’s beyond confusing! The documentation sucks and is frequently wrong/outdated. They have solid programmers and marketers, but no documenters. Few people seem to have figured it out. I see posts like “How do I put a featured product on the home page.” A 5-minute task in HTML, but in Magento, you create XML blocks, .phtml code, and God only knows what else to do this simple thing. Anyone can create complex systems, but it takes talent to make something so simple a dummy can set it up. Ah, but Irubin Consulting makes money doing, well, consulting. Maybe they aren’t so dumb after all.
I am in the middle of skinning a magento site. Having wordpress as my standard for ease of skinning, Magento sucks in the skinning department. It’s open source so I can’t really complain about the docs, but I have seriously considered quitting web development over templating Magento.
My experience has been very, very similar. I can’t find anything the the mounds of directories. Not to mention the file upload was more than 40 MB! That’s insane. It’s footprint, memory usage, and even disk usage are way over the top.
I decided to use it for a friend’s website to learn it and possibly use it in my full-time job, but have found that it will not work in its current form. Totally sucks because its backend functionality works fairly well.
Your post focuses on the development side of this, but Magento turns out to be a nightmare for e-commerce managers as well. A few issues are:
* It runs insanely slow both on the front-end and the back-end.
* The attributes feature for configurable products is horrendous. I spent a full day trying to figure it out. Basically each attribute ends up being a different product, which you have to create individually for each combination of attributes (that means that if something comes in 10 colors and small, medium and large, you have have to create 10×3=30 individual products).
* You can create custom options on an individual product basis, however, you can’t create “option groups” that you can reuse. Instead, each option and all it’s choices exist solely within an individual product.
* By default, there is no way for the user to browse categories. I’m sure there is some way to do this, but shouldn’t this be a part of the interface right out of the box?
* The inventory management is buggy. Even if you turn off all inventory management in the configuration, you still have to put a quantity in product attributes to get the main product to not say “out of stock”.
* There is a Compare Products feature on the front-end interface that would be nice if you wanted to use it. If not, though, there is no easy way to disable this feature.
I could keep going, but I think you get the point. Luckily we used Magento on a pro-bono client and won’t be using it for any of our paying clients any time soon.
So I have spent the last 6 months working on a website for a client, she was using an asp based shopping cart for the past 10 years. She found it hard to just update an image, and was spending close to $200/mo for hosting and fees. I proposed switching her to wordpress or something similar which was open-source to save her on the fees, excessive costs. We ended up choosing Magento, becuase out of the box – it works great. Little did I know how much of a headache, learning and skinning magento would be.
I have learned a lot by their lack of documentation and making a lot of mistakes. Magento is built on the Zend platform which is the main reason for so many files and why the templating engine is a pain in the arse! It is also slow if you are trying to run it on a shared host, I had to switch the client to a faster host. We had major issues when we tried to do an upgrade using Mageno Connect, highly not suggested! Use SSH to upgrade and you wont get problems/issues/bugs.
Some features are really nice, but overall its a pain in the ass to figure out since the software is still fairly new.
I’ve had exactly the same (negative) experience with Magento.
It sucks, plain and simple. Millions of files in an extremely over-engineered hierarchy, as well as a completely unnecessary multi-level system of php, xml, and php templates which causes most errors to be impenetrable.
If you want to use it EXACTLY as they have it packaged, feel free, if you can handle a system that actually makes PHP slow.
If you want customization, stay FAR, FAR away from Magento.
And the Magento team had such an easy assignment: make an e-commerce solution that sucks less than OSCommerce. Answer the easy, obvious questions. Take one of the coders off the team to actually answer stupid basic questions.
I’m trying to skin it. Trying to get a category listing from one place to another costs a ridiculous amount of effort and fails. In the end, we’re still dealing with .phtml boxes with a fair part of PHP “brains”. Making your own blocks makes me want to jump off a cliff. I hope I haven’t screwed up my current skin too much – I might have to start over again.
It seems to me that all os sucks. Does anyone know of good alternative? A e commerce solution that is easy to ’skin’ customize? oscommerce, zen cart, magento I have the same problems with all these programs…
Here it December 3, 2008, on v1.1.6 and I’m … /pretty/ happy. Of course, I’m a backend developer. First things first the worst thing about Magento right now is that there is no order export functionality. Someone developed one at great expense and deserves to be paid for it, but it’s distressing that it’s not there out of the box.
Documentation is sparse, but should continue to grow (I hope) as this gets more widely adopted. This has the opportunity to benefit from the Open Source positive feedback loop; its “extensions” architecture leads me to believe it has a far better chance than osCommerce did!
But we’ve got our store up and running. It’s light years ahead (now, anyway) of osCommerce. Perfect? No, but the architecture is quite good, separating out presentation from logic.
Having said that, though, I was probably at somewhat of and advantage coming in. I rolled my own carts 10 years ago, began wrestling with osCommerce as it came out, and now, well, I’m able to find most of what I’m after in Magento because I kinda sorta know where it “should be.”
But I think there’s hope that this application will continue to evolve and get better. In terms of functionality the only thing I had to kludge was MAP (Minimum Advertised Price) policy. That really should be included. Other than that, we plugged in products, skinned, and ready to go.
Also a disclaimer that in our project, the most difficult part was getting data out of a non-SQL legacy system.
i too feel the same way. its so so so confusing, i thought this was going to be easy but its a mess they created i think in a few years they will realize what they did wrong.
basically i hate all shopping cart solutions all of them.
I have wasted a week I will never get back. This is the second time I tried to test Magento. The first was several months ago, when it was so painfully slow loading a page that I gave up before trying to actually configure it for our real store. This time (on a newer, much faster host) the performance of the base system seemed reasonable, so I started to see what I could do with the frontend. I’ve worked with X-Cart for over 5 years, and I’ve done a fair amount in Zen-Cart. I’m a decent php & html hacker – meaning I can usually google enough to get the code to do what I need. Magento, however, has beaten me. I suppose if I were willing to spend several months of effort I would eventually figure it out – but I suspect I would also end-up with a system that is exactly like my current X-Cart system – hacked so badly that there is no hope of ever applying an update.
I simply don’t understand how the Magento developers could spend so much time on some really cool aspects – yet not give the end customer really basic functionality such as an easy way to configure the home page. I still haven’t figured out how to get rid of the “Back to School” demo sidebox – I think it’s an image that is loaded in one of the CSS files, but I’m not sure. It’s a shame – the market is crying out for a decent opensource cart that is easy to configure and doesn’t look like a 1988 version of the Yahoo home page – but I guess I’ll just have to wait a while longer…
I have been amongst those squashed and smashed by Magento’s ugly architecture. At first sight, Magento looks sweet, but the way it has been implemented inside is ugly.
I just can’t tell how frustrated I have become with one of the Magento projects I am involved in right now.
I think the company that developed Magento made it difficult to modify on purpose – so that they can get the most number of contracts for changes/modifications, they being the designers of the system – they know it better than all of us (They offer this as a paid service).
I think Magento is good to be taken as is and used. Once you try and act smart and try and bring modifications not part of the standard magento, you are in hell!
It’s funny how every single reply has been negative. Except for the somewhat positive remarks by MXWest, no one has anything good to say about Magento, even considering the fact that it is free and open source.
I bet you thought I was going to say something nice, but I’m sorry… Magento plain sucks.
I too have invested A LOT of time into Magento and just recently discovered that the obstacles are deal breakers. I was even going to be willing to forget I was a programmer and just try to use it “out-of-the-box” like a good dog. I was going to overlook the slowness of it and hope that front end users didn’t notice and just thought it was their own internet connection. I even went as far in my mind to justify that they didn’t integrate eCheck.net (my customers absolutely need to have some electronic check option).
Pages just refuse to show up (blank in every sense of the word with the “done” status at the bottom). I have had to increase my PHP memory settings. I waited a whole day and a half while my products were importing. I even read their documentation a couple times, figuring I should get to know my new found friend.
Magento looks so cool and promises so much. I feel like I made a gold-digging deal with a trophy wife. Magento is one of those solutions that you can be proud of, but you’ll have to deal with your whole life knowing that you two will never love each other. Magento used me and I lost a lot of late nights. I will be filing for divorce very shortly.
What disturbs me most about Magento is the fact that the same company that is giving it away is “demanding” expensive support contracts for users that must have answers now. The user forums are filled with endless unanswered requests for help. You want answers? Start paying to get them.
This is not open source. This is not ZenCart or OsCommerce where you can interact DAILY with the development team, and many many knowledgeable users.
Where is the open source community here? Where are the user contributions and templates? Scare, indeed.
I’ve been watching Magento since it first was announced. Install, test, shake my head and forget about it for 6 months. Well, it’s January and 1.2 is finally starting to take shape. Usable? Perhaps.
Will I be able to get help if I get stuck? Doubtful. Will I pay for support? NEVER!
I would recommend staying away from Magento. Too many bugs to be reliable. Free is not always better as myself and others are finding out. Especially withthe new updates. Many people are losing their entire databases and corupt DB backups that Magento doesnt make properly. I was dissapointed with Magento after developing it for a month to have it fail and lose money and so much time after making it look nice. It looks nice, but dont trust it.
I hate to just come out and say it but it sounds like everyone on here is just whining.
I too got very frustrated with Magento when I first started designing my site. But come on! Anything that’s worth anything will take a little extra effort. I wanted to give up multiple times but I didn’t. I stuck it out and now I can look at most any site and know how to duplicate it in Magento. I’ve had no schooling, I still don’t work well with PHP, and I had never even heard of Zend or most of the other systems that Magento uses.
So I’m not trying to be a jerk but I will leave you with the advice of just do it. Is it tougher than other e-commerce platforms, yes. Could they have made it less confusing, probably. But man, it’s free and you all have admitted it’s a great system.
My clients are blown out of the water when they see what their store can be. And because I spent a great number of hours swearing at my computer, I am now reaping the benefits.
Keep at it if you’re good at figuring stuff out. If you’re not good at figuring stuff out, stick with the other open-source solutions out there.
Thanks for your opinion. Without hacking the core files, have you been able to get the page load times down so that it loads faster? I don’t think the other commenters are whining so much as they are venting their frustrations as a Magento first-time user.
I’ve been working with Magento for a bit now and have gotten used to their system, but still have issues with it. My client’s biggest complain is the speed at which the page loads. At one point we re-wrote many files in Magento’s core to get the page optimized as much as possible and got the load time down dramatically. The only problem is that you’re now unable to perform a regular upgrade to the latest version. So far, it’s either hack the core to make it optimized and load smoother, or keep up with new features.
Again I am no true developer so I commend you on optimizing your installation in that way. The number one problem that I myself have experienced is the speed of the server itself. I am always reading about people running on bluehost or some other generic server like that (the first commenter said they had it installed on media temple’s GS plan. You can’t put Magento on a shared, grid, cloud, or any other similar server and expect amazing results. When I started out in design a few years ago I first started out using one of those generic hosts. Well that was fine when I had a blog that no one read and a simple html page. For any kind of decent speed you won’t pay under $20 (and that is pushing it already).
So ya, I’ve relied on server performance above any desire to change code to my liking. As I learn more I’m sure I’ll get into that but for now I’ll just suggest to others to not skimp on the server. Tell the clients to think of it as rent on a storefront. 50 bucks for a storefront that is accessible by anyone anytime is a great deal.
If you can’t afford it that’s fine, just don’t expect decent speeds.
Appreciate your post.
It’s a little late to add to this, but I only now just saw it. I am working on an implementation featuring magento’s e-commerce package and, while at first it may seem overwhelming, I have to say the project is extremely well designed and architected. There is a learning curve to be sure (and admittedly I am still on it) but the structure of the site really is intuitive once you get a feel for it. I think it is a good idea to vent your frustrations when they become overwhelming, but afterward go back with a clear head and try again. It will be well worth it. Just don’t wait around and expect magento to change to cater to your process. Because that will never happen.
Amen, Andrew.
To those of you who are excited about Magento, keep going. It’s worth it.
Good luck.
I agree with most of the posts above. The main gripe seems to be the templateing system, which is hard to use for use for sure. Just getting going was weird, usually using google.
But that said, I’m not expert but I have used a couple other open source carts in the past, and I think the general rule is: “expect bugs and troubles”. So far, everything has worked as it should in Magento, and that’s already put it far above other projects.
I wonder, I see all these complaints, but where’s the link to this magic open source free shopping cart system that is easy to use and configure? For now, I don’t think there is one.
Interesting reading – both negative and positive – I think I’m a shade on the negative side of things at the moment.
I would agree with many of the comments above it’s too big, too slow, using Magento Connect to upgrade can kill the installation (use SSH or just don’t upgrade).
Skinning a site just takes a bit of practice (lots of Google) and time – it’s when you come to actually try and add some code in that things get hard.
Whilst osCommerce, ZenCart, ProductCart etc etc can be worked on by just editing a single file Magento makes things trickier by requiring that you edit a hierarchy of files and bug hunting through them can be a nightmare. From a developer’s point of view it takes hours to code in a function that you would expect to do in minutes – in my book that is not a good way to make money if on a fixed price contract.
Having said that if you keep at it some things (like the built in SQL queries) start to make sense and things pick up – the total lack of up to date, decent documentation does not help.
Be very wary when writing your own modules that updates to the store may ‘break’ them as Irubin do not shy away from changing variable names in updates and, if you are relying on the old name?
Finally – one or two folks above have queried the true ‘Open Source’ credentials of Magento and the motivation of Irubin Consulting in releasing it. Having read extensively through the Magento Forums and seen the responses (and lack of same) from the development team then I have to agree with them – in my book this is a vehicle for Irubin to make money (hats off to them – it’s a brilliant bit of programming and represents thousands of hours of work)and, as a business model, it’s pretty clever.
Wow! I’m surprised to find that I’ve stumbled upon the congregation of developers who have no clue what they are doing, I refer here to the nay-sayers mostly. Not to be insulting, but if you cannot analyze Magento and understand its structure, which is, may I add, very organized and predictable for most MVC-centric developers, you should probably consider a different profession or pass-time, whatever the case might be.
So you want a flexible e-commerce platform for free (open-source) and not only can you not figure it out by taking some of your precious time to analyze it, but you dare bash the hard work of dozens of developers more qualified than yourselves. And if that’s not enough, you insinuate that it’s a ‘clever’ way on Irubin Consulting’s part, who has invested the capital to grow the project, to make some money?
Last I checked, MySQL, which has been forever a sub-par DB solution, sold for well over $4 billion. Try their forums to get an answer on anything, see what you get. Guess they weren’t in it for the money.
The web does not belong to the common of the mortals. It’s a programmer’s world – if you don’t want in, go home. That also goes for so-called “front-end” developers. Markup and CSS are but the frame that holds the picture, programmers paint the picture. Get a clue.
Lastly, anyone of you ever spend some time with osCommerce’s codebase? Pah-leeze.
I came across this post trying to find a solution to the problems I am having with magento. I think that magento is wonderful feature wise. I think while it is unconventional in its architecture it is workable and I am willing to familiarize myself with it. That being said speed is the deal breaker.
I have worked with many php based applications and never have I had issues with speed like this. I can make changes to the environment at will but right now I am trying to implement fastCGI as I have ran out of all other options. Gzip conpression, Eaccelerator, javascript compression, magento’s native cacheing, etc. etc. etc. I have tried everything that usually results in improvements for any other PHP app I have used to no avail in magento.
The thing is HEAVY on javascript to the point that no matter how fast you serve it end users can still have speed issues. It’s also concerning that in this 5 page thread http://www.magentocommerce.com/boards/viewthread/14860/ started in august of last year the most frequent solution is to drop $$$ on dedicated hosting. Even some of the dedicated hosts (that get plugged every time someone is having speed issues) fail to serve the cart up on times that compare with other open source carts.
Unless magento puts speed 1st and foremost on it’s requirements and starts developing with speed in mind, I think they are going to fall by the wayside. Do they really believe that demanding high dollar environments to get reasonable speeds will continue to make magento better or extend the user/developer base?
People choose open source apps for a reason, #1 being cost savings. If they get a free product that is free yet is going to cost them three figures a month to maintain how attractive is it?
It is clear from all the feedback on this post, that Magento is not the answer. So what if it is free? I think if you are trying to make money off a shopping cart software, you should at least be willing to spend some money on the right software.
Soooo can someone please list out ALTERNATIVES to Magento? I really do not mind paying for e-commerce software, as long as it has the basic shopping cart features, payment gateways and is relatively easy to skin/theme. Having the hardest time locating an ecommerce software that people like. Please let me know!
There are opensource options to most development needs which yield free or low-cost integration, are developed for the community by the community, and can be excellent. When you are considering a shopping cart solution for a site, you have to weight a few options, what CMS you’re using (if any) and how well it works into your work flow.
A few good free or low-cost solutions that can be integrated with popular CMS solutions and self hosted include WP E-Commerce plugin for Wordpress, Ubercart which integrates well with Drupal. Externaly hosted solutions you might like include Shopify or Goodbarry CMS and shopping cart. Also consider which payment gateways your options are with each. Your client will also want to use a payment gateway which charges a low, but fair processing fee. Some gateways are more and some less.
Thanks so much for the other referrals. Your response is one of the most useful (IMO) in this thread. I checked out the 4 links, and of the four, I like Shopify the best. Although it is a service (so you have to pay every month) along with 2% transaction fee, Shopify has very pretty nice themes for the checkout pages. Plus they manage security, payment gateways which could become a nightmare if the e-commerce site picks up and Hackers start looking at it with glee
I use wordpress for many sites and was tempted to evaluate the WP Ecommerce Plugin you linked to, but after looking at their forums, I am now very skeptical. The creators of that Plugin are posting code on their forums in response to people reporting bugs and issues, and asking the poster to update the plugin code. This is completely unacceptable from a Product / Service entity, because the whole reason that an average person is buying a software or product is because they don’t have the time and/or the skills to do it themselves. Especially give that this product is expected to address payment processing and security !
Thanks again for your valuable referrals.
I’m glad that you found my post and comment useful. If you’re interested in the WP-commerce solution, I can tell you that it’s pretty good and has been integrated well with Word Press. I’ve used it on a client’s site before and it works well for them and their paypal integration needs. When a buyer make a purchase, it takes them to the payment screen in which they can pay with paypal or any credit card directly on paypal’s site, with the items and total cost already filled in, so the security is there with Paypal.
I do agree that if a company is selling a product, which Instince, the makers of WP e-commerce are selling commercial versions, then they should make those changes themselves and push it live. Without reading the context of what you read, they might have been giving the changes in the code for someone who needed immediate help with an issue in which they had worked on in their next release, which is in beta right now, so it might have been an issue of not being able to push an update with one small change.
No matter which e-commerce solution you choose, there’s sure to be some quirk about it, whether it is missing some awesome feature you discovered you needed, or whether the support is lacking. Good luck in your search for the perfect e-commerce solution.
Upgraded from from virtuamart to Magento;
Lessons learned:
1. Had to triple to the hardware to have load time less than 10sec per page. Joomla virtuamart run fast on on a single core zeon with 4Gb of ram, Now I run on dual quad cores with 16Gb of ram and max out cpu / disk io at each newsletter send.
2. Virtuamart was not perfect – but once it was fixed it run with no admin / coding for months at a end. Magento keeps on crashing out of the blue, with random error messages which are hard to reproduce.
3. No easy upgrades – expect to spend many late nights fixing failed upgrade scripts and restoring database dumps.
4. Magento has a lots of cool features, but they come at a price, we lost nearly 30% in sales after [upgrading] to Magento.
In the end, its the number of sales not the amount of widgets that keeps you going.
If you like to tinker with php and xml and / or have the money to sign up for Enterprise, Magento comes highly recommend.
If you would like to have something stable / fast / reliable; Magento is not for you.
Since Nov 2009 I have been working with magento and now I have a single magento install as a multi-site for almost 40 shops and around 25,000 products.
Everything is set on a dedicated server (no cpanel, overcomplicated panels – just pure lamp on centos without even email or DNS; we use godaddy and google for those 2 things).
The server is a quad core with 8Gb of RAM and properly tunned for performance with apc-cache and the only thing we are hosting is a magento install for all those 40 domains (shops).
We haven’t added any plugins/features to magento. It’s basically the out of box thing, with a very simple theme added to it.
We have tried all kind of performance tuning and this the best we achieved.
I must admit if people are just browsing the website, it loads very quickly. But the problem is when we update products and orders. It takes about 2 minutes to save a product and it eats 120% of the CPU and 10% from the memory.
Our products are scrapped from other websites, so we need to do regular product updates and let me just tell you that using the dataflow is the fastest way to import products, but even that takes about 1 hour and 10 minutes to process 500 products. So when we have to do batch updates for 11,000 we have to wait endless hours.
If you’re thinking about using magento for your shop, it’s ok, but make sure to have a dedicated server and don’t even try to have more than 10,000 products or a multi-shop. It just doesn’t work.
MAGENTO is simply NOT scalable in performance.