Is Notion Database a Good Fit for CMS?
I'm curious—can Notion's database be used effectively as a CMS for websites? 🤔
For example, managing content for an e-commerce site or a news/blog platform.
Has anyone tried this? I'd love to hear about your experience! What are the pros and cons of using Notion as the backend for a website?
Looking forward to your insights! đź‘€
Replies
In my opinion it is the worst backend/database you can choose. Even though data management would be a breeze, the API has two major weaknesses:
Cons:
it is incredibly slow. Latency is sometimes over 0.2-0.5s. If you need to load Data from different tables, your users will wait to long until the page is loaded. It’ll kill your Google reputation as well.
Notion doesn’t return rendered HTML or Markdown. If you would like to display a Notion page content on your website, you need to render every from scratch. The Notion format is very complex. And while there are Open Source Notion renderers on Github, none of the ones I tested are stable or feature complete enough. Ar least for my taste.
Pros:
if there are any, I am not aware of.
tl;dr:
it wont be a good decision.
to slow API
to much work to create a proper HTML renderer.
@lars_lehmann wow the Notion API just sends you the Notion blocks and you have to parse it on your own? Seems like even using WordPress as a headless CMS would be better than that.
@steveb Wordpress as backend/database is the much better decision.
In Notion, everything is a „block“, which is represented as extremely nested JSON. Each text style is a block with special properties. And you render it completely on your own which erases the ease of the database builder while developing.
And on top, the API is super slow, which forces you to build sone sort of a caching system.
It is just not meant for this usecase.
@lars_lehmann thanks for this. It's too bad, I would have thought they'd want Notion to cover this use case.
There is an official plugin from Wordpress. My guess is that they saw it coming and wanted to create dissuasion for a startup to come in.
Nevertheless, one friend of mine in Toulouse created this open-source repo : Notion<->Markdown synchronisation:
https://github.com/Myastr0/mk-notes
You can now synchronize your CMS markdown with Notion. Unfortunately, Notion API has strong limitations on content upload.
@victoria_wu yes it can, kind of. There are some big limitations in terms of what you can display on your site, but it can be used depending on what you're trying to achieve and if you have some engineering knowledge.
Pros:
- Internal Notion API's are easy to setup and manage
- Saves paying for another tool if your content is already on Notion
- You can have as many database connections as you like
- You can pass the cover image as a url to display on your site
Cons:
- Only suitable for displaying the database properties and cover, not the actual page content
- The API can be slow, especially when passing cover images
- Need to setup filters to avoid draft content being made live
- Doesn't support sharing the 'Status' property out of the box
I'm just sharing the metadata from the databases with links to the Notion page, not duplicating the actual page content onto my site. There are currently no good options to do that.
Head to the Canvas:OS Marketplace to see an example. The data on the cards are served from Notion with links to the page.