You’ve thought of the next big thing. You have a great idea for an eCommerce website with a unique
selling point that gives you a good advantage over your competitors. You’ve done the research,
you know your idea will work – you now just need to build your first online store.
Where do you start?
Your Options
When it comes to building online stores, there are lots of choices, but we’ll focus on two major options here.
You could start with a CMS (content management system) or you can hire developers to build your platform from the ground up. There are major differences between these approaches in terms of their cost, complexity and the time they consume. Ultimately, you should base your decision on how much capital you have available, as well as the timeline for getting your platform to market.
The CMS Approach for an eCommerce Website
“CMS†is short for Content Management System. Basically, this is pre-built software that allows you to build a website. CMS are also generally extendable – there’s a wide variety of plugins available to add functionality to your eCommerce website, such as an online store or basic e-learning platform.
WordPress and Joomla are some of the most popular CMS available, with thousands of plugins available for each. If you need highly customised functionality, you can always hire a PHP developer to create a plugin for you – although this can be costly.
A CMS would be a fine solution for 99% of e-commerce websites provided the hosting is adequate for scaling. The other 1%, with more customised requirements, should go for a more customised solution such as custom software.
An example would be: if you start your own clothing brand and would like to sell online, you can use a CMS. However, for something similar to Takealot or Bidorbuy, custom software is recommended.
The Custom Approach
When a CMS just doesn’t cut it for your needs, you have the option of hiring a developer (or team of developers) to create an eCommerce business platform for you. This can be a complicated process, but a good development consultant will guide you through it and make the scary bits less scary.
The developer gathers your requirements, plans out the project and starts coding. From there, you should see demos of development progress at regular intervals to make sure you don’t end up with the wrong thing at the end of the process.
Let’s take a look at some factors that will affect your decision on which approach to take.
Cost of an eCommerce website
The cost of a project is the main concern for most people. It’s important to note that the words “cheap†and “expensive†are relative, depending largely on your budget. For some, R1 000 is a lot, and for others, R10 000 is pocket change.
CMS: A CMS is usually the cheaper option by a large margin. In South Africa, you could generally find someone to build a CMS driven website for you for anywhere from R3 000 to R50000, depending on your needs and what extensions the website needs to deliver your functionality.
Custom: Custom developed websites can run anywhere from R50 000 for something very basic to millions for something that can handle millions of requests per day, delivering highly customised functionality.
Ask your developer: What is the cost of the system, and what will the cost of the system be when you need to extend it with custom functionality? Also, ask what kind of monthly costs come with the system in terms of maintenance and hosting.
Time
When we have an idea for a platform, we generally want to get it to market as fast as possible to get a head start against the competition.
CMS: A CMS driven website is usually faster to build, offering development time from a few days to a few months at most. This again depends on the complexity of what you need. It’s pretty rare for a CMS driven website to take longer than a few weeks from start to finish unless your requirements are very complex.
Custom: Custom systems can take anywhere from 6 months to a few years to finish. Some projects might require ongoing development.
Ask your developer: What is the timeline for this project from start to finish, or is it an ongoing project? When will we be able to launch the project to production?
Limitations
CMS: CMS driven websites generally have limitations when it comes to customisation. Most CMS website designers can’t write advanced PHP code to fully customise your website. In that case, you need to hire a PHP developer to extend your website, which can become costly.
Custom: Customised systems don’t really experience these same limitations. If your needs are highly customised, it might be better to go with a custom system from the start.
If a project is properly planned out, developers can run with that and create virtually any functionality without running into walls because of the environment that their code is running in.
Ask your developer: What happens if I want to add special functionality to my website that no other website might have? Can we do this, or would we need a rebuild?
Clean Code
For most consumers, the code that runs their website doesn’t matter. It should. You shouldn’t need to be able to read or write code, but you should have some assurance that the code that runs your platform is secure, well written and easy to maintain or change.
CMS: When it comes to CMS platforms, there isn’t a lot of quality control when installing plugins to extend the functionality of your website, so buyer beware. Reputable creators or extremely popular plugins tend to have quality control practices in place, but that is the responsibility of the plugin developers, not the CMS platform. This means that it’s easy to install a plugin that is badly written.
Custom: This problem is not exclusive to CMS websites. Custom systems can also be messy to build, and developers can write dirty code. However, with custom code we can put quality control systems in place to make sure that bad code gets spotted and fixed before it reaches production.
Ask your developer: What kind of quality control do we have in place to ensure that the code running my website is clean, secure and performant?
Scalability of your eCommerce business
Scalability refers to a system’s ability to grow in order to handle more traffic during busy times.
CMS: In general, CMS are more difficult to scale. This is because most people will host their CMS on a shared server with limited capabilities for handling massive loads of traffic. Dedicated hosting options are available for improved performance.
Custom: Custom development usually comes with a customised hosting solution, which is made to handle millions of requests per day. These solutions usually offer good scalability if they are properly engineered.
Ask your developer: What happens on Black Friday or other times of the year when my website might receive a lot more traffic?
Security
Your website is only as secure as you make it.
CMS: CMS driven systems have security plugins available to make them more secure since they are subject to cyberattacks. However, as previously mentioned, the quality control process is a little loose on plugins for these websites. So it’s up to you to make sure that you only install plugins from sources that you trust.
Custom: Security is also a concern when developing custom software for online stores in South Africa. Regardless of what you are using – a CMS or custom software – you should ask your developers what kind of measures they’re taking with regards to securing your website and the data that it holds.
Ask your developer: How secure is my website? How do we keep it secure against new threats? How do we receive alerts of intrusion attempts or malicious requests?
Performance
Some studies indicate that the average time to display content to users should be around 3 seconds at most. Slow loading times result in people leaving your website.
CMS: CMS websites can be excessively slow when plugins are installed that are badly coded. However, there are optimisations plugins available for CMS websites that improve performance.
Custom: Custom developed websites are generally quicker, but they do need to be well built, otherwise performance might be slow.
Ask your developer: How well does the eCommerce website perform? What is the average time it takes for a request to complete, or the time it takes for content to be displayed? How much traffic can it handle before performance is impacted?
Making a Choice
We’ve looked at a number of the most major factors involved in developing a platform. What you need is to figure out where to start.
For a simple website, blog or standard online store, you can use a CMS. It’ll be far more cost effective and be much faster to develop. WordPress has a few amazing plugins, such as WooCommerce that work very well for a basic eCommerce website. Couple that with plugins like WordFence for added security, and you’ve got a pretty decent website. Provided, you should never install dodgy plugins from unknown sources. And, you need to make sure that you keep your website up to date.
When you need more customised features, custom software is definitely the way to go. However, it’s expensive – with prices starting from 6 figures for something fairly small.
So, how should you start given such a large budgetary demand? The answer is with an MVP.
A minimum viable product is the minimum set of features needed to establish business viability. This will allow you to test your idea with the appropriate audience.
Most development agencies or freelancers can prototype your platform for a fraction of the full project cost. From there, you can test the business viability of your idea and add on to the project as time passes. Also as you gain improved budget capabilities.
This means that, even with a limited budget, you can start somewhere and test your ideas as you build your platform. Custom software doesn’t necessarily mean pushing your life savings into a project all at once.
Verdict – CMS vs Custom for an eCommerce Website
For small eCommerce websites, blogs, online stores and other websites which don’t require super customised functionality, use a CMS.
When you need highly flexible, scalable and elastic systems, go with custom and start with an MVP to prevent massive over expenditure.
This article was written by JP Meyer from Devliance for Freelance South Africa.