All posts

How I published this website for FREE

This website is built in Notion and published to a custom domain—completely free.

Overview

This website is built in Notion and published to a custom domain—completely free**.

No paid Notion plan, no hosting fees, and no third-party website builder.

I used an open-source script on Cloudflare Workers to do this. I found the script and setup info all on fruitionsite.com, which is awesome and I can take no credit for it.

What the script does is basically redirects traffic to your domain to the public Notion site, with URL prettification available.

It can do this through Cloudflare Workers because Cloudflare is already being used as the DNS for your domain so the Worker is triggered, the JavaScript runs, and the public notion site is rendered instead. Pretty cool!

** Ok, I had to buy my domain tylerclass.net for $15, but that’s it.

Why this is a cool solution

  • No cost to publish to a site on your custom domain
  • No need for a Notion Plus plan
  • You can enable built-in Cloudflare analytics with one click
  • Leverage all of Notion’s out of the box features with your site design like tables, kanban boards, and feeds
  • If you want to setup email, you can add MX records to your DNS settings in Cloudflare and email from whatever your preferred email client is. I personally use FastMail.

How to set this up

The setup takes about 20 minutes. Here’s the high-level flow:

  1. Pick a Notion page to use as the root of your website and make sure it’s public
  2. Get a domain and point it to Cloudflare as your domain’s DNS
  3. Configure a Cloudflare Worker using the free script provided at fruitionsite.com
  4. Update the script with your Notion page ID and domain settings
  5. Deploy the Worker and add a route to your domain (like yourdomain.com/*)
  6. Turn on analytics in Cloudflare for free traffic insights

That’s it! No coding experience needed, and once it’s up, your Notion content is live on a real domain with full analytics and custom styling options. I love how quick it is to make edits to my published website, it is as easy as editing a Notion page and it’s immediately live on my website.

👏 Big thanks to the developer Stephen Ou and the open-source community on the GitHub repo for making this possible.