Reputation: 17900
I am looking at the advantages of a headless CMS for our static website: managed database, beautiful admin interface w/ complex type definition, presentation layer (i.e. Graph API), asset management and optimisation, to name the most important.
However, our website's content is fairly dynamic: new places are added fairly often, and their intrinsic details (such as address and opening hours) are checked and updated every day, via a cron script. We would also benefit from various analytics on our database, which would be fairly hard to implement via the headless CMS' read API.
Thus, my question is, would a headless CMS be suitable in this situation? If not, would it make sense to have both a "main" database and a headless CMS, synced from the main database, containing only user-facing information? How would one approach this?
There is always the option for implementing everything ourselves; however, I feel this is quite a "regular" workflow and we shouldn't be reinventing the wheel.
Upvotes: 0
Views: 1224
Reputation: 50
For the scenario you paint i would say that a mixed approach would do better, one where you have a headless CMS only feeding certain sections / pages and a system that supports the rest of the requirements of your product.
If you have a product person ( or department ) they quite often crave the workflow of a CMS, more the CMS they are familiar with.
I made an article of how to use WordPress as headless CMS with Remix JX probably can serve you as an example. Not sure of the technology that supports your case
Upvotes: 0
Reputation: 952
Yes, a headless CMS applies to this type of use case.
It seems that what you are building is somewhat similar to what I described in the Flotiq storelocator tutorial - so you might want to have a look.
In your question you mention 2 important things which have to be called out:
It's not a feature that is typically offered in a headless CMS. You will probably need to connect a dedicated analytical engine and so you should be looking for a headless CMS that will make it easy to consume the content in another system. For example - Flotiq does it by exposing all of your content via an OpenAPI compatible API (and GraphQL if you can consume it).
If the main reason to have it is the "fairly dynamic" nature of your content - then I don't think you need it. In many cases people are pairing their headless CMS with static site generators (e.g. Gatsby) and they should also support incremental updates, without the need to rebuild the entire website (which might seem like a problem if your site is large, however from practice I know that rebuilding an entire site with 35k+ pages in Gatsby and Flotiq can take less than 5 minutes).
If, on the other hand, you're considering a separate database because of the need to provide the content to other systems - then you have a couple of options:
Disclaimer - as you might've guessed - I work with Flotiq.
Upvotes: 1