Free and open source

Host your Notion Site on your own domain

Worknot generates a Cloudflare Worker script that serves your published Notion pages on your custom domain, with pretty URLs, SEO metadata and analytics.

  • MIT License
  • Runs in your Cloudflare account
  • Notion changes checked daily

Your visitors open

https://www.example.com/about

Cloudflare Worker generated by Worknot

  • Pretty URLs
  • SEO tags
  • Analytics
  • Image optimization

Your page on Notion Sites

https://example.notion.site/About-1a2b3c

Requests to your domain go through the Worker, which loads the page from Notion Sites and serves it under your address.

What Worknot adds to your Notion Site

Configure each option in the generator below. Worknot is maintained by Classmethod (Europe) GmbH, a Cloudflare and Notion partner.

Custom domain and pretty URLs

Serve your Notion Site on your own domain and map pages to readable paths such as /about or /blog.

SEO metadata

Set page titles, descriptions, Open Graph tags, JSON-LD, hreflang, a sitemap.xml and an RSS feed.

Analytics

Add Google Analytics 4 or a Facebook Pixel without changing your Notion pages.

Image optimization

Resize, convert and compress Notion images at the edge with Cloudflare Image Transformations.

Branding and custom code

Add custom CSS and JavaScript, a Google Font, your favicon, header HTML and a custom 404 page.

Daily compatibility checks

Every day at 06:00 UTC, a scheduled job checks Notion's client code and opens a GitHub issue when something changes.

How it works

You need a page published with Notion Sites and a domain whose DNS is managed by Cloudflare.

  1. Publish your page

    In Notion, open Share, choose Publish and copy the notion.site URL of your page.

  2. Generate the script

    Enter your domain and the Notion URL below, add pretty links and optional settings, then copy the script.

  3. Deploy the Worker

    In the Cloudflare dashboard, create a Worker, replace its code with the script and deploy it.

  4. Connect your domain

    Add your domain to the Worker as a Custom Domain. Your Notion Site is now available at your own address.

Generate your Worker script

The script is generated in your browser as you type. Your settings are not sent anywhere.

Frequently asked questions

Is Worknot free to use?

Yes. Worknot is open source under the MIT License. You need a Cloudflare account to run the Worker. A first visit to a Notion Site makes roughly 700 Worker requests, so the Workers Free plan (100,000 requests per day) suits small sites. Use Workers Paid for sites with regular traffic.

Do I need a paid Notion plan?

No. Worknot works with any page you publish to the web with Notion Sites. It does not use Notion's own custom domain feature.

What happens when Notion changes its client?

A GitHub Actions workflow checks Notion's client code and renders a test site every day at 06:00 UTC, and opens an issue when something changes. When a fix is released, generate the script again here and redeploy your Worker.

Does Worknot store my settings or content?

No. The generator runs entirely in your browser and does not send your settings anywhere. Your site's traffic goes through the Worker in your own Cloudflare account.

How is Worknot related to Fruition?

Worknot started as a fork of Fruition by Stephen Ou. Classmethod (Europe) GmbH maintains it and keeps it compatible with current Notion Sites.