Strapi is a free, open-source, and headless/back-end-only CMS that runs on 100% Javascript. Made for developers, it’s fully customizable and provides a robust environment for creating self-hosted and high-performing content APIs. Content creators can easily define models to build rich layouts depending on the data structure they need for their business. Once a content architecture has been set, it’s seamless to write, edit, and manage any content type. Comprehensive frameworks and services from third-party vendors are available to reinforce the content environment and once ready, content can be easily deployed on all cloud platforms or traditional servers.
Capabilities |
|
---|---|
Segment |
|
Deployment | Cloud / SaaS / Web-Based, Desktop Linux, Desktop Mac, Desktop Windows, On-Premise Linux, On-Premise Windows |
Support | 24/7 (Live rep), Chat, Email/Help Desk, FAQs/Forum, Knowledge Base, Phone Support |
Training | Documentation |
Languages | English |
As we plan to transition to the Jamstack, we were directed to use a headless CMS. Strapi looked like a good option, so we looked into getting it all set up. Within minutes, we had something better than we previously had. Our developers were amazed with how quickly we were able to plug our data, and how we could have non-technical employees use it as well for data-entry and manipulation.
So far, not many dislikes. My main dislike is not being able to manipulate the "id" field. I'd like to use a slug for it rather than a incremental number, but in the documentation, it says it is being worked on for Strapi V4.
Besides the "id" problem, not much else. One of the major benefits is definitely allowing non-technical employees to be able to manipulate data and add information without the need of having a developer or engineer doing it for them. It definitely can speed up many bottlenecks in our workflow.
I really enjoy how easy Strapi is. You can build complex APIs including relation, automatic slug, field assertions and so on. You can also define multiple roles and give different read / write / update / delete conditions for each of these roles. You can also give more complex permissions with just a click like "a user can update a resource only if he created it".
Roles management for community edition is quite restrictive. It may not be an issue with other editions but I couldn't try it at this time. Anyway, pricing are quite expensive for small companies.
At the time I write these lines, I've only used Strapi for local development. But it really helped me to develop faster. I used to develop my APIs from scratch.
In my case, I started a Open Source project with React and I need a database with CMS so I decided to use Strapi to learn since I had never used it before
Sometimes, when entering pages and performing certain actions, it shows an error card that doesn't make sense, and it could you confuse making you think that you did wrong
Strapi solved my backend databaseCMS system in my project because I'm simulating an online store to practice Remix Run, Next JS and Astro using React as frontend
It's allowed us to get started very quickly in moving from concept to implementation.
We have had to find some ways to work around free tier limitations as we are working as a non-profit.
We're developing a free and open source infrastructure for the development and sharing of teaching material to help build capacity in developing countries.
Strapi framework is simple to use with very good documentation. It's scalable and has a lot of third-party plugins
Lack of MongoDB support and limited plugin support
It is used as a backend for the blog site, with good query support users can only ask for particular data which keeps data size low.
Single post types and dynamic zone with custom components
Very limited plugins and whatever is available is not well documented.
We are building JAM stack based website for our orgnization as a pilot and once sucessful we plan to migrate many other exisiting sites.
East set up and out-of-the-box functionality.
The default UX could be improved. There are more modern components Strapi could be using for lists, component organization, and editing screens.
Provide an easy way to allow content editors and managers to organize our archival data.
It is javascript based, graphql support, and the ability to run it locally.
Too many bugs, the free tier is trash, there is only 3 roles in the free tier, you can't even delete one of them. No typescript version out of the box.
Making API mockup real quick for demo showcase
It's quite fast to set up a new Strapi instance for a Jamstack project. The frontend can consume the editor's content with the GraphQL API. You can use an S3-based API to consume your assets. It supports multiple languages also! And the UI is quite nice for editors !
Nothing really bad, but it could be nice to have more features like a deploy button to publish your content on demand. However, you can implement such features by customizing it!Also, the Strapi team is working hard to add a lot of new features!
Allow editors to provide structured content in a Jamstack project.
We adopted Strapi a couple of years ago back in the beta phase, The biggest like is the ability to create custom content fairly easily
Upgrade and migrations are very manual and documentation is a little anemic.
We needed a customizable CMS to integrate with an online learning experience
Strapi is a great headless CMS with a lot of great features. I love the clean UI of Strapi. It's also free and open source.
When I was using Strapi, I found some limitations when working with Typescript. Also, Strapi doesn't offer a free tier for their cloud plan. I have to self-host to use Strapi, otherwise, the pricing increases a lot.
The headless CMSs offer a ton of customizability with models and more. I was able to create custom types depending on my use case, which is possible but tougher with WordPress.