5 Content Management Systems
A little while ago, we decided to add a blog to our website. So the question was, which CMS to choose? We tested a bunch of options and I want to share with you how we made the decision.
Wordpress
A headful CMS like Wordpress comes with a UI and everything preinstalled. I had previously worked with Wordpress and even though you can spin up something quickly, I just did not like it. You can either rely on third party plugins for everything, or develop your own extensions. But we are neither php developers nor do we have any interest in becoming Wordpress experts. And the whole third party plugins ecosystem is just a mess.
Storyblok
There are great headless alternatives to Wordpress. Headless means, you build the UI and the CMS provides you with an api to just fetch your content. Apart from having full flexibility about the UI there some more benefits like, scalability and multi platform support.
I used Storyblok in the past and liked a lot, but this is a fully managed solution and can get pricy very quickly. Also I just migrated another blog to Storyblok and I can tell you: provider lock-in with content is real! It can be a huge pain having to migrate all of your content to a different provider, so choosing a good CMS is crucial!
Strapi
There are headless Open Source alternatives like Strapi. I tried Strapi before, but coming from Storyblok I did not really warm up with it. I guess it mostly comes down to what you are used to working with... Other than that, I think self hosting Open Source tools can be a great option and with the Docker + sliplane.io combination, it becomes very manageable.
Decap CMS
Decap CMS falls into the category of file based CMSs. It's a very lean approach, that resonated with me from the beginning. You store your articles and content pieces in json or markdown files and the CMS plugs this content into html templates. This eliminates the need for a database, since you can query the content directly from the filesystem. It is a super lean and super fast alternative to get started! Although, at a certain scale, file based CMSs have their limitations...
A Git based CMS is just a version of a file based CMS where content is stored in your repository, so you can easily share it and benefit from versioning. Decap also ships with a web based editor that commits content changes directly to your repo.
Although I really liked the idea behind Decap, the repo does not seem very well maintained and for our use case there is an even leaner solution.
Nuxt Content
Nuxt Content is also file based. It's specifically made for the Nuxt framework, so it does not really fit everywhere, but since we are using Nuxt in our frontend, it was obvious to give it a shot.
Nuxt Content follows an interesting hybrid approach. You organize your content in files, but in a build step the CMS indexes your content in a SQLlite database. This has the additional benefit, that you can run some more advanced queries on your content, like searching for example.
With Nuxt Studio, they also provide a nice web based editing interface - although this is not required and we don't use it.
Biased Comparison of CMS systems
CMS | Main Pro | Main Con |
---|---|---|
WordPress | + Fast and easy to get started | - It's PHP and the plugins are a mess |
Storyblok | + Simple UI and scalable architecture | - Provider lock-in, and expensive |
Strapi | + Headless, open-source | - Complicated setup, requires database, not super intuitive |
Decap CMS | + Lightweight, fast and fairly easy to get started | - Repo not well maintained, limited scalability, limited feature set |
Nuxt Content | + Lightweight, fast and even easier to get started | - Limited to Nuxt, limited scalability, limited feature set |
Summary
For our blog we went for Nuxt content. As we are just starting out we wanted to keep it as lean as possible in the beginning and a file based CMS is the way to go. Since we are already using Nuxt, Nuxt Content it is!
Top comments (38)
Having worked with Drupal for years, I thought I'd mention it as another option to consider. It offers a nice balance between traditional CMS features and headless capabilities. The content modeling is quite powerful, and you can use it either with its built-in admin interface or headlessly with JSON:API. It might be more complex than needed for a simple blog, but for content-rich sites with multiple relationships, it's been a reliable choice in my experience!
Thanks for sharing! Yes, Drupal is a real classic in the CMS landscape - I haven't worked with it, but to me it feels a bit old school and outdated
As Alina mentioned Drupal is heavy handed, but it certainly is not out of date.
It has things like single directory components for theming. They also improved the setup by suggesting Drupal CMS as a base setup. You can still use Drupal, which is the solution as it was before, and that offers recipes to create custom bootstraps. A lot better than the distributions they had before.
There is a lot going on in Drupal land.
There probably is! Guess I just carried this impression with me over the years and every time I hear the name, I just get this vibe... but like I mentioned, I don't use it so idk
When I did a CMS comparison last year, I was impressed by Statamic.
The content can be in files or in a database. They even offer migration commands to go from one storage solution to another.
The main problem I see with file based solutions is that they don't provide an interface for non technical users. And that is what Statamic provides out of the box.
In case of Nuxt Content you need to use their service if you want the same experience.
Thank you for sharing!
I kind of like the idea, of not having to take care of an admin interface and keeping it pretty lean. In fact, I have worked on a project before, where even non technicals writers just sent over their posts in markdown. Some of them have even been using a markdown editor forever...
But I can see how this eventually does not scale anymore. In our case, only technical people involved :)
I agree markdown is not the problem, there are markdown editors as you mention.
The biggest problem I see is when they are introduced to front matter. That is likely to change from one solution to the next. And they can also be confronted by syntax errors if they don't pay attention.
Yeah, true. It's a bit like the typescript config file vs yaml argument:
Why are yaml files so popular, even though it's very easy to mess them up? Yaml configs are worse but better. You don't make any syntax errors with typescript, but on the flipside, you need to install additional packages, take care about running the correct version, run a transpile step, have javascript running to read the config... so maybe in some cases just watching out for syntax errors is not to bad of a strategy :)
As a passionate coder and Django developer, I've always had this tendency to turn away from CMS the simple reason that I just don't fancy drag and drop cuz I'd much rather have intricate control of how I want my sites to look and function.
I tried WordPress once before though, but it was like learning something else entirely. I recently just found out about Django CMS and going to look into it.
Yeah, I think Wordpress is primarily appealing to non coders, but if only technical people involved and you know what you are doing, you can build something right that fits exactly what you need - and there are much leaner tools to get the job done
Thanks for the article. Did you look into payloadCMS
I've seen a few demos of it and the UI looks really cool!
I haven't tried it yet, but I will give it a shot for sure
Why do you even need PHP knowledge to use WordPress for a simple blog ? WordPress is headless ready for years. And there is no need to talk about plugins when the fresh installed WordPress still provide more features than all the other CMS you mentioned. I understand that this is your personal experience and preference so it have to be bias per default but you need at least to do the minimum of effort in researching and testing if you are going to mention any CMS.
If it's a click bait, then that's a 💯 since you got me lol
I didn't say you need php, but if you don't know it, you will have to bring in a third party plugin for even the tiniest extensions on the site.
And yes it does ship with a lot of features out of the box - that we don't need 😃 but we need different features that it does not have by default (like translation)
😃😃 SEO is going to be wack
why you think so?
WordPress is a leader among CMS platforms, in large part because it renders clean, efficient HTML that search engines love.
In fact, Google has noted that WordPress websites are easier to crawl compared to other CMS options.
The CMS itself does not really matter as long as page speed and markdown are fine and some basic technical SEO best practices are followed... Wordpress sure makes it easier not to miss something, but once the site is setup, there is really no difference
That's what you think, that's not the reality, WordPress bests every CMS, when it comes to SEO which is most important.
You should be able to write content and immediately search engines understand what you are trying to do in less than 24 hours.
Other CMS takes so long to get attention of search engine crawl bot, WordPress makes it easier.
Thank you for your opinion. It's great that you made good experiences with Wordpress for your use case.
But we have to be careful not to mix things up. The fact is: Google does not care about the CMS, they care about your page metrics.
And crawl frequency and the time it takes for content to get indexed depend on a whole lot more than just html markup...
Thank you, I hope this helps
bruceclay.com/blog/wordpress-sites....
This too
pixelfish.com.au/blog/google-loves...
Are you seeking an SEO expert and content writer, I can add value to your team
So... WordPress it is? The entire post is just "I hate WordPress, but it's the best option since I hated everything else too, but for 100x the price"..
Nuxt is already a dying project based on React, a bloated and also slowly dying project, so we'll see you back on WordPress soon 😘
Nuxt is based on Vue and it seems like a very live project
Yes - there is a lot going on recently!
Just wait until you look at the code for any WordPress plugin that provides a Gutenberg block: yep, it's React!
I tried Wordpress and did not like it. If you have a different experience thats great! 😉
Don't think React is going anywhere soon though. Nuxt - I don't know, but I had to work with it a lot in previous jobs, so it just stuck with me.
In all areas, WordPress remains the best. A common person can easily create a website quickly without needing a developer. It also has many plugins that support SEO. However, other headless CMS platforms are unsuitable for non-programmers. PHP is no longer a drawback because it has evolved.
The main reason WP is our sometimes-unruly CMS overlord is because it's simple. Ask your typical content writer, small business owner, or community organizer to write some custom CSS and you'll watch with amazement as their eyes glaze over like a pair of Krispy Cremes.
For a CMS to be truly great, it needs to be highly accessible, function at a very high level out of the box, have a plugin library that can do anything you slap into the search bar, and is open to advanced stuff. And having an ocean of documentation and tutorials doesn't hurt. For me to leave WordPress I'd need a CMS that can really compete across the board, not just for me, but for the content team working beneath me in the corporate clockworks.
Fair. In our case we are starting from 0 and it's only developers using it, so we can have a bit of fun there :)
It would have been nice if you also added SEO as a comparison parameter otherwise I enjoyed reading your article.