I am also not a fan of WordPress and I have spent some time checking out alternatives. Netlify CMS has been great in my experience. Play around with some templates [0] and see how you like it. I also had an outstanding experience recently using CouchCMS [1] to retrofit an existing static website with a CMS.
We us Drupal at work (university), which theoretically does headless, but Sanity.io is the one that has turned my head. It's headless, but it also let's you code the admin components.
Drupal is so much better now with config in code and use of composer. The new release cycle has made it much easier to upgrade, with small steady improvements (compared to upgrading between versions of the past).
The new admin UI is great too.
I believe headless for drupal is improving. jrockowitz posted a video on his blog with use of schema.org
Now that is interesting. His work on webform is really impressive. I feel like the next step for CMS is going to be content model and UI component interoperability through shared semantics (e.g. the Block Protocol [1] for UI). I wonder if this Blueprint module could be the correlate for content models.
If any monolithic CMS is going to make it through to that far shore, I feel like it will be Drupal.
DokuWiki. If it's just about quickly sharing one page with some pictures, videos, structured text and a descriptive URL, which I also can easily set permissions for outside people, logged-in users, specific groups,... a wiki for me does the job preeeeeeetty well so far. Plus, all my info is already there. Not comparable to all the other solutions mentioned here though, neither feature-wise nor philosophically.
Oh, and DokuWiki uses .txt files for its pages, which can directly be edited from the file system.
Emails (can) have attachments, a subject line, delivery time stamp, and formatted text as content which means that for many use cases, an email is an effective CMS.
E.g., blog posts and static pages like /about or /faqs can easily be done using emails…just needs a bit of creativity.
There’s an admin page where you can manage the slug and preview (which correspond to the link url and meta description). E.g., if your email subject is “hello world”, your url will be “/hello-world-a1b2c3d.html” and the default preview/meta description will be the first 200 characters of your email. Now, the admin page lets you edit the subject and the preview. So if you change the subject to “Goodbye World”, your url will change to “goodbye-world—a1b2c3d.html”. Notice how a1b2c3d stays unchanged? That’s the string used to identify the email internally.
I haven’t exactly implemented post editing but I have a Medium style post editor built into my inbox. Next step will be to surface the email in the inbox and reply to myself with the correct content.
Also, sorry for the late reply. I didn’t realize someone had replied to the original comment. Hope it helps.
At my last job, we went from Drupal 7 to a headless CMS after evaluating several options. Our finalists included:
Drupal 9: Would've been better, but it's a PITA to set up and maintain. It's also the second most-dreaded tech framework (behind only Angular) on the Stack survey: https://survey.stackoverflow.co/2022/#section-most-loved-dre... I will never use Drupal or work for a company that insists on it again.
Contentful, the industry giant, would not give us a quote without a NDA. In hindsight this turned out to be a blessing; we found much more suitable small businesses.
DatoCMS (who we ultimately chose): Really good dev support, small startup means their own devs/founders are very active in support and co-development. Good documentation and examples. Does everything that we need, great plugin support, good choice of fields and schemas. The editors and departments we tested this with, most of whom aren't techies, loved it. I enjoyed it a lot too, especially being able to hang out with the devs on their forums and Slack.
GraphCMS: Similar in many ways to DatoCMS but more powerful (writable/mutable GraphQL API), more extensible schema, better for devs but editors didn't like it as much. This IMO is the most "technically excellent" vendor-supported headless CMS and would've won my "dev's choice" award.
Airtable: Surprisingly capable with its REST API, for the super simple use cases. You'll have to handle permissions and caching yourself though (i.e. proxy the API through Cloudflare or similar). A really good way to get a simple website up and running.
Wordpress with ACF: You can turn off the built-in Wordpress-y-ness and just use ACF if that's better, but your client probably still wouldn't like it. Still waaaaaaaaaaay better than Drupal.
There are a bunch of open-source and/or self-hosted options, but IMO being able to move to a vendor-supported solution with built-in GraphQL endpoints was a DREAM. It meant being able to fully do a Jamstack with Next.js and Vercel or Gatsby/Netlify, and never having to touch the backend again.
Your client edits the content in someone else's CMS, you maintain the frontend, and it all just magically works with no infra maintenance... really frees up support.
CrafCMS. Beautiful back-end, clean, well-structured DIY templating based on twig (or use the built-in API), cheap to host, secure, designed with dev and admin ergonomics in mind, constantly improved. Zero BS of any kind, just considerate design, good engineering, responsive support and community.
$300 for the pro version (adds unlimited users with granular permissions and graphql), free-forever single admin tier.
A solid, rich ecosystem of plugins. Supports headless out of the box.
My experience with it, and with Pixel&Tonic, the intentionally small, solid and profitable company behind it have been beyond delightful.
Bludit CMS https://www.bludit.com/
Bludit CMS is small, faster and flat-file based CMS. control via API and control GatsbyJS from the API. it can use git repository synchronization with remote content plugins.
Can host which is not properly set up slow down the WP?
In the past year, every WP website my company did became too slow, even I noticed it when using admin panel for adding new features, I mean it's barely usable, constantly throwing 404 errors.
Also, the clients started complaining heavily, but I'm unable to come up with the solution since on test server everything works perfectly. I also had some suspicious that's because of the bad host, because it effects every project done with WP, but the company owner claims differently since he's 'really good' at working with servers.
Use Pantheon. Expensive but absolutely worth it, best WP and Drupal host bar non.
It's hard to diy it right. You basically have to cache and invalidate like mad and then put varnish and a cdn in front of it and invalidate those too. It's ugly. Pantheon takes care of all of that for you transparently.
WordPress on a good hosting system like Pantheon (or Wpengine, or the one that stats with K, etc.) can be very fast. It basically just get statically cached.
And with Advanced Custom Forms, I found WP more powerful than any of the 20 or so headless CMS options out there. And a hell lot better than Drupal. More powerful get easier to use as a headless DB. Drupal has other strengths but they're mostly irrelevant these days.
We use Contentful. We did an evaluation of a load of headless CMS and found that Contentful was the only one that matched our needs and (for cloud hosted versions) didn't have bugs that were easy to run into. We also make use of its content management APIs to improve automation of certain tasks not supported by functionality already in the product.
Wagtail for Web CMS. It's powerful and well thought-out with all the Django goodness.
Plone for CMS that goes beyond web content, and in security-critical environments. About 7 years ago, I lead a team for a Fortune 50 to build a CMS which was a knowledge base for hardware and software products, intranet for their supply chain team, authoring/publishing environment for technical manuals, vendor extranet, and distribution platform for device OS images. That project is still going strong and once or twice a year, I get a call from one of their engineers/devops asking for advice about some new functionality they're adding to it.
As someone who dabbled in PHP but is mostly a self-taught JS hobbyist dev, I have been using and loving Directus (https://directus.io) since around the time they switched to Node. Development velocity is exceptional with new features released every couple of weeks and bugfixes/enhancements even more frequent, the community and core team is fantastic, and I like the fact that if I ever decide to switch to another CMS for some reason, there's no real import/export process, I just delete the directus_tables in my database, and done.
Pocketbase (https://pocketbase.io/) piqued my interest after seeing it here and on ProductHunt, but I don't think it would be the right call for a client before it hits a stable release.
I also very much enjoyed OctoberCMS (although it has its quirks), but there was a fairly acrimonious split in the community there, and OctoberCMS is no longer open source, and I haven't used the fork (WinterCMS: https://wintercms.com/)
I enjoyed using Apostrophe (https://apostrophecms.com/) for a while, but ultimately I felt like I was doing a lot of stuff in a way that didn't come naturally to me, and although Mongo seems a logical choice when you look at Apostrophe's page model, it worried me a bit that the data would not be easy to move if I ever wanted to.
I really wish directus had a simple "cookie" based auth, and not all this crazyness with a cookie + refresh token + renewals + refresh + JWTs +... I was trying to use it with Next.js, where I needed to authenticate the current user server side to fetch some data and it was by far the most overcomplicated part of my application.
We ended up switching to Django, where just an traditional http only secure cookie which we "proxied" from Next.js to the frontend and back was enough and maybe even more secure than all the mangling we had to do with the refresh tokens, etc.
I really wish this trend of fancy authentication mechanisms goes away. It doesn't take in account how easy they make for people to mess up on their implementation/usage of it when things are too complex.
I feel you there - I do always feel like I'm writing a lot of code for something that should be better abstracted away - if I send a u/n and p/w once, then I should be logged in until I log out (or my session is invalidated server-side), and I'm always worried that that doesn't happen properly when I use the SDK.
I THINK it does, but I got burned once when it broke last year around the 9.0.0 update, and now I struggle to trust it...
Yeah, that's the point. I think the SDK is not that helpful when running code in the backend (SSR).
What frustrates me is that I don't get what's wrong with just using the traditional http-only secure cookie backed by a server side session. That just works, and it's one of the most safe ways to do it. Even banks do it that way. All the JWT temporary refresh token whatever sounds like somebody was just bored and wanted to have fun. Sorry, I was pretty burned out about this. So much that we ended up swapping it for something else.
I'll take a guess and say your websites don't require a deep level of customization. The hate comes when devs are asked to make wordpress work in ways wordpress wasn't built to work. And plenty of people here are devs, so I imagine they're frustrated with that.
Legacy stuff is still WordPress if it has any interactive elements like e-commerce, but anything else, merely using WP locally or on subdomains for clients as an editor to produce static files that then get automatically pushed via git to CloudFlare Pages, or GitHub Pages.
As an indie hacker creating new products, and reducing tech debt of older, stable products, scouting for the right tech tools (CMS, CI, cloud services, libraries, etc) represents ~40% of my time. And 90% of it is spent learning something I will discard.
Having hn folks electing the top 3-5 candidates saves a lot of time!
I made a short video about this recently because there are a lot of new contenders and the market is changing rapidly. My favorites currently are Ghost (for tiny blogs) and Webiny for the others. Here's the video: https://www.youtube.com/watch?v=QGVGRqjtx-o
- The typical mom & pop business: Squarespace
- Any company without in-house technical leadership: Wordpress + Simply Static
- Any engineering-focused company: Sanity
These recommendations account for common requirements each tier of company typically has
(i.e. long-term maintenance, hiring, and technical features like internationalization)
39 comments
[ 2.3 ms ] story [ 93.2 ms ] thread[0]: https://templates.netlify.com/ [1]: https://www.couchcms.com/
The new admin UI is great too.
I believe headless for drupal is improving. jrockowitz posted a video on his blog with use of schema.org
If any monolithic CMS is going to make it through to that far shore, I feel like it will be Drupal.
1. https://blockprotocol.org/
Oh, and DokuWiki uses .txt files for its pages, which can directly be edited from the file system.
https://strapi.io/
https://payloadcms.com/
https://keystonejs.com/
https://directus.io/
https://ghost.org/
https://apostrophecms.com/
Emails (can) have attachments, a subject line, delivery time stamp, and formatted text as content which means that for many use cases, an email is an effective CMS.
E.g., blog posts and static pages like /about or /faqs can easily be done using emails…just needs a bit of creativity.
I haven’t exactly implemented post editing but I have a Medium style post editor built into my inbox. Next step will be to surface the email in the inbox and reply to myself with the correct content.
Also, sorry for the late reply. I didn’t realize someone had replied to the original comment. Hope it helps.
Drupal 9: Would've been better, but it's a PITA to set up and maintain. It's also the second most-dreaded tech framework (behind only Angular) on the Stack survey: https://survey.stackoverflow.co/2022/#section-most-loved-dre... I will never use Drupal or work for a company that insists on it again.
Contentful, the industry giant, would not give us a quote without a NDA. In hindsight this turned out to be a blessing; we found much more suitable small businesses.
DatoCMS (who we ultimately chose): Really good dev support, small startup means their own devs/founders are very active in support and co-development. Good documentation and examples. Does everything that we need, great plugin support, good choice of fields and schemas. The editors and departments we tested this with, most of whom aren't techies, loved it. I enjoyed it a lot too, especially being able to hang out with the devs on their forums and Slack.
GraphCMS: Similar in many ways to DatoCMS but more powerful (writable/mutable GraphQL API), more extensible schema, better for devs but editors didn't like it as much. This IMO is the most "technically excellent" vendor-supported headless CMS and would've won my "dev's choice" award.
Other similar options: Grav, Sanity.io, Prismic.io, CosmicCMS, ButterCMS, TakeShape, Strapi, Storkyblok, Kontent, Ghost, Directus... here's a good list: https://www.cmswire.com/web-cms/13-headless-cmss-to-put-on-y...
Airtable: Surprisingly capable with its REST API, for the super simple use cases. You'll have to handle permissions and caching yourself though (i.e. proxy the API through Cloudflare or similar). A really good way to get a simple website up and running.
Wordpress with ACF: You can turn off the built-in Wordpress-y-ness and just use ACF if that's better, but your client probably still wouldn't like it. Still waaaaaaaaaaay better than Drupal.
There are a bunch of open-source and/or self-hosted options, but IMO being able to move to a vendor-supported solution with built-in GraphQL endpoints was a DREAM. It meant being able to fully do a Jamstack with Next.js and Vercel or Gatsby/Netlify, and never having to touch the backend again.
Your client edits the content in someone else's CMS, you maintain the frontend, and it all just magically works with no infra maintenance... really frees up support.
$300 for the pro version (adds unlimited users with granular permissions and graphql), free-forever single admin tier.
A solid, rich ecosystem of plugins. Supports headless out of the box.
My experience with it, and with Pixel&Tonic, the intentionally small, solid and profitable company behind it have been beyond delightful.
https://docs.bludit.com/en/api/introduction https://www.gatsbyjs.com/plugins/gatsby-source-bludit/ https://docs.bludit.com/en/how-to/how-to-setup-remote-conten...
i think most people hate WP because, well, a bunch of reasons, but reason #1 is usually speed -- WP is super-slow if you don't host it well.
so, find a blazing-fast WP host. your client will be like, 'ok'.
In the past year, every WP website my company did became too slow, even I noticed it when using admin panel for adding new features, I mean it's barely usable, constantly throwing 404 errors.
Also, the clients started complaining heavily, but I'm unable to come up with the solution since on test server everything works perfectly. I also had some suspicious that's because of the bad host, because it effects every project done with WP, but the company owner claims differently since he's 'really good' at working with servers.
It's hard to diy it right. You basically have to cache and invalidate like mad and then put varnish and a cdn in front of it and invalidate those too. It's ugly. Pantheon takes care of all of that for you transparently.
And with Advanced Custom Forms, I found WP more powerful than any of the 20 or so headless CMS options out there. And a hell lot better than Drupal. More powerful get easier to use as a headless DB. Drupal has other strengths but they're mostly irrelevant these days.
Plone for CMS that goes beyond web content, and in security-critical environments. About 7 years ago, I lead a team for a Fortune 50 to build a CMS which was a knowledge base for hardware and software products, intranet for their supply chain team, authoring/publishing environment for technical manuals, vendor extranet, and distribution platform for device OS images. That project is still going strong and once or twice a year, I get a call from one of their engineers/devops asking for advice about some new functionality they're adding to it.
Pocketbase (https://pocketbase.io/) piqued my interest after seeing it here and on ProductHunt, but I don't think it would be the right call for a client before it hits a stable release.
I also very much enjoyed OctoberCMS (although it has its quirks), but there was a fairly acrimonious split in the community there, and OctoberCMS is no longer open source, and I haven't used the fork (WinterCMS: https://wintercms.com/)
I enjoyed using Apostrophe (https://apostrophecms.com/) for a while, but ultimately I felt like I was doing a lot of stuff in a way that didn't come naturally to me, and although Mongo seems a logical choice when you look at Apostrophe's page model, it worried me a bit that the data would not be easy to move if I ever wanted to.
We ended up switching to Django, where just an traditional http only secure cookie which we "proxied" from Next.js to the frontend and back was enough and maybe even more secure than all the mangling we had to do with the refresh tokens, etc.
I really wish this trend of fancy authentication mechanisms goes away. It doesn't take in account how easy they make for people to mess up on their implementation/usage of it when things are too complex.
I THINK it does, but I got burned once when it broke last year around the 9.0.0 update, and now I struggle to trust it...
I tend to end up doing something like this: https://github.com/directus/directus/discussions/10101
What frustrates me is that I don't get what's wrong with just using the traditional http-only secure cookie backed by a server side session. That just works, and it's one of the most safe ways to do it. Even banks do it that way. All the JWT temporary refresh token whatever sounds like somebody was just bored and wanted to have fun. Sorry, I was pretty burned out about this. So much that we ended up swapping it for something else.
But everyone here hates it. Is this some sort of alternate reality?
As an indie hacker creating new products, and reducing tech debt of older, stable products, scouting for the right tech tools (CMS, CI, cloud services, libraries, etc) represents ~40% of my time. And 90% of it is spent learning something I will discard.
Having hn folks electing the top 3-5 candidates saves a lot of time!
(i.e. long-term maintenance, hiring, and technical features like internationalization)