Ideas and Validation February 16, 2020

Can we chat about CMS for a minute? ✍️

Chris Blackwell @chrisblackwell

A CMS one of the first things a programmer makes. "Building a Blog" is a standard get started style tutorial. So...why am I thinking lately that nobody has solved my problems?

I spent the better part of last night fighting with Ghost. You have to host it on a Node server, but you are limited to using MySQL 5.7 (not 8). WordPress has a really nice feature set but is slow, can be insecure, and is heavy-handed for what I'm looking for.

Here is what I think makes a great CMS:

  • Simple Writing Interface (Ghost and Medium)
  • User Collaboration (Ghost and WordPress)
  • Multilingual (Contentful does this, but WordPress WPML has a better interface)
  • Host assets on CDN (WordPress with Plugin, self-hosted Ghost only)
  • JSON API (WordPress, Ghost)

Is it just me that hates all the CMS options out there, or am I not alone?

  1. 8

    Hi @chrisblackwell!

    Ghost has a native CDN for assets with our managed hosting, it's also possible when self hosting but requires manual configuration.

    We have a detailed tutorial for how to set up multilingual content here: https://ghost.org/tutorials/multi-language-content/

    Not sure why you care what version of MySQL runs the database, it doesn't make any difference to the features of functionality of the app :) Our default database is actually SQLite because that's more than enough for the vast majority of sites, they don't need MySQL at all. But let me know if there's something specific you were concerned about.

    It's true that "building a blog" is a standard getting started tutorial, but I can tell you after a decade of doing it: It isn't as simple as you might think. Sure, you can get a list of posts in chronological order displaying on a page in 20 minutes. Unfortunately most people aren't satisfied with that and want a lot more features, as this post illustrates very well ;)

    That said, if you're still looking for more products to try out, my highest recommendations would be:

    Statamic.com - Jack and his team are incredible, and you get to benefit both from the entire Laravel ecosystem, which is really, really good.

    Craftcms.com - Easily the best "advanced" CMS where you can define all your own data structures and have total control of how you want site architecture to work.

    Ghost is (unapologetically) a publishing platform, not a generic CMS. It has an opinionated featureset for a specific set of usecases which it excels at. If you're looking for a more flexible/maleable product, then Statamic or Craft will suit you much better :)

    As a footnote:

    If something seems really easy and it's ridiculous that your problems haven't been solved yet — often that's a really good indicator that actually it might not be so easy, and/or your problems aren't things that have a viable market. As an indie maker, this can be a helpful perspective to keep in mind as you evaluate both products as well as ideas ✊

  2. 3

    Have you tried CraftCMS? it covers all cases you have listed If I remember correctly.

    1. 1

      Agree. Craft CMS is the way to go and does all of the requirements here. I love how basically build your own interface for each template or page. My customers love how good the authoring experience is as well.

      I wrote about my favorite cms here https://www.indiehackers.com/post/what-is-your-favorite-cms-for-creating-maintaining-a-website-dbf8346c4b?commentId=-LzNOijxB7K0N1iViWBs

    2. 1

      Craft is the way to go.

    3. 1

      Yeah! Craft CMS ticks all boxes

  3. 2

    Especially for having a super simple interface, collaboration, and a wonderful beautiful JSON API, multilingual support you may should have a look at https://www.storyblok.com/

    They try to have a huge amount of developer resources and super fast support. also their plans are amazing when it comes to create new project.

    1. 2

      Indeed have a look at Storyblok or Forestry as a git based CMS

  4. 2

    Have a look at Netlify CMS (https://www.netlifycms.org/). It's a great balance between having a static site and getting the benefits of a CMS without over complicating things.

  5. 2

    You're not alone.

    I've been there, several times. I usually end up building my own solution and there are a few advantages:

    • you can build it exactly how you want.
    • you can make it more than just a blog (for example, make interactive tutorials or in page demos)
    • it can be as simple or as complex as you're willing (for example, I usually just have a bunch of markdown files in a github repository and write a small rendering engine using existing libraries)

    On the other hand, there's plenty of downsides:

    • it's probably not something you're going to be able to sell anytime soon (way too much competition in this area unless you can find a super focused niche)
    • it can be a time sink (if you actually want to write blog posts you're going to spend a lot of time not writing blog posts)
    • every other reason people tell you not to do this probably has some truth to it

    More importantly, you need to ask yourself if this is really what you want. I've tried blogging on and off a bunch of times over the years and I eventually realised I don't actually enjoy blogging much at all. I would much rather be spending my time building apps and websites than creating static blog content.

    Blog posts can be an effective marketing tool if you're building a SaaS app or something but you need to ask yourself, would you rather be spending time working on the app or building the CMS to do the content marketing?

  6. 2

    I second the recommendation for Sanity, it's great. Another one I've used is DatoCMS, it has a more mature GraphQL API and it doesn't force you to set up the backend yourself. It might not be as customizable as the Sanity studio and I've only used it for a simple blog so far, but I really like it.

  7. 2

    have you seen Sanity.io?
    Great user collaboration (real time)
    CDN
    API (it's headless), etc.

    1. 1

      Second sanity. It's the best headless CMS out there.

  8. 1

    Netlify, Netlify CMS, and Gatsby ftw! 🤘🏻🎉

  9. 1

    You should have a look at Expression Engine https://expressionengine.com/ was a paid for CMS that has now gone open source.

  10. 1

    wordpress is a blog engine...I think it's wrongly used on millions of sites just because people are lazy to learn a little bit more...

  11. 1

    I've been using MODX for almost a decade. It's a modular CMS that can be set up to work for you and check all your boxes. Not going to lie, I have a bias. I loved the CMS so much I eventually started working for them.

  12. 1

    Have you tried making a cms with Django?

  13. 1

    Craft CMS is one of the best pieces of software ever made, and it's a great CMS. Don't compromise yourself. Use Craft.

  14. 1

    I hate the idea of a dynamic database being used all the time for essentially static content. So I vote for using static publishing solutions like Jekyll and Hugo.

  15. 1

    Just from your analysis, it looks like Wordpress does most things, with the exception of a simple writing interface. I've used Wordpress and do agree that it could be better, but not sure if it's enough for me to hate it.

  16. 1

    Check out RebelCMS from RebelMouse.