DEV Community

Discussion on: Choose a CMS (Content Management System)

Collapse
 
trendschau profile image
Sebastian Schürmanns • Edited

There is no global answer to this question. As rhymes said, everything depends on the context or the requirements and the character of the project. Global answers result in using WordPress for 50% of all websites, and I am pretty sure, that this is a wrong decision in 90% of the cases.

I think to make the right decision you should:

  • Know the requirements of your customer.
  • Know the cms-market at least a little bit.
  • Know your preferences in technology and coding-language.

In the CMS-market you have a lot of segments, like:

  • Headless CMS, which are pretty hot right now. But headless is NOT a product, but an technical architecture (API-based) and a lot of traditional CMS-vendors provide headless installations of their CMS, too. In my eyes, headless is for special use cases and not the right choice in all cases. There are some dozens of new headless CMS and most of them are SaaS-Services like prismic, contentful or CloudCMS or new players like GraphCMS, but there are also some self-hosted software like directus. Along with "headless" comes "serverless" (another buzzword) and as far as I understand this means the serverless client-part (JavaScript) that you will build on top of a headless, but not totally sure because of all this marketing-buzz. All this is pretty hot among frontend-devs because they can concentrate on their JAMStack-stuff without caring about backend.
  • Static site generators: They are not CMS at all, but pretty en vogue among technicians as well. Totally fast and secure, because they produce static html. Smashing Magazine switched from WordPress to static sites with hugo and netlify a while ago. But all this is still hard to handle for non-technicians (there are some solutions for traditional author-interfaces like the netlify CMS). There are probably one or two hundred static site generators, some specialized on blogs, some on traditional websites, some on documentations. You can also combine static site generators with headless services.
  • Flat-File CMS: This is a small market mostly for lightweight websites. Best known are Kirby, Statamic and Grav, all php-based. Flat-file-cms are pretty fast and pretty easy to use, so for me they are a good compromise between traditional CMS and static site generators.
  • There are some other (older) CMS-solutions that you can use to make static html-sites editable, most of them are remote services. It's a niche, but for simple websites this can be a choice, too.
  • Finally all the traditional CMS, open source or proprietary. There are several hundreds, so it's hard to choose. Especially in the php-market the big ones are mostly pretty old, sometimes over complex and with a lack of usability, a lot of legacy code and often some security holes. But they also proved that they work for many years. On the other side, there are some pretty cool new (open source and proprietary) CMS for mid-sized websites like Craft (php, proprietary), that is inspired by ExpressionEngine. But all these solutions are tailored for specific markets and specific needs.

So it should be pretty clear that it does not make any sense to choose any CMS without analyzing the requirements and context of the customer first. If your customer is a fortune500 company, then chances are high that they use some highly complex proprietary CMS like Adobe AEM, CoreMedia or maybe open source systems like drupal or similar. If your client is your friend with a private website, than even a flat-file-cms might be too much. If your customer is a midsize e-commerce company, well, than it looks different again. If your customer focuses on content marketing, well, another context again. Or if he simply want's a primitive online business card, why not use a website builder.

So, to find an answer I would suggest: Never use a CMS because someone said, that it is the best CMS ...

Collapse
 
forethought_de profile image
Karthikeyan P

Hello Sebastian Schürmanns,

Thank you for detailed explanation. It is really helpful.