Well, it's been a long time since I haven't made any posts, and I just felt like I should speak a bit about this CMS I just had to face at work.
First of all, you may already know what a CMS and WordPress is. If not, here you go:
A content management system, often abbreviated as CMS, is software that helps users create, manage, and modify content on a website without the need for specialised technical knowledge.
In simpler language, a content management system is a tool that helps you build a website without needing to write all the code from scratch (or even know how to code at all).
Then there's WordPress, which basically is THE CMS of the internet. About 40% of the web is built as a WordPress site. It is free, really well maintained, and has a lot of features.
So... why would I be keen to drop it? It sounds great, right?
I'll order them from 0 (Not a big deal) to 6 (Made me run away):
As I said, not a big deal. With the years of practice I've kind of liked PHP a lot, but, it's far away from becoming my favourite language, as for probably many of you(Right know they are Ruby & Golang).
WordPress is not deadly slow or anything. Not IF you properly know how to manage it, how it should work, and how to keep it clean. Sadly, 95% of the projects I've worked with that uses WordPress are already beaten to death. Hitting 100 LCP scores so Google Core Vitals boosts your page is kinda hard. It should not be like that.
A fresh one its great, but, once you start adding plugins and functionalities, you really need to know how to handle assets and stuff so it works decently.
If you've worked with WordPress, you may know how is it to integrate for example React, enqueue scripts, use other front-end frameworks (not that cool). It can be made, for sure, but it is far away from being one of the most pleasant tools to integrate something into.
WordPress is also known for being kind of susceptible to having security issues. One of the reasons is that it is so open (it's an open source project actually), so highly customizable, and there are sooooo many unmantained or flaky plugins around, that it is hard to mantain your site fully secure. Specially when you also have to deal with clients touching around your WordPress guts.
This is probably one of the biggest reasons not many speak about. You've probably heard some dev around saying comments like ("Ugh, WordPress? Never", "Everyone can use that", "That's not programming"... etc etc). WordPress it's way underrated, both inside the community, and in the business field. Probably it's one of the worst-paying jobs you can get as a Developer. And all of this, is because people are not well informed about it.
The point of WordPress is that it's a tool made so everyone can make its business, website, blog, real. Easily, happily, and without expending too much, and it's exceptional at it, but it also made people think it's kind of worthless when you want "something else", which is a lie, but it's already at the bottom of the well and no one wants to look if it's still worthy.
Probably, the most disappointing thing of WordPress is that you may feel that you are working in a factory, always doing the same thing. Wax on, Wax off. SEO, Cookies, Add new stuff to the theme, performance, repeat. Always the same thing for every project.
Also, as WordPress being underrated + not the most loved tool in the Dev Community, big companies and projects decide not to include this tool to its stack. After all, a big percent of the WordPress around are blogs, news, and similar. It's hard to find a project that I'd love if it's made in WP.
And I'll stop here, so I can speak you about the new alternative I found, Strapi.
Strapi is a headless CMS, which means that it has the power of a CMS, but without depending on a front-end of its own. It will basically work as a REST API.
In a traditional or monolithic CMS like WordPress, everything is packaged together: the backend is rigidly and intricately linked to the design frontend part of your application. A headless CMS like Strapi focuses on its primary mission: managing content. It does so by storing content in a database, providing an interface to manage content, and exposing it with an API, to make it available to any frontend.
WordPress can do this too, yes, but not by default. This is not the reason to flee though.
It's also really flexible. If you had to deal with WordPress, you may know how tedious it is to work on the structure of the content. First you have to depend on Advance custom fields plugin to create custom contents, registering custom post types, creating relations between them... (ew.)
What you can do with the Advanced Custom Fields plugin for WordPress, you can do it natively in Strapi. It is customisable without twisting the code. You decide on your API and data structure. You can customise anything through the API or editing the files inside your code.
Also, it is faster. It's made on Node.js, which basically gives you dynamic refresh of pages, and well, Node.JS is way faster than PHP because it is asynchronous.
In my humble opinion, it's prettier than WordPress. For many this would not matter at all, but, for me, it does. It is a personal opinion.
The final point that made me decide was that is really easy to integrate with modern tools, like Next.JS, Gatsby, Nuxt, Flutter, Hugo... using GraphQL. See more integrations here.
It has nothing to envy WordPress. Plugins, highly customizable, free, and open source.
Check it out at https://strapi.io/