The myth of CMS systems and when should you avoid them
Valuable insights learned through over 6 years of software development and working with clients of all sizes will follow to help you in finding the best approach to get your website up and running.
I intend to save you lots of headache and money by clearing up a harmful misconception of when you really need (and when do not need) a site using a CMS — and what to do instead.
In the following, I’ll use WordPress as an example to demonstrate my point hence being the most popular by a mile.
When WordPress is the worst idea
The name WordPress became the synonym of small business websites. People still think it is the best and quickest way to get the word out about their ventures. In 2021, nothing can be further from the truth. For brochure websites, it is one of the worst things you can do while doing it yourself does not save nor time or money.
If one or more applies to your situation, you will be better off with another approach:
- Need it be done quickly
- Will not have a dedicated person to update the content frequently
- The content will largely remain the same over time or be updated infrequently
- Looking to implement custom design
- It should be fast
- Have a limited budget on building and maintenance
- You have very limited technical background
Ok but why?
The platform is primarily intended for blogging where the content changes on the daily basis.
The editable page content is stored in the database that allows for dynamically assembling page data based on a set of criteria. It works brilliantly when you need the latest posts filtered by a keyword - for example. Not so much when 12 query needs executed just to load the front page with some text, a gallery and a phone number. Speed issues are also difficult to optimise as queries are often executed by plugins and themes.
Without further expressing much of my hate towards the platform, let me list my primary concerns objectively.
1. It doesn’t like version control
Actually if you try to add a git repository to the project’s root folder, it’ll be flagged as an issue and displayed to the user like it was some sort of vulnerability or error.
2. No package manager
Wordpress nudges the user to install the latest update without the option of controlling and rolling back to a specific version. This makes no sense! An older version should be still usable as time passes - just like you can make a call from your 3 years old phone and it won’t blow up if you don’t update. Respecting the user’s decision of using specific versions of plugins and the core itself should not be ignored.
3. Plugin write access and hacking
Virtually any plugin or theme you install is provided with write and read access to the project directory to a certain degree and also the database. Considering the sheer number of plugins and themes and also their varying quality, it is simply an inconceivable security threat that plays significant role of embedded malware and hacked servers spreading like wildfire.
Abandoned sites are the hacker’s playground
Most of the time when a WordPress website is launched without a viable long term plan for maintenance, it is in the risk of being abandoned.
It looks pretty, it is available, job done, so let’s move on to actually running the business. …until one day a customer says: “Btw, I checked your website and it redirects to hotrussianbabesinyourarea.xyz” Checkmate!
Now hypothetical you tries to log in and surely it won’t work. There is no github repo as you have asked the guy who built it to remove because WordPress recommends against version control (or it simply never occurred that it should be there on the first place).
Either way your site is hacked now and you have absolutely no plan of action on how to fix it. You delete it and focus on Facebook and Instagram going forward instead of running your own website. That is surely not something that serves the business needs, but it is still better than malware.
Not a bright prospect yet it happens to so many people that it needs more attention.
Is there a better way?
In short: there is. As a developer, I am advocating for beautiful custom websites that have personality (looking at you wix.com). I still see the internet as an exciting place where colourful ideas meet and can be expressed. It is a bit of shame in my opinion, that most people use the same platforms for hours each day. Social is the new internet, but still it is a subset of what is available. I would personally like to see more uniquely designed beautiful websites that really support businesses.
Static needs (almost) no maintenance
First off why would anyone want to store things like page titles, header image urls or primary company email in the database? How often do they change?
The second tier down the same tree is product and service pages. If you do not sell directly on your website - but are simply letting your visitors know what you offer, it is unlikely to be updated very often. Certainly isn’t worth to keep someone on a payroll to update them if need be.
Static websites are called “static” because they do not fetch content from the database. They can interact with other services, but navigation or static content is not controlled by the database. The most advanced tools take the approach of providing easy and speedy development experience and also the finished product can be minified and optimised for it to take almost no time to load for the user.
In fact they can be so lightweight that you can host them yourself on an old Mac mini or even a raspberry pi! Read my article on this here.
Excellent tools are React and VueJs to name a few. If you venture out to find the right person to complete the job, remember those, so if you see them along with completed projects and X number of years of experience, you can feel reassured.
New functionality done right
Moving on, sometimes you may want to try out something completely new on your site. Are you sure you want to do it yourself? Finding the right plugin is not an easy task. Customising it only learning that it does not have a key feature is a real waste of time. A professional can do it for you in no time exactly the way you need it and want it.
A good web-designer is your friend
The static website usually takes more effort and skill in the designing phase. Fortunately web-design is booming as more and more people are getting into, and becoming very good at it!
Long term relationship with a developer
The key point is: if you like the idea of hiring someone to build your static website for its benefits, it comes naturally to form a long-term business relationship. Updating the content, recompiling and deploying the site takes very little time for the right individual in most cases. We’re talking about minutes here. They will charge you their rate and you can be sure that you are in safe hands.
This is the approach I recommend for its many benefits.
It is very different to have a site that looks and works very good and surely will not get hacked one day.
I see the sad story of trying to keep old unmaintained CMS sites afloat against attacks and malware. In the other hand, I enjoy the freedom of building absolutely anything I want as a developer. Running a website can and should be fun and definitely not source of any anxiety over being hacked or underperformance.
I think there is a communication gap between people who want and need websites and developers who prefer to speak nerd. The latter understand the benefits of new better tools but often fail to communicate effectively where the benefits lie for the customer and the end user.
Hopefully you have a better understanding of this now, so you can use it for your own benefit!
Thank you for reading! Have a beautiful day!