14 ms·
Ask HN: Looking for headless CMS recommendation
I am exploring options for a headless CMS for a community website where a non technical admin will post details about events in the community like a meeting or volunteering done by the community. They don't have funding. What is the cheapest option out there?
- leo_researchly 1y agoWe recently landed on Strapi. There’s an open source version but we use the hosted one (for now). All in all good. There are a few quirks in the UI (sometimes smaller changes weren’t saved - although this might be a user issue from my side) and the markdown editor could be more user friendly. We are sticking with it for now because it’s indeed good enough and I haven’t found any better options (give the price).
- mkranjec 1y agoIIRC Strapi is a great option for green field projects. C/p from their docs: "Strapi applications are not meant to be connected to a pre-existing database, not created by a Strapi application, nor connected to a Strapi v3 database. The Strapi team will not support such attempts. Attempting to connect to an unsupported database may, and most likely will, result in lost data." Unfortunately, most of the time I do not have such luxury. What are the CMS options for pre-existing databases?
- mierz00 1y agoI’m curious as to why you need to use a pre-existing database? Can you run some migration scripts to port the old database content into a new CMS?
- dswnnpa 1y agoWagtail: https://docs.wagtail.org/en/stable/advanced_topics/headless.html#headless-support https://docs.wagtail.org/en/stable/advanced_topics/headless....
- MrContent04 1y agoFrom a publishing perspective, the choice of headless CMS often depends on how you plan to scale and distribute content: - Strapi→ great balance of flexibility + control, good for small-to-mid projects. - Contentful→ solid for enterprise-level publishing, but cost is higher. - Sanity→ strong for structured content, especially for editorial teams. - Ghost (headless mode)→ works very well for content-heavy publishing. As a software publisher, I’ve seen Strapi and Ghost perform particularly well for indie and startup-level launches. I recently published a project where Strapi helped reduce time-to-market significantly. Curious what others here are using in 2025!
- gadr90 1y agoWe have been building an open source CMS based on TypeScript for a while now at https://github.com/deco-cx/deco https://github.com/deco-cx/deco Now we are adding the ability to deploy workflows and agents. It can _also_ code websites: https://decocms.com https://decocms.com But alas its not ready yet - pre launch this monday.
- andrei_says_ 1y agoCraftCMS is an actual CMS, the single user version is free. Highly recommended.
- tomnipotent 1y agoA gmail account and a public calendar and embed widget.
- forest_pink 1y agoThere are plenty available: https://jamstack.org/headless-cms/ https://jamstack.org/headless-cms/ Keystone mb? You may also want to check things like Appwrite for hosted solution (free plan available) or PocketBase for self-hosting on any VPS (fly.io does not charge below 5$). Those are more developer-focused, but also should be much less restrictive. Have no real experience with any of them.
- mrweasel 1y agoWordpress? Why does it need to be headless though?
- racl101 1y agoSome people might not like WordPress' templating system. Last I looked at it, admittedly 5 years ago, it was kind of annoying. I had to use Advanced Custom Fields to build weird things content types but the general blogging engine still seemed pretty good.
- disiplus 1y agoyeah, that's also what i don't understand, you can get wordpress for dirt cheap and don't even need a tech person to run it. like if you dont have any money you can get wordpress hosting for free from wordpress.com
- Lucasoato 1y agoPayloadCMS seems really interesting, I’ve used it successfully for a small blog but I feel it has a lot of potential. It’s not fully open source, if you want additional features like SSO you have to pay for premium version.
- pembrook 1y agoThey got acquired by Figma so I would not build on payload anymore, I fully expect the product to wither away now given Figma has their own priorities and has a non-technical userbase.
- pembrook 1y agoI wouldn't be setting up a static site + headless CMS for a non-technical organization. This is basically asking for a constant headache. Just set them up on a website builder like Webflow/Framer/Ycode/Squarespace/etc that has a CMS built in.
- citizenpaul 1y agoOn the other hand I worked for a small place that was spending over 250k'ish per year on website maintenance to a company that setup their headless CMS website that they sold them. They complained about it constantly but they kept paying (7 years and going when I was doing work for them which by they way they constantly tried to shortchange me). Never feel bad about taking money from a company, its just business. Setup your income stream and take care of yourself. I'm not sure why there is this bizarre self sacrificing mentality in tech to make other people rich at your own expense. Not to mention if you invoke those companies you are putting yourself in their walled garden that makes them money and takes control of your income away from you. Why would any person want to do that? There is no moral quandary here.
- gjsman-1000 1y ago> Not to mention if you invoke those companies you are putting yourself in their walled garden that makes them money and takes control of your income away from you. Why would any person want to do that? There is no moral quandary here. Buying into proprietary software and walled gardens is ridiculously common and acceptable in a business environment. That's code for "no liability if something goes wrong, minimal maintenance, and easy onboarding of new employees."
- citizenpaul 1y ago>common and acceptable in a business environment Duh. The comment context was in response to selling something to a company as a service. If you are just being an unofficial middle man between a SaaS and your customer you are going to make very little money. Its essentially uber for tech, you are going to be bearing the burden of all the implementation friction. On top of that you are acting as an uncommissioned sales person for the SaaS while they collect income indefinitely from your work. The difference in how you setup the deal is literally millions of dollars in the real life example I mentioned. I don't care about corporations. I want HN posters to make money for their work and skills rather than be used and tossed in the trash by corporations. Guess what? The company is still in business and doing fine. The owner just gets one less lambo per year and a developer gets to feed their family. Its also worth mentioning the obvious only reason they still pay the small consultancy is that they are constantly asking for changes and new things. Why would you want the extra overhead of working in someone elses sandbox when you have to do all the work anyway. Might as well be on your terms if you are going to do the work.
- curtisszmania 1y ago[dead]
- skeptrune 1y agoKeystatic[1] is awesome. It's local-first by default and made for static site builds, so you can keep costs low by not using a server. I've used it alongside Astro for both my personal blog[2] and two company sites[3][4]. It's worked amazingly well each time. [1] https://keystatic.com/ https://keystatic.com/ [2] https://github.com/skeptrunedev/personal-site https://github.com/skeptrunedev/personal-site [3] https://github.com/devflowinc/trieve/tree/main/website https://github.com/devflowinc/trieve/tree/main/website [4] https://github.com/patroninc/patron/tree/main/website https://github.com/patroninc/patron/tree/main/website
- akmann 1y agoIm using directus (https://directus.io/ https://directus.io/) for my personal website with a vacation blog and some posts… So far it works pretty well and my gf is also able to use it on her own, so you could say its non-tech user approved haha I also did some websites using hugo and DecapCMS from netlify. That also worked but the ui isnt to fancy and it gets a bit confusing on complex pages. But it can directly push to a git repo so you have version control out of the box
- mattmcknight 1y agoI think it depends a little on what your intended head is? Headless CMS is just CRUD UI for a database that has an API.
- deleted 1y ago[deleted]
- Beefin 1y agoi've been super happy with Ghost for our blog http://mixpeek.com/blog http://mixpeek.com/blog
- hosh 1y agoNot immediately practical -- I've been looking into using Pharo (smalltalk) to build a web authoring / static site generator that non-devs can use, and something that devs can quickly customize or extend.
- blakeburch 1y agoI really enjoyed sanity.io a year ago. It had the best data structure flexibility by a mile, with the ability to have multiple user draft states and merge conflict resolution. Other Headless CMS felt restrictive, with shared drafts or the requirement for all published items to have changes go live instantly. Once you're set up with your schema, the UI is easy enough for non-developers (and you can customize it for them if needed).
- wuhhh 1y agoCraft CMS - https://craftcms.com https://craftcms.com - is superb and still seems to be under the radar, I often wonder why it’s not more widely used
- codegeek 1y agoWhy headless ? If non technical admin will post details about events, you can find a WordPress plugin for it and setup a WP site. Headless makes sense if you want to really customize the experience but you want "cheapest option" so I would assume they cannot pay for customizations anyway.
- kevin_thibedeau 1y agoHow else are they going to synergize with the latest paradigm shift? Headless is for sharing a common backend between a web site and phone apps. If you don't have the resources for the apps then it serves little purpose.
- rovr138 1y ago> Headless is for sharing a common backend between a web site and phone apps. Or build/add an API when needed
- yodon 1y agoHeadless is a constraint you added as a developer for yourself - it's definitely not a thing the users will care about. Ghost is a great, simple, batteries included non-headless CMS for things like you describe. Self-hosted or as a service.
- edu 1y agoI’m building my personal blog with 11ty as a static site builder and Decap[0], previously known as Netlify CMS, to manage content. Basically it provides a UI and all changes are pushed to GitHub which will launch the release process back in Netlify. Seems it might fit your requirements too. 0. https://decapcms.org/ https://decapcms.org/
- ngc6677 1y agoAlso highly recommending decap CMS, or the svelte version sveltia[0]. With Gitlab backend and PKCE authorization, this CMS connects directly to gitlab without any other middleware (unlike when using Github, which will require one for the auth). With a gitlab pages + decap CMS + static site (jamstack), it is possible to have a site running at no cost. Currently having 20+ sites running this setup for clients and never hit an issue "modeling" the data as Decap config, widgets (also custom ones), can allow pretty much anything. One downside for this setup, is that uploaded media are not re-sized or compressed (since there is no backend job doing it), so a client must be briefed into "making smaller images" (on the web client side with squoosh.app[2] for example), or using a SSG that does that built-in (hugo, gatsby) 0. https://github.com/sveltia https://github.com/sveltia 1. https://decapcms.org/docs/gitlab-backend/#client-side-pkce-authorization https://decapcms.org/docs/gitlab-backend/#client-side-pkce-a... 2. https://squoosh.app https://squoosh.app
- __oh_es 1y agoSorry I know you said headless, but have you considered wordpress? Its unsexy, but the ecosystem is really well suited for this and hosting is dirt cheap. Because its so popular and been around for so long, theres tons of free themes, plugins and videos which will reduce your support burden - plus your admin could get help easily as its not something you rolled. Other than that, decap on gitlab is easy to run for free, and will provide the admin with a ui for editing content. Astro is also great and stable for this type of thing.
- difu_disciple 1y agoDev budget under $25k: Statamic [1] or Wordpress (with ACF [2] & Acorn [3]) Professional work above that: Sanity [4] or Hygraph [5] [1] https://statamic.com https://statamic.com [2] https://www.advancedcustomfields.com https://www.advancedcustomfields.com [3] https://roots.io/acorn/ https://roots.io/acorn/ [4] https://www.sanity.io https://www.sanity.io [5] https://hygraph.com https://hygraph.com
- shortformblog 1y agoI use Craft CMS’ GraphQL capabilities with my Eleventy site. Works well and helps me keep my page loads static. I would also recommend Directus for this, as it has some nice quality-of-life benefits. To manage deploys, I have used Cleavr, which does a good job at it without being too user-unfriendly. That’s a paid service, about $6/month.
- vanillax 1y agoPayload CMS Is the best out there. Its free to host yourself.
- sadeed08 1y agoPayload is very developer centric
- rla3rd 1y agoWagtail CMS, built on top of django. https://wagtail.org/ https://wagtail.org/
- type0 1y agoI might be biased but I love wagtail mainly because of django, can't stand php insanity. I'm sure there are some good cms's written in Personal Home Page language, I just haven't seen any
- whilenot-dev 1y agoUsed directus[0] (v9) for a customer project[1]. I needed to sync the CMS content with meilisearch[2], so I had to write a custom extension that registers some hooks[3] for that. I discovered some weirdness in the API, since the payload of a hook behaves differently whether the CMS change gets triggered via UI event, API request, or CSV upload. Was a bit annoying, but got it working in the end. Don't know if that improved in later versions, but I honestly also didn't keep up with development since the license change. [0]: https://directus.io/ https://directus.io/ [1]: https://genopedia.com/ https://genopedia.com/ [2]: https://www.meilisearch.com/ https://www.meilisearch.com/ [3]: https://directus.io/docs/guides/extensions/api-extensions/hooks https://directus.io/docs/guides/extensions/api-extensions/ho...
- carlosjobim 1y ago> They don't have funding. Well how are they then going to pay for their web hosting? Tell them to scram.
- ChrisMarshallNY 1y agoIf you have a registered nonprofit, like a 501(c)(3), you can often get a substantial break from some SaaS companies. Some will give you the service for free (rate-limited, probably), while others may not give you a break at all. I will say Caveat Emptor. If you keep your backend on Someone Else's Machine, they can hold your data hostage. Hosting should be fine, but some SaaS companies have a nasty habit of considering any data they have access to, to be "theirs." May be fine, until they sell the company, at which time, bend over and squeal. Source: Been doing nonprofit development work since last century.
- h4ch1 1y agoI know this is for a non-technical admin, but I just wanted to give Zola [0] a shoutout. I love the single binary approach, and it being so simple. Got my blog up and running in minutes with absolutely minimal configuration. Helps me focus on the writing rather than tinkering with the tool I think this coupled with Keystatic [1] could be a nifty little lightweight setup for most. [0] https://github.com/getzola/zola https://github.com/getzola/zola [1] https://keystatic.com/ https://keystatic.com/
- ibotty 1y agoOr use decap https://decapcms.org/ https://decapcms.org/
- h4ch1 1y agoDecap's cool but I've never really liked their approach to UI/UX, also it was kind of painful to setup the last I tinkered with it.
- mikae1 1y agoToo bad it doesn't quite support dates in the dir paths. I'd like to recommend a highly underappreciated single binary rewrite of Jekyll in Go: https://github.com/osteele/gojekyll https://github.com/osteele/gojekyll
- h4ch1 1y agoHmm, personally I never really cared for dated paths, seems like a problem that's solved by metadata defined in the frontmatter. my-blog-article-title.md seems enough, and dates usually feel like clutter, since titles are distinct as they are and you don't really need the date in the filename to do anything useful. But again, different people prefer different setups.
- mikae1 1y ago> my-blog-article-title.md seems enough, and dates usually feel like clutter, since titles are distinct as they are and you don't really need the date in the filename to do anything useful. I love to see when a page by posted just by looking at the URL. It also avoids naming collisions. For a static site, not rendered from a db, I wouldn't want to store every post ever written in one dir either. How well does that scale? Yeah, you can probably store 100K files in dir, but it will become unwieldy and slow to load when browsing a lot sooner. Just a dir per year probably solve any such problem.
- beingmudit 1y agoCheckout Sonic - https://github.com/lane711/sonicjs https://github.com/lane711/sonicjs
- Y-bar 1y agoYou have twenty good tips already, but nobody seems to have mentioned that you can run WordPress fully headless. https://www.gatsbyjs.com/docs/glossary/headless-wordpress/ https://www.gatsbyjs.com/docs/glossary/headless-wordpress/
- steviedotboston 1y agoDrupal works very well as a headless CMS now https://www.drupal.org/docs/develop/decoupled-drupal https://www.drupal.org/docs/develop/decoupled-drupal https://www.lullabot.com/resource/decoupled-drupal https://www.lullabot.com/resource/decoupled-drupal Drupal has a really strong community behind it, and was completely rebuilt a number of years ago with modern PHP. It uses Symfony, composer, etc.
- falibout 1y agoCan confirm. I had written off Drupal over a decade ago but it's evolved into something rock solid and infinitely customizable for any kind of website. Works well headless and none of the paid plugin nonsense that Wordpress suffers from. I still use Wordpress headless for most client work but Drupal was a very pleasant surprise.
- geocrasher 1y agoThe answer isn't headless WordPress. It's WordPress. You're building something for a volunteer community, which means at some point you'll be gone and somebody will be wondering how the heck to manage the site with this "custom" setup that they can't figure out with chatgpt or a youtube video. Set them up for the future, not for the now. WordPress. Just WordPress. Reference: 26+ years in hosting, 4 years in WordPress-only hosting.
- dizlexic 1y agoI hate to agree because I hate WordPress, but when building something for others especially in a volunteer community it's still the go-to solution. Pros, a ton of docs, easy non-technical customization, long term support, many already experienced users, made for basically exactly what you're doing. Cons, it's WordPress, and the actual wp-loop is a nightmare of bad choices.
- dabockster 1y agoSame. Or maybe something using PHP just as a basic templating engine (like how people used to use it). Something that can be copy/pasted to a dime a dozen cPanel powered shared webhost at a moment's notice.
- geocrasher 1y agoFor better or worse, you just described WordPress.
- justinrubek 1y agoIn every experience I've had, non-technical people have had a terrible time doing customizations. Not a single time have I ever seen them successfully navigate customizing pages without someone else stepping in. I see this as the worst case scenario: non-technical people can't do it and technical people also can't because they only have subpar tools to do so. I disagree wholeheartedly with this assumption.
- yoyo250 1y ago
- stophecom 1y agoI'd recommend the following options. Both platforms offer enterprise solutions, but also provide free starter plans: https://www.storyblok.com/ https://www.storyblok.com/ https://www.datocms.com/ https://www.datocms.com/ From own experience, the developer experience is awesome. Both are based in Europe, which is probably why those were not mentioned here before :)
- mitjam 1y agoIn my experience, the cheapest way to serve content on the web is static, for convenience rendered with a static site generator. It's admittedly more editor-less than headless, but anything that constantly needs to runs on a server will cost more, in the end, even if it's a freemium service, right now. Editing content with Obsidian and rendering it with Hugo is no too bad, btw. (see eg. https://www.nickgracilla.com/posts/obsidian-is-my-hugo-cms/ https://www.nickgracilla.com/posts/obsidian-is-my-hugo-cms/ for a setup).
- rkunal 1y agoI am travelling right now. I wonder if I had used Wordpress for my blog because it has a fully functional mobile app.
- Nextgrid 1y agoGhost (my preference, to avoid security concerns around WordPress), or WordPress, if you can deal with the occasional security issue or use managed hosting. Basically forget the “headless” bit and use a bog-standard CMS.
- type0 1y agoMaybe https://getpublii.com/ https://getpublii.com/ it's a static site generator as an app for non technical people
- miragecraft 1y agoI think a hosted solution is best, unless you know for sure that they’ll always have a developer willing to volunteer their time to manage their server and keep everything up to date. The cost is peanuts compared to the hourly rate of a developer to personally manage and keep secure their website for them. As for static site, you think a non technical person can handle a static site generator and deploying to GitHub Pages? I doubt it. Often times it gets very expensive to cheap out on things.
- sidcool 1y agoContentstack is pretty good in this regard. Headless, provides Personalization, Hosting, Analytics, Marketplace etc.
- agcat 1y agoGhost for work.. bearblog.dev for personal use
- moomoo11 1y agoYou could use notion if you want forms (event sign ups or tracking stuff like inventory). There’s a way to make notion pages a “website”. It’s something a little easier than Wordpress for non technical people. Nothing is super simple but at least notion can be figured out more easily than code or admin panels. When you’re not there, they won’t be completely in the dark. Just my 2c.
- gadders 1y agoCityDesk if it was 24 years ago. https://www.joelonsoftware.com/2001/10/12/what-does-citydesk-do/ https://www.joelonsoftware.com/2001/10/12/what-does-citydesk... Still not much that was easier to create a website for a non-tech user.
- loopduplicate 1y agoCheapest? The most expesive part is going to be paying the person or company who sets it up, maintains, and documents it. I'm an expert at Drupal, so for my companies, Drupal is cheap and it can be adapted to grow and change over time as new ideas for the application are discovered; you don't know what your website will need next year so it's nice to have a CMS that is based on having the ability to adapt over time. Wordpress is only cheap if your ambitions for the site aren't big. Trying to do too much with it is a developer's nightmare. Peace.
- loopduplicate 1y agoOh, and unlike a lot of other answers, Drupal has great support for being headless, like you asked for.
- deleted 1y ago[deleted]
- jackh04878 1y ago[dead]
- solardev 1y agoI work for a headless CMS, but I think that's a poor fit for your use case. Many of our small customers start off in your situation, where a helpful dev makes them a headless site. A couple years later, the dev moves on, and the client has no way to update their site with new features or sections, and no way to fix it if anything breaks. And we have to explain to them what headless is and why they're in this situation. It sucks for everyone involved. Go with a regular CMS, like Wix or Squarespace or WordPress. The $10 or $20 a month is still cheaper than having to pay a dev later to fix their broken headless site with old deprecated packages and frameworks that nobody uses anymore. Headless is a developer optimization, not a client feature. It only makes sense if the dev is a part of the customer's own team, or in an ongoing agency relationship with them. It's a poor fit for freelancers and volunteers because the client ends up with essentially abandonware.
- curioussquirrel 1y agoIf you're hell-bent on headless, I can personally recommend 11ty (https://www.11ty.dev/ https://www.11ty.dev/) and hugo (https://gohugo.io/ https://gohugo.io/). That said, for non-technical admins, you probably want a user interface. For that, Ghost (https://ghost.org/ https://ghost.org/) and Grav (https://getgrav.org/ https://getgrav.org/). Or Wordpress!
- devrimozcay 1y ago[dead]