Custom domain and pretty URLs
Serve your Notion Site on your own domain and map pages to readable paths such as /about or /blog.
Free and open source
Worknot generates a Cloudflare Worker script that serves your published Notion pages on your custom domain, with pretty URLs, SEO metadata and analytics.
Your visitors open
https://www.example.com/about
Cloudflare Worker generated by Worknot
Your page on Notion Sites
https://example.notion.site/About-1a2b3c
Configure each option in the generator below. Worknot is maintained by Classmethod (Europe) GmbH, a Cloudflare and Notion partner.
Serve your Notion Site on your own domain and map pages to readable paths such as /about or /blog.
Set page titles, descriptions, Open Graph tags, JSON-LD, hreflang, a sitemap.xml and an RSS feed.
Add Google Analytics 4 or a Facebook Pixel without changing your Notion pages.
Resize, convert and compress Notion images at the edge with Cloudflare Image Transformations.
Add custom CSS and JavaScript, a Google Font, your favicon, header HTML and a custom 404 page.
Every day at 06:00 UTC, a scheduled job checks Notion's client code and opens a GitHub issue when something changes.
You need a page published with Notion Sites and a domain whose DNS is managed by Cloudflare.
In Notion, open Share, choose Publish and copy the notion.site URL of your page.
Enter your domain and the Notion URL below, add pretty links and optional settings, then copy the script.
In the Cloudflare dashboard, create a Worker, replace its code with the script and deploy it.
Add your domain to the Worker as a Custom Domain. Your Notion Site is now available at your own address.
The script is generated in your browser as you type. Your settings are not sent anywhere.
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.
No. Worknot works with any page you publish to the web with Notion Sites. It does not use Notion's own custom domain feature.
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.
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.
Worknot started as a fork of Fruition by Stephen Ou. Classmethod (Europe) GmbH maintains it and keeps it compatible with current Notion Sites.