If one day you decide that you need a web store and you learn how this works you will discover shortly that professional web development requires many steps: create a detailed specification, choose a platform, order a design, develop a theme, extensions, features, choose a hosting provider, etc. If you just start your business and don’t have many products Shopify or Woocommerce will suffice. But when your assortment gets wider and you need more from your website you choose Magento and realise that it takes time and money to build a proper web store. But there is a short way that allows you to save money and get a pretty website quickly - ready themes. For only $100-$200 you get a nice website with a set of included extensions and many settings for website appearance. But don’t hurry up, because we are going to explain why this might be a bad idea and why such a purchase in fact is a Pandora's Box.
Let’s start with a list of advantages of ready themes:
- Saving of time - you buy it, deploy it and it’s ready for use.
- Price - an average price is about $70-$200.
- Choice - You get a design of your web store with several possible layouts for different pages and blocks.
- Such themes often include some popular extensions and features (which usually you buy for additional costs)
- There are settings in the admin panel, so you can easily change the design and location of different elements and blocks.
Sounds good, right? But let’s move to the disadvantages and there are quite a few of them:
- There are a lot of additional JS and CSS that clutters your theme up and slows it down. When you choose your theme you review different layouts of the same theme on a developer’s demo site and choose just one of them. Sometimes you may like blocks from several layouts so you can combine them. That's it. But when a developer works on his theme in order to attract more customers he develops at least 10 layouts (at times even more) and each of them has its own CSS styles. As a result in addition to 450 Kb of Magento default styles we get 1 Mb more styles for all layouts. And this is rather critical for primary page load, page load speed in general, content rendering and Google Page Speed rate. When the “Merge CSS files” setting is active (which is recommended), Magento combines all CSS files into one large file and because of its size you get low values for such indicators as First Contentful Paint и First Meaningful Paint. The situation with JS is quite similar. Most likely you won’t use all the extensions and features provided together with your theme, but it will load its libraries, carousels, styles and everything needed for functioning any way. What would be a conclusion? You should minimize your styles and JS and keep just those related to blocks and pages you are going to use on your website.
A use of Bootstrap 4. Magento has its own frontend framework. So in this case connecting Bootstrap would be a useless increase of CSS volume at the end.
- Extensions from the box. One high-quality extension from a trusted vendor would cost more than the whole theme with included extensions you have bought. What does it mean? The only free cheese is in the mousetrap. Very often extensions provided together with themes are either free (this is a partnership with extension developers because both sides are looking for popularity and are ready to promote each other) or created by non-professional developers and have a lot of bugs, especially related to compatibility with other extensions and new Magento versions. Moreover, sometimes you may come across a dishonest developer who creates “cut” extensions. For example, you may see a carousel with discount products on the homepage and think that this block gets products with special prices programmatically and this is exactly what you need. But you will be disappointed to discover that this is just a static block with simple HTML without any queries to the database. So you should definitely know about such a possibility or better check in advance.
- Extra extensions you don’t need. Based on my experience you will use not all modules from the box. But most likely you won’t know what extension may be switched off and if it’s important for your web store. And again, all extensions have its own CSS and JS that will additionally influence your website load. Also please keep in mind that you can decide to install some new extensions and you may get a conflict with the existing ones. In this case, you will definitely need a developer’s assistance.
- In most of the themes ObjectManager is used in the code, which is against Magento good practices: https://devdocs.magento.com/guides/v2.3/extension-dev-guide/object-manager.html
- Theme/colours settings. It seems to be a useful function, but usually it’s implemented in such a way that you can update colours for existing blocks only. And if you add a new module or a page there is NO guarantee that these colours will be applied to them. However, let’s be realistic. How often do you think you will change the colour scheme of your web store? I think we both know the answer. Still there is a separate CSS file that is being loaded additionally which increases your page load time.
- Static info pages. The experience shows that all web stores require additional content pages, which provide customers with useful information. You won’t find these pages in a theme. And taking account that the internal Magento page editor isn’t very flexible (to put it mildly) you will need some HTML and CSS knowledge or assistance of a frontend developer. It’s not included into free theme support. Moreover, each new extension you install will have a different layout and it will be necessary to style it according to the theme design.
- Theme support. They often answer you slowly or even may say that they don’t have such an error which means that it’s you who did something and broke it. If you install any additional extensions most likely you will hear that this is the source of a problem but they are not supposed to support themes with third party extensions. Sooner or later you will understand that support costs money and you can get some help for free only if you find a bug at the beginning of your work with your theme.
Related servicesBug fixing and further development. A chance that some theme will match your requirements for 100% is close to zero. As a result it will be necessary to make some changes, add/remove blocks, pages, etc. Additionally, you will find some bugs. Yes, you will, trust me. And you will end up hiring developers to handle it for you. If there are just few changes/fixes you still save some budget. If you have changes for most pages… well, to redo someone’s code is always more difficult than to write your own.
What do we have in total?
The listed advantages upon closer inspection turned out not to be fully truthful. The price of a theme is just the first of your investments into your web store. As to the resources economy, most web store owners cannot deploy Magento and a theme without assistance, so theme purchase doesn’t free you from the necessity to pay developers. Extensions from the box are often either free or low quality. Many settings in the admin panel won’t be used much or at all.
We don't try to talk you out of buying themes. In some cases probably this may work. But if you want to purchase a ready theme to save your budget think it over properly. If you buy cheaply, you pay dearly.