Unlike what many people think, Notion is not just a note-taking app. It can also be an amazing CMS. Instead of struggling with a clunky backend (hint: WordPress), you can use Notion’s innovative block-based editor to craft really awesome websites and blog content.
This is possible as the long-awaited API for Notion was recently released. The time has come!
- The API has response times of less than 100ms.
- Single endpoint to get all the data you ever need from a single API call.
Similar to how people use Netlify CMS with Jekyll, you can use Notion as a headless CMS.
A headless CMS is a backend-only content management system that is used to store and manage content without a frontend or a way to display the content. Instead, the data is accessed by an API or webhooks, allowing developers to create custom frontends for their users.
But in this case, although Notion has a frontend, we're not going to use it (as it's not optimized for pagespeed).
Instead, we're going to use their API and have our own frontend.
Here are some recommendations on stack to use (if you’re a developer):
If you're not a developer (like me) or even if you’re, you can make use of services like:
Super.so
- It's the service I'm personally using. You just need to make a Notion page public (that holds your website), and link it with your Super.so site. Their service pulls data via Notion’s API and creates static site out of it.
- Some features I really liked are community themes, theme builder, support for different views, a wide range of block support, formula support, live sitemaps, code editors, automatic SSL, and also SEO features. It’s the most feature-rich and comprehensive solution I’ve come across.
- They have support for static websites. The loading times are lightning fast - 99/100.
Feather.so
- Their onboarding process is one of the best I’ve experienced in this space. Super.so’s was rather complex to wrap my heads around. For a no-frills solution to host your company docs, Feather is just fine!
- It comes with blog-specific features like blogs, pages, authors, RSS feed, schema markup, etc.
- They sync the desired webpage slug directly from “Slug” property of the Notion-pages (in Super.so this isn’t the case, you need to prettify the slug in their dashboard).
- Unlike Super.so, it only supports posts and pages as databases for the main content (similar to default WordPress). You can’t link your own custom Notion databases/collections and have a subdirectory for them as you do with Webflow.
- It lacks custom CSS feature vs. Super.so which comes with global and also page-level custom CSS options.
- They are making use of CloudFlare Pro. Although the performance is fairly comparable to a well-optimized WordPress site, it’s not the best. Your website content will not be still edge-deployed.
- You don’t have control over the image ALT tags. Not a deal breaker, though. SEOs like me, overhyped this.
- Services like Super.so don’t come with SEO schema markup and RSS feed features. But it’s only a matter of time.
- For Notion-powered websites, the code to text ratio will be damn high. But this is not a Google ranking factor as clarified by Google’s own Jon Mueller 🍌.
None of these downsides are major deal-breakers (unless, you’re brainwashed 🧠🚿 by mainstream SEO blogs from years like me)
For now, I went all in with Super.so. It’s mainly due to their Static Websites support, complete CMS experience, impressive changelog, and a team of people behind the product.