Why write codes when we have things like WordPress, Tumblr, Medium or Wix?

So you wanted to create a new website but confused if you should go for CMS or have something built from the scratch?

Posted by Darwin Biler on September 25, 2019

This is a common question that people asks me when they heard about my job as being a Web Developer.

For those uninitiated - it is very easy to publish websites nowadays through those tools mentioned in the title. So why hire a programmer and spend lot of money on developing a custom CMS if there is a tool for that, that already exists?

You want to offer something unique - something that your competitors doesn’t have

If all websites is built using the same tool, the chances are they almost all look the same. For businesses where competition is tough, you need to differentiate to get noticed by your customers.

The easiest way to explain this is by making an analogy to something we can all relate: Food

If you translate the question into something like this, it will suddenly make sense:

  • Why we do need to cook food in our home, if there is McDonalds, Burger King, Wendys?
  • Why do Chefs keep creating new recipes, if they could just simply use the well-known recipes?
  • Why people keep trying out new restaurants, if they could simply cook at home?

WordPress, Wix and other products are like Fast foods - they could prepare your website really fast and conveniently without knowledge of writing codes. But then you are stuck with what the tool could offer.

As soon as you need to customize something, whether it is a design change or functionality - you’ll need someone who could make those customizations and more often than not - you’ll need a programmer to write those codes - thus the need to write codes..

Maintaining and running legacy sites

In reality, most serious websites was rarely built from the scratch. For example, when your company had acquired another smaller company, which owns a popular site. You’ll end up needing the ability to merge those two sites transactions, users, products and so on. (For example GitHub was recently acquired by Microsoft)

In this era wherein startups pops up every day, this is often happening more than one could imagine. Almost everyday, new startup is built, bought and merged with another company. In these cases, youll gonna need a programmer to consolidate everything, while keeping the existing features working as is.

Copyright ownership and Monetization

Once your website becomes popular and you wanted to monetize it. The question now becomes who has total control and rights with your contents? It is easily to get into some trouble once those providers (Wix, Squarespace etc) decided to take down your site due to their change of “policy” or if some of your competitors happens to have influence on that product.

This is very relevant for websites that hosts adult materials or controversial stories on which the terms and policies might be on conflict with your content.

Also, take note that free accounts for wordpress.com and wix, might embed their own ads (sucking the revenue out from your site). If your monetization strategy is to earn money through ads, you better dedice on building something on your own, host it in your own domain and participate to numerous affiliate programs to monetize your traffic.

You have huge volume of traffic

Once you hit enormous amount of traffic, the tools, skillset and configuration of your website will need to be changed in order to be operational. On top of that is you also need to constantly make changes to the site while making sure you are not breaking things in the process.

This is where these built-in CMS fails as most of them is built to launch website easy and fast - but the caveats is, it sacrifices a few aspect such as scalability, extensibility and security.

For example, in WordPress, everything is held in generic posts table hosted in the same codebase. In a large scale application taking millions of requests, they are architected with tables that is very specific to that data, indexed heavily and manipulated by multiple microservice doing very specific thing.

Each microservice might be hosted in totally different server, each working in parallel. If many of those doesn’t make sense to you, you get the picture of how complex it is, to keep a site running when being hit by huge amount of traffic.

Your websites is way tooo many!

If you have only 5-10 websites, sure. Elementor and other “Page Builder” is really practical. But what if you have 300+ websites, each needs to be applied with such change, optimized and re-deployed? You need to automate it. And automating stuffs requires writing codes…

So, that’s it. Those are the usual reasons why my clients decides to build their own CMS or write some custom functionality on top of their existing CMS. If you are also having similar problems such as above. These are the kind of problems I have a lot of experience. So feel free to reach out to me and lets get your problem solved!

Did you find this useful?

I'm always happy to help! You can show your support and appreciation by Buying me a coffee (I love coffee!).