Playing with Magento, getting started and some of its features!
Today I am going to be writing about Magento and all its quirks and features. Although there are many features, there are quite a few drawbacks which we will address today as well.
Note: I’m going to be talking about Magento’s second version. It has version one as well, but this is now becoming deprecated and many stores are migrating to version two at this time. To be as advanced as possible, we are going to focus on version two only. But, if you have version one and you need any help with it or migrating your store to version two please feel free to contact me!
For those that are new to this ‘developer’ world – Magento is a self-hosted e-commerce solution based on Zend framework. Which means, you can host it on your hosting! Amazing isn’t it? Because of its complexity, it requires a bit more powerful hosting then for example – Wordpress website. And as a guideline here is a comparison of minimum requirements for WordPress’s latest version 5.0 and Magento’s latest version 2.3
But that is why you get to use every last of its features. It may take some time to set up your hosting correctly but once you do it the first time – each time it becomes easier! My recommendation is to use Nginx as a server on ubuntu.
So, let’s get started with the features!
- One of the best Magento features is scalability. That is one thing that you DO NOT have to worry about. If your client has only 20 products or as much as 200.000 products – this system will handle it – easy.
- Full-page cache – or as Magento calls it FPC. This can make your life much easier since every page in your store is fully cached. (but you will see this in drawbacks as well – so be prepared). It makes your pages load faster, which allows you to have happier customers! And that’s not a small thing!
- Multi-stores on one installation? Yes, throw it at Magento – it can handle it.
- Product configuration. This is one of the features of this system. Products can be configured in many ways depending on the store, language, etc… One of the quirks of product configuration is setting up taxes which can sometimes be quite painful. But here, you can do it easily and quickly.
- You would like to see your Instagram feed on your new Magento store? No problem, here it is! Welcome to the world of extensions! Many extensions can be found on Magento’s marketplace or by just googling it! If you have an idea for an extension that you might need but can’t find it – do not hesitate to contact me!
Of course, there are many more features, and these are just a few that you can pitch to your client tomorrow in a meeting!
// In life three people can bury you alive. Your wife, your accountant and your developer.
Seems powerful ha?
Yes, indeed it does – and it is. But as all good things have their opposite sides this one is no exception. Here are just some of the drawbacks.
- You will have trouble finding a developer that knows how to handle the whole system and your business model. This may not sound like a problem, but trust me – it is. And when you run a company with a turnover of 30 million dollars per year – you can’t risk changing your trusted developer. Especially if your system is heavily customized and based on extensions that you’ve made!
- Deploying new changes… Of course, you would use git and won’t have trouble with it, right? Hmmm… I wouldn’t be so sure! Yes, your versions can be neatly packed into a couple of branches but deploying them. It may be quite difficult sometimes. Imagine having a load balancer and two servers behind it. Imagine that those two servers are replicating and using the same database. Of course, you can turn one down and run your database upgrade and other scripts required for updating it. But will other servers know how to work with a database that is upgraded to use the next version? In many cases, a simple layout change will require some downtime. Although I did manage to avoid that – it was quite a journey.
- Broken extensions… Yes, this can happen! And it can happen more often than you think. Imagine telling your client to spend 399$ on extensions and finding out that extensions are not working. My advice is to look for sellers that offer a 30-day money-back. Or just develop your extensions (this is what I would do, and what I actually do). That way you are sure that your extensions will work with the next version of Magento and that it won’t break!
- FPC… This cache is a bit of mystery. I’m not sure that even a developer that developed Magento knows how it fully works. Apart from that – it can go crazy from time to time. Some category for some reason would become just a blank page. You couldn’t find an error in a log or anywhere. And there you are stranded with only the option to reset the whole cache and hope that everything is working as it should!
- Version upgrades. Well, I can talk about this one… First of all let me say this: I support and love updates! But one of the issues about Magento updates is this: THEY ARE HUGE. There is no way in the world that you can find out everything that has changed! And after the update – some new bugs emerge and you need to TEST, TEST and TEST on your stage server to make sure that those bugs aren’t affecting your store!
Of course, there are more disadvantages to Magento, but overall there are many more features than drawbacks.
Living with Magento can sometimes be difficult, but sometimes it is a breeze. In a nutshell, this was just a small sneak-a-peek into Magento world! But bear in mind, if your client needs a small shop you are probably better off with something like woo-commerce or Shopify. Around 13% of all stores are based on Magento. Magento is an e-commerce solution that will allow you to grow.
Although it is quite heavy – it gives you options and control!