Is Magento right for me?

Featured Image

Choosing a platform on which to build your business is by no means an easy task. One must as itself, how much money, personal time and effort is he willing to put into it. There are numerous free and open source solutions that promise an easy ride. Since I’m in business of PHP development, here are few platforms worth mentioning X-Cart, osCommerce, PrestaShop, Oxid, Magento, etc.

By now, everyone in open source eCommerce shop business has probably stumbled upon Magento. This is most likely the youngest (latest), most robust platform out there at the moment. It’s built on the back of the powerful and robust Zend Framework.

Lets talk about Magento, in short (really short). From a developer perspective, it’s (mostly) great. It allows you to expand and override almost everything. Once you get the hang of it, you truly see its potential. However, developers are not site owners, they do not run the actual business on the back of the Magento. Their mission is to build and launch. And looking it from this perspective it seems like there is nothing you cannot achieve with Magento. But its modular architecture does not take long to pinpoint one major drawback. Each task, no matter how simply it may look or sound, takes extreme amount of time to do it properly (to develop in such form that you stay compatible with updates). All this leads to further issues with trying to bill your client for feature X, etc.

Lets take a peak at the store owner perspective. If you ask me, each site owner before choosing a platform should take some time to clearly set his shop goals so he can get a clear picture on what features he wishes to implement in his shop. To my experience, most of the time site owners are not aware of wast number of his options and what Magento can offer to them. They simply choose it because it’s trendy, it’s now, it’s wow.

Practical example, client is picky about the layout of product view page, while at the same time he has no idea that he can set special layout for each and every product in his shop. This might not look like a big deal, but it’s a minor example of how flexible Magento is.

My advice for future site owners, take some time and browse trough the Magento demo store available here.

CC image via D Sharon Pruitt.


  1. Magento is great, no doubt about it. However, it is important not to get caught up in its features and functionality. As with choosing any piece of software you need to step back and ask what you need rather than what the software offers. For some, Magento will simply be too complex and the additional functionality will confuse users and complicate the running of the site.

  2. ProductPro you said, “First learn that Magento default install response time is very slow up to 10-12 seconds to paint any page on a server that is not busy. Okay, defer that for tuning phase, but in a fast moving web where your visitors will not tolerate more than 2-3 seconds for a page load, the performance is unacceptable.”

    I couldn’t agree more with you. Default Magento is very slow and needs some tune. At Delorum we have address this issue with our Link LightSpeed module. We have got page response time down to under .5 second on very high traffic site like

    If you are interested visit us at

  3. you wrote:

    Later, after few months, both the clients and the developers will have frustrative talks about the issues like: “Why my 1 step checkout does not work after I upgraded Magento?”

    but the more important question is:

    the same problem would happen regardless of the platform used…wouldn’t it? heavy customization does not “magically” update on non magneto platforms/// right?

    so what is the real point?

  4. The advice in the original article is perhaps vague, however this last message by ProductPro does make and substantiate a number of negative aspects regarding Magento that should be taken into account. What with everyone fawning over what a great product it is compared to others you expect some form of panacea, but it is not, and from a practical point of view there are several major concerns.
    1. Although Varien continually promise and seemingly provide speed improvements with each release, how do you even begin to compare cart software that if you were to benchmark it would always lose out against its competition in terms of page loading speed, the one major factor that sends possible clients off to a competitor. Which brings us to point
    2. Apparently in order to provide reasonable performance you are required to run the software on a dedicated server. The difference in cost when compared to other shopping carts that only require a shared hosting environment to operate is immense. You need to spend several hundred dollars per month on hosting as opposed to under ten dollars. Obviously for medium to large scale setups this is no problem, for the majority of small scale users this factor should be definitive.
    3. The process of customising aspects of the software to accommodate demands from clients is complex and time consuming, and since custom work may likely need revision upon each software update, the complexity and time required increases exponentially.
    4. Themes are more expensive than other cart software.
    5. Plugins that are required to accomplish tasks that are built in to other carts come at a cost. In my particular case, the two necessary plugins are 500 dollars each.

    The list is longer but these are perhaps sufficient reasons to dismiss Magento against other cart options, yet … I have an e-commerce site to set up and I am going with … Magento.

    Are the piles of praise lavished upon Magento online the reason, am i brainwashed, is it the beautiful template that is only available for Magento or is it the sense of security that comes with utilising the current “best” e-commerce software.

    I dont know but god help me. 😉

  5. Rarely do I comment on most blogs, but having been both a developer for many years, worked in Enterprise (Global 100) Retail and operated several online stores as the Business side I thought you may find the following observations useful:

    I have installed, configured and run X-Cart (since v3), osCommerce, ZenCart, CubeCart, etc., several web host billing applications numerous other CMS (phpNuke, PostNuke, Xoops, Xaraya, Envolution, Drupal, etc.) and a few auction scripts.

    That said, I have recently decided to port some production XCart sites to Magento and adopt it as my new standard platform. Following the same general process as with all other installs / configs I found the most basic features made simple by other carts absent in Magento (or perhaps only the documentation is severely lacking and I missed it.)

    Examples: – Quick Store Startup

    XCart – Install -> Select Template -> Set taxes, Shipping, Replace Logo -> Load products -> Set payment processing -> Open store and sell. Then take your time to adjust look and feel, implement promo, but all the while “Open For Business” and able to take money in to pay for the dreams to come.

    Similar process with Zen / osC (a little more to dig into with pages but still only a matter of minutes to hours.

    In either case, a crude store up and running with easy ability to add and display categories / products from main store page and catalog detail pages in less than an hour.

    By contrast I have been working with Magento now for some weeks. Install store with Demo data works just fine (for demo data). But install a clean store without demo data, add 1 category, add 1 product and the fun begins.

    First learn that Magento default install response time is very slow up to 10-12 seconds to paint any page on a server that is not busy. Okay, defer that for tuning phase, but in a fast moving web where your visitors will not tolerate more than 2-3 seconds for a page load, the performance is unacceptable.

    Second, in a clean store using default theme, categories do not automatically show up on any pages, so navigation not possible.

    Third, okay, so now how do you get your products to show up on the home page? CMS > Pages > Home Page and begin inserting not so obvious tags wrapped in even less obvious bits of code. And by obvious, I mean, easily visible, well documented in a coherent fashion without having to hunt through numerour, sometimes contradictory knowledge base articles and countless forum posts.

    Next, importing can be reasonably straightforward if you construct a good data map and can divine which tables to populate with what key relationships. But before doing that I decided to get all the infrastructure in place first.

    So, visiting MagentoConnect I selected a couple dozen modules that seemed promising for spam blocking, promotion, admin support, and a theme or 2. Many of these post large warnings “Back Up Your Data Before Installing This Module”. Good practice to be sure, but not usually necessary with other carts.

    So, what was my experience there…? On a clean store, many of the modules failed to install properly, some that did install proiperly resulted in the home page going away or other bizarre behaviors. Yet many of these same modules appear to have installed okay on the store prepopulated with demo data.

    The Official Magento User Guide seems considerably less than helpful, overly reliant on the prepopulated demo store and much of the instruction followed did not result in the desired outcomes as documented.

    Setting a theme, which in other ecommerce platforms has historically been near trivial seems (unless I grossly missed something) unduly punishing in Magento.

    Now if all of this sounds like grumbling, it is only because I have great anticipation for the promise of using the powerful features of Magento. Promise that sadly has not as yet been realized (at least for me). And I am having difficulty (like some of the other posts indicated) getting the Business community to accept the Technical sophistication that Magento provides. This is all the more daunting because as I pointed out earlier, both of those comunities reside in my head. 😎

    I will continue plugging away for a while in the hope that I can realize the true power of even the most basic features of Magento. But in the final analysis, the purpose of the technology is to “support the Business” not the other way around.

  6. I just went through a heroic task of choosing platform to shift my existing store from Windows platform. Simply the task of evaluating different options, their requirements, pros & cons, potential hosting partners etc. etc. is so overwhelming that sometimes, you end up taking hasty decisions in frustrations. I evaluated more than 50 companies to find a suitable hosting platform somewhere in Europe as my target market is Europe.

    Moreover, when you are a small company, EE is simply out of reach in the beginning. The most scary part is to jump on CE with all the extensions etc.

    My challenge actually begins tomorrow when my first dedicated server will be delivered by a French company which doesn’t provide L3 support nor they can help me in optimising server for running Magento.

    I will have a to build a team of freelancers to support each task like remote server management, design transfer and required customisation.

    Wish me luck…


  7. I’ve been following this site and activecodeline for the past few days. I believe if you just gather enough information on Magento, you start picking it up, whether it is html or php.

    I run my business on my limited skills, but have been able to do it and I do not see why others can’t.

  8. @root We did an import of 150.000 products and i can tell you everything got imported allright, but IT TOOK AGES!!

    I totally agree with Bruno, there are A LOT of clients that have NO IDEA of what an online store means. I think it’s our job to somehow educate the market in order to expand the market (i’m talking about education people on what ecommerce means and that it can be good for their business)

  9. @Boomer My favorite “if only client/store owners could code for us for a day” 🙂

    Having good and reasonable expectations on both developer and site owner side is essential. Sometimes, its not just about money in terms of “yes we can code it, but it costs xxxx.xx”.

    Hopefully, few of these articles I wrote will pin point some of the issues.

  10. @root My import record, around 32 000 products. They have seem to improved CSV import in version. It now does import of thousand of products without breaking up, although it takes forever 🙂

    Thanks for the input. Appreciate it.

  11. Anyone who is a developer and needs more insight, I’d suggest running your own small store selling whatever you like or wouldn’t mind selling yourself.

    Having ran my own E-Commerce store myself that was merely a 3rd Party store for X-Cart modifications and services, I slowly realized the pitfalls and short comings one can encounter from a sales, delivery and support stand point.

    Check emails for support, take client phone calls, build quote, attempt to release new versions, patch old versions to work with new code bases, marketing, search engine optimizations, advertising, etc. The list goes on and on. I don’t claim to be in an expert in many of the fields but having this knowledge myself has greatly helped me understand clients needs from their business stand point.

    All-in-all I guess you don’t know whats its like for anyone until you walk a day in their shoes. Now if only client/store owners could code for us for a day! 😀

    Thanks for the insight.

  12. The biggest issue with magento is performance. It’s a huge, resource hungry beast filled with memory leaks. I mean, have you tried to import a list of products from an oscommerce database ? I had a project where I had to import some 5000 products from an old oscommerce site to the new magento store (and to build simple products and configurable products based on these). I wrote a module to do this , but I had to do several steps and each step would run for about an hour , with a huge memory usage (over 1G). The iteration over collections leaks memory badly.
    Not to speak about normal page loading time
    Not to speak about cache issues
    Magento is indeed very flexible and overridable, but all this flexibility and abstraction comes along with a huge cost on performance.

  13. There are a lot of good points here. We are all on the same wave when we say Magento is a superb platform with its unique structure and philosophy.

    Clients have their visions and ideas. They want to see them working in Magento before they even try to understand how the desired process works in Magento by default. They are not interested for the fact they they will ruin default Magento’s core functionality by ripping apart standard flow. They just want to see some of their ideas there.

    Later, after few months, both the clients and the developers will have frustrative talks about the issues like: “Why my 1 step checkout does not work after I upgraded Magento?”

  14. Biggest problem I’m facing is the lack of knowledge of the store owner. They never shopped a product online, they have no idea what is and how it’s connect the basic of the basics … Like: Review products, RSS feature, Product prices alert, Coupons, etc… They only want to sell something and get the money.

    No idea what a Payment Gateway work, no idea about how the checkout flow must be, and… absolutely no idea on how to create products, manage stock, manage orders, manage …. ohh well.

    And off course, now that someone is doing “their” webshop, they start to browse webshops and … I want this, and I want that, and can we have this… it’s really important!

    They only know that the shop “sends” an email as newsletter … How, When, Who… they have no clue whatsoever!


    Before choose the platform you’re programming into, get away of “clients” like this! you will work 3 times more and get 4 times less payment.

    I thought I should share my insight on the subject!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <blockquote cite=""> <code> <del datetime=""> <em> <s> <strike> <strong>. You may use following syntax for source code: <pre><code>$current = "Inchoo";</code></pre>.