0

It's a while that I don't develop websites, maybe 3-4 years and it seems that the tendency of moving toward CMS increased enormously.

An old customer of mine asked to renew his website, budget isn't stellar but I decided to accept because he gives me also more profiteable creative (non website related) works during the year. I'm pretty competent with PHP, JS, HTML e CSS but not a very fan of CMS.

Last time I did their portfolio website it was mostly coded by me in php based on some personal backend and frontend libraries, then bootstrap, jquery, fontawesome among the others. Even if written in php the dynamic content was kinda low and the website hadn't external user input/data as per website design being a company portfolio where the "funnel" consisted mostly in contacting them via mail/phone at the end of the journey.


As of today the customer wants a whole website change, adding the request of being able to change the content of the website autonomously opening the dooor to a CMS, maybe not the only option but let's say Wordpress and stay on this topic for a minute.

Pros

  • Improved SEO code, not talking just about keywords but all the little SEO friendly html/css/js code best practices that CMS developers implement in order to follow better the Google SEO fashion things that I have no budget time to do it.

  • Url rewriting for the pages, I did it for my website but in this case would be it dynamic with no hassle, updated mobile friendly responsive pages and some minor other things.

going to the cons and why I have avoided CMS until now...

Cons

Security Fixes

Given the small amount of dynamic content I normally do, the limited user interaction, few forms (that I thorougly reg-check for data input/injections) my websites could stay up years without any changes*.

*assuming that the webserver (os,build,distro,httpd daemon,dbms,php build,...) is safe but it's not the concern, the website is on a paid professional mantained and updated web-host with ddos protection and so on.

In case of a CMS like wordpress you have to update it continuously, otherwise it would be exposed to hacking/defacing/malicious code injection of malwares any sort, not nice for a company image and reputation.

Bugs / Possible Code Breaking

If you have to update it continuously many things can go wrong. A theme, a plugin, a new version of a certain plugin interacting bad with another one... the trade off starts to not being so convinient if you have to be continuously on the website to fix issues.

in general... unwanted Manteinance

"I really want to design a website, not growing a tamagotchi needing constant attentions."

I like the idea behind CMS but I would like to put everything online and sleep peacefully once the job is done and being contacted by the customer only when there's needed a major change. This way instead you MUST do manteinance, is not even optional or racommended, is really mandatory.

Extra Costs

If you take a Wordpress installation, you have to get some other things, for example just buying a modern responsive theme, a WP Rocket license, a Yoast Seo Plugin license and so on costs much due the subscription models.


I considered moving their domain to a platform to Wix/Squarespace/Webflow so that they could have their website more editable costantly updated, secured and with CDN support aswell all the latest SEO optimization so that I could focus myself only on the frontend part but sadly it costs a lot yearly and you are locked in their platform.


Yes, I could always take a wordpress installation with elementor, turning off updates hence leaving behind me a huge security hole like most lame webdesigners do but to me isn't very ethical.

Am I missing something? There are's a sort of "super secured not needing updates Wordpress" out of there that could be leave as is for years without risks? Or there are some middleware technologies that I'm missing out and that I could use to build future websites from now on addressing some of the problem listed above?

Sorry for the long text hope to have listed all my concerns and my use case.

1 Answer 1

1

I'd suggest using something like a Headless CMS, there's lots of options out there.

A headless CMS is different to a traditional CMS that handles the rendering of pages. A headless CMS is essentially just an admin panel to manage your data. Your application will then use either the Cockpit API or built-in functions to gather data directly from the CMS. The benefit of this is you can easily convert a static site over to Cockpit (or a similar headless CMS) without too much work in regards to modifying the existing project.

In the past I've used Cockpit CMS. Simply download the latest Cockpit release and put it into your project directory, run through the installation to create a user and then you setup the various Collections or Singletons.

Singletons represent one-off settings such as the website name or homepage text.

Collections represent repeatable items like blog posts.

You can then use the built-in PHP class to gather data from Cockpit or pull it from the API hosted by the CMS.

Cockpit uses SQLite for storing data so the setup is super easy.

3
  • It can be mixed with bootstrap ? Oct 17 at 6:54
  • I've updated the answer to explain a bit better what I meant by headless CMS. Essentially the CMS is completely separate from your application, it's completely unopinionated on how your front-end works. You just use the Cockpit API or built-in PHP functions to gather data from the CMS and output onto your pages. Oct 21 at 18:55
  • awesome I need to study it! :) Oct 26 at 18:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.