DEV Community

Have you moved from Wordpress to a Headless CMS ?

Afsal Rahim on November 06, 2020

I use Wordpress for creating almost all websites. At times I had to create a lot of custom post types and modify the WP database. But now I'm consi...
Collapse
 
imthedeveloper profile image
ImTheDeveloper

Make sure you are getting the right type of CMS in your mind first.

There's 3 patterns.

Coupled, decoupled and headless.
dev-to-uploads.s3.amazonaws.com/i/...

A pure headless CMS like contentful will be useful if you want to publish to multiple channels as well as internal / external.

Do not be fooled that blogs don't work for SEO on headless.

You can use a headless CMS as part of your build pipeline, so that content is fetched and baked into your SPA (think of jam stack etc)

You can even have your build process kick off when a new publish event is fired from your headless CMS to automate the deployments.

If you do not want to be building the whole front end OR you already have comfort in a front end CMS and just want the additional API layer to send some content to a different channel e.g. native mobile app then the decoupled CMS may suit your needs.

The caveat with decoupled is generally the APIs are 2nd class citizens, wherein they generally are after thoughts bolted on to products to remain relevant. You may get through fine with these, they won't be as flexible as a pure headless system, but at least you keep the same editor and such.

You will need to consider the security and load on those APIs as well as the way the API views content Vs the templates in the front end.

The traditional coupled CMS is your WordPress of 2016 no need for me to discuss much. Highly opinionated, does what it does and you have to hack away at it for additional features.

Collapse
 
afsalrahim profile image
Afsal Rahim

Thank you so much :)
I got so much information from your reply. <3

I guess, Wordpress with REST API plugin is a decoupled CMS. It works but I'm not so happy with it. I think I should go with headless CMS itself for the API flexibility.

Collapse
 
imthedeveloper profile image
ImTheDeveloper

Yes exactly wordpress developed the API as an after thought. I believe they also tried pushing a headless version once but I haven't kept up to date on the progress there.

You will find many products on the market for decoupled and headless just using the keywords on Google now 👍

There has been an explosion of these products in the market and far too many to discuss but at least you have a path 🙂

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

If you don't have too many pages / posts, a static site generator (e.g. Hugo, Gatsby) is always a solution.

Collapse
 
afsalrahim profile image
Afsal Rahim

Thank you for the suggestion.

Collapse
 
shriji profile image
Shriji

JAMStack is the way, WordPress has an innate problem when loading PHP frontend.. it loads all the core modules and has very low performance, plus the plugin system is so bad the creators of the plugin can be careless when and when not to load the plugin during page loads. TBH, we are happy we have stopped working with WordPress customers :)

Collapse
 
afsalrahim profile image
Afsal Rahim

True :)
I think plugins are both good and bad for wordpress. There is a plugin for pretty much everything which is good but as you pointed out some of them are not worth it.

Collapse
 
denisviklov profile image
Denis Viklov

What the difference between headless and normal like Wordpress in a case of self-hosted solution? I think there is no difference.

Collapse
 
afsalrahim profile image
Afsal Rahim

Well, I was expecting something like an API from headless CMS so that I can put up any UI and also other apps or interface to use the CMS data as I wish.

Of course, Wordpress API plugin is an option. But I felt maybe headless CMS are designed for these scenarios or maybe I got it wrong.

I'm looking for tool which lets me create my custom data structure and it also provides me a default CMS backend dashboard to perform edit/update/create (like the wordpress/wp-admin). While the frontend could be anything from a UI or be even interfaced with an app by its API.

Collapse
 
denisviklov profile image
Denis Viklov

Yeap, it's right but in case if you use their backend server, so you can just connect your UI directly to their API and work. But of course it's not for free(yeah, now they have free limited plan but I think it's only for marketing period and cheapest paid starts from 24$ if you pay annually that almost a price of starting level dedicated server in DC where you can setup 20 Wordpress sites or even more). And if you want self-hosted solution, so here we're minimal requirements NodeJS, any SQL database and linux on board. So, it's the same like and any Wordpress installation. I'm not a big expert in CMS field, but for me Wordpress looks anyway better because it's a mature project with tons of plugins for everything that allows to adapt it for any industry from simple blog to complex eCommerce solution or real estate agency. Easy to find developers and customize as you like. But you can try of course and share your impressions.

Thread Thread
 
afsalrahim profile image
Afsal Rahim

Yes, you're right. Wordpress indeed have a lot of very useful plugins.

Now that you mentioned it, I'm thinking that headless CMS might not be a good fit for blogs especially considering the SEO and stuff which is pretty easy with WP plugins but for headless CMS I might have to start from scratch.

Anyway I will give Strapi a try and see.

Thanks for sharing your thoughts, Denis :)

Collapse
 
mark_codes_the_web profile image
Mark Codes the Web

Check out Flextype CMS and Automad CMS. Both can be used the way you’re describing. Flextype has better REST api integration I think but Automad has a lot of nice features also.

Collapse
 
afsalrahim profile image
Afsal Rahim

Oh.. and it's written in PHP. Thank you for the suggestion. :)

Collapse
 
mark_codes_the_web profile image
Mark Codes the Web

I’m actually having a difficult time deciding which one I prefer. Both are really light weight and have simple templating.

Thread Thread
 
afsalrahim profile image
Afsal Rahim

Have a look at the CockpitCMS suggested by @putude .
I usually look at the github stars and commit frequency and CockpitCMS seems to be better in this regard.

Collapse
 
abmsourav profile image
Keramot UL Islam

WordPress also can be used as a Headless CMS.
Check my series to know more about it...
dev.to/abmsourav/headless-wordpres...

Collapse
 
afsalrahim profile image
Afsal Rahim

Thank you.

Collapse
 
putude profile image
putude

I'm using CockpitCMS for a couple of years for a simple website.

Collapse
 
afsalrahim profile image
Afsal Rahim

Awesome. Another PHP one. Thank you for the suggestion. :)

Collapse
 
robertguss profile image
Robert Guss

You might also want to check out Statamic and/or Craft CMS.

Collapse
 
afsalrahim profile image
Afsal Rahim

Thanks for the suggestion. :)

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

GraphCMS which means less requests and better performance. Drops the mic.

Collapse
 
afsalrahim profile image
Afsal Rahim

Thank you for the suggestion. I will check it out.

Collapse
 
afsalrahim profile image
Afsal Rahim

Thanks for all the suggestions so far. 😊
During my search I came across jamstack.org/headless-cms/ which lists a bunch of headless CMS out there. Hope it helps in your search.