Following on from my earlier post on ‘Why You Should Use Magento‘, now for Magento’s negative side.
This is part 2 of a two part series on Magento, in this first part we look at why you should not use Magento for your eCommerce website platform.
Magento is a beast, if its not the depth of the user interface, its hundreds of settings to get used to or just the sheer scale of it. To give you some idea there are 28,000 files for the default installation of Magento (compared to just ~2527 in OpenCart 1.5.5) and that’s not including any media or theme files that you’ll be adding to it as well.
I’ll be completely honest with you, two years ago it took me two or three attempts to get to grips with it, that’s slightly concerning as I would like to think I pick up things fast, very fast. I finally gave in when a client demanded that they needed me to know it, several hours later and many pints of coffee, I felt quite at home.
There is a lot of hype around Magento, for the large part of it, its worthy, but Magento has several other aspects that you need to be aware of:
Development & Design Costs
Because Magento has taken off, developers & designers are charging a premium for the development of custom extensions & themes.
You need to be really careful of this if you need design or coding alterations. I would strongly suggest you document any changes you wish to be made before approaching anyone and get at least three quotes from reputable companies. This will stop you looking inexperienced and open yourself to be over charged.
Expect to pay up to 40% more for the same functionality when compared to platforms.
There has been a very mixed feedback with freelancers, I personally suggest you look at the most downloaded extensions in Magento Connect for each of the categories and locate a company that has completed a similar extension and approach them directly with the specifications.
Magento is quite easy to extend against, but generally it requires a lot more work than other website platforms and expect to pay up to 40% more for the same functionality when compared to platforms.
Update for 2014:
Over the past year I’ve seen quotes from £500 to £20,000 for Magento website designs. The differences are wild and what you get for your money is also wildly different.
If you’re on a budget or would rather spend your website build budget on marketing (which will make you money instead of having to spend it before you can earn it), take a look at the Ultimo Magento website theme, it’s been downloaded over 6,000 times and any bugs in it were ironed out yonks ago. It might not be exactly what you’re looking for, but the disparity between $95 and even the lowest of quotes £500 is huge!
This was a shocker, the import and export abilities are astonishing poor. And I mean REALLLLLLLY bad.
I’m used to software products that are highly configurable when it comes to data exports and Magento lacks in every department.
I recently had to hack the core code to get some images in via CSV, it felt soooo bad and its just wrong. There are no category exports and inventory exports are primitive to say the least. There are several import tools for Magento, they vary in their flexibility and cost.
If you’re migrating from another platform, spend a serious amount of time seeing if you can port your data across. This could make or break your decision to use Magento, so trawl the extensions directory Magento calls “Magento Connect” for extensions to migrate from another platform, most of the common platforms have special importers available for them, several examples can be found here for OSCommerce.
Update for 2014:
I got around to documenting and creating the video guides for Magmi as part of the UnderstandingE project, you can find all the video guides here.
Magmi is like the swiss army knife of import tools for Magento, you can pretty do much anything you need to and there are a wealth of plugins available. Those dirty core hacks of Magento are no longer needed, oh and it’s free too.
Indexing in Multiple Website/Store Setups
This is an issue if you are SEF rewrites enabled. Magento wants to have ALL the SEF URL’s (Search Engine Friendly) in a table for each store view for each website for each product for each category.
For single or a small number of stores with a low inventory count this isn’t a big problem. But for big sites of several thousand records (or more) with multiple store views/sites then this becomes a processing issue.
If this is you, then you’ll need to take a look at look at the recommendations on the kit to run Magento and optimisation suggestions; Plus you’l need to take a look at this blog post on a method on how to run the different indexing processes separately because they’ll just never complete on their own.
To give you some idea, one of the sites I recently worked last year, took a minimum of 2 hours and 5 minutes to index. The processes are run in the early hours of the morning, but it does mean new products do not show until they have been ‘indexed’.
Update for 2014:
The quality of web hosting has got better over the past few years and you can get inexpensive, decent Magento focused shared web hosting for £16-30 a month see here (aff link and I use them myself).
While this won’t suit super big sites, you don’t have to overpay or suffer if you’re a smaller business and have lots of inventory. Also SSD disks have come down rapidly in price and seeing as they’re ~10 times faster than traditional disks, there is no real reason for you not to be on SSD disks, especially if MySQL is running off the same server too.
No Bulk Update Tool
This was another shocker, there is no ‘bulk update’ tool. These are taken for granted in other software products I have come across and feel this is a big hole in the Magento platform.
Such tools allow a user to update one or more attributes on many inventory records. The save untold amounts of time, effort, oh and frustration.I did find a plugin that was mildly helpful its called “Related Products Manager” which I covered a few days ago and also its free which helps, but is no substitute.
Magneto is far from ‘light’ in resource demands. This I hinted at with the indexing requirements I mentioned above. You’ll be lucky to run this on a shared hosting account, it almost demands an entire server to itself and for bigger installations, several with a load balancer to boot.
Expect to be paying good money for the hosting side for Magento, if you skimp here then it’ll bite you in the bum very quickly.
If this does not put you off, then renting or collocating a dedicated server is absolutely suggested for your site. Collocation starts at about £40 + VAT and you supply the kit or a rented dedicated server can be found for around the £85 + VAT mark that should last you a while.
There are also dedicated Magento hosting providers out there, I am unable to comment on them all, one company that suggested that their VPS was “Magento Ready”, when we loaded 14,000 products to it, it was far from capable and moved to a dedicated server with 16Gb of ram and 8 cores instead. Slight overkill, but never had a problem after that “upgrade” :)
TCO – Total Cost of Ownership.
Aptly after the server requirements point, unless you have a technical member of staff or development team, you’ll be better off outsourcing this to a 3rd party and when it comes down to total cost, you may ultimately be better off choosing a hosted solution for Magento or another platform less “resource hungry”.
Update for 2014:
If you’re having to keep to the realms of shared web hosting, then this does come with several benefits, such as regular backups.
Always check with your web hosting provider how often they are made and whether they are off site (desirable) or on site. Trust me there is nothing like the cold sweat of not having a backup to hand and while not to be completely relied upon, this can come in very handy.
It’s Too Good.
Yep this is a negative!
Magento is to deep and offers too much customisation.
Sometimes its better off to get someone else to do a task for you and unless you’re a web designer or a PHP/MySQL developer, you’re better off giving it to someone else.
Stick with the basic functionality and you can’t go wrong.
Working with Magento
Rather than rubbing up against Magento (or anything else for that matter), working with it is always a easier route and here are some suggested resources to read the white paper includes some really good base optimisations for Apache, MySQL & PHP:
- Magento for developers (this is an 8 part series by Magento)
- A 60 page Designers guide for Magento (provided by Magento)
- A 290 page guide for users (also provided by Magento, need to enter some basic details)
- System Requirements
- White Paper: Methods and Best Practices for High Performance eCommerce with the Magento Enterprise Edition
- Book: Mastering Magento (steep at £30, but was helpful as it was similar to the user guide, but easier to understand)
- Update for 2014: And UnderstandingE.com, this site has over 100 video guides in Plain English, written & published by myself.
I don’t want to knock Magento, I really, really like Magento, but at times its has been extremely frustrating working with it.
The forums are not the most active places (they suffer from a lot of spam too) and some bugs I have found (well, some, ok most caused) have been a nightmare to resolve to no one really knows what on earth is going on. If I had not been technically competent with a good understanding of PHP/MySQL and what should be happening, then I would have given up on it ages ago.
If you’re looking for a simple shopping cart that looks pretty, works well and supports multiple sites (yes other products can do this besides Magento), you may want to look at a personal favourite of mine, OpenCart, but be fully aware that’s not without it’s limitations, especially around multi-variations and stock keeping and no one platform is “perfect”, they never are.
Magento is a beast and from personally experience two years ago, I naively thought it would be quick to learn, how wrong was I… But chuck the resources it needs at it, along with time and you can do wonderful things with Magento.