I love WordPress. To me, WordPress is comfortable. I am familiar with it and have never encountered a situation where I couldn’t make it accommodate my use case or needs.
In the years that have passed since WordPress became the dominant CMS, a few other CMS’s and frameworks have come and gone, threatening to take WordPress’ mantle (it still hasn’t happened).
Some elitists out there believe that WordPress is underpinned by spaghetti legacy PHP code that makes it a non-option for some. Most of those against WordPress are more opposed to PHP itself than the CMS.
Yes, WordPress has some skeletons in its closet. But, at the same time, Automattic and contributors to WordPress have done an exceptional job of evolving WordPress and keeping it fresh. Gutenberg is much better now they’ve sorted out the issues that plagued it for the first two years of its existence. The WordPress REST API is exceptional.
Despite what some will try arguing, WordPress itself is not inherently bad.
You get custom post types, a powerful taxonomy system, REST API, an ecosystem of plugins and themes, and most importantly: a well designed and fully featured administration panel. Although I am pretty comfortable with WordPress, I also acknowledge some needs. It might be a bit heavy-handed.
This is where Strapi comes onto the scene.
On paper, Strapi looks like a great Node.js based alternative for those who use WordPress more as an application framework via the headless REST API. It has support for a multitude of databases, it has a small but passionate community and it’s easy to get started.
However, there is one downside to Strapi that doesn’t replace a need being met by WordPress.
WordPress Multisite aka Multi-tenancy
I know many people don’t need WordPress Multisite, but I do on a project I’ve been working on for over a year. Sadly, Strapi has no official support for multi-tenancy. It has been on the roadmap since 2018 but doesn’t look like it’ll be coming any time soon.
If you were building a system with a leading site followed by many child sites (blogs, stores, user profiles), you need some form of multi-tenancy. Deploying an installation of Strapi per use would require a lot of orchestration to achieve. The only solutions for Strapi at present require you to implement hacks to get faux multi-tenancy, but not the same level of individual site management on a single codebase type multi-tenancy.
I think Strapi is a great option where you need something tailored and customised to your needs closer to the metal (so to speak). However, if you need blogging capabilities or multi-tenancy, WordPress is still the undisputed open-source option.