How to build a website with Claude
You need a Cloudflare account, a GitHub account and a Claude account, all three free. Cloudflare runs Dozokit Sites and your sites, GitHub keeps a copy of the program in your name, and Claude does the design work through a connector. At the end, Claude has made your site and it opens in Dozokit Sites, ready to check and publish.
The steps
- Click the Deploy to Cloudflare button above.
- Sign in to Cloudflare, or create your free account.
- When Cloudflare asks, connect your GitHub account. Cloudflare copies Dozokit Sites into it.
- Leave the suggested names (dozokit-sites) as they are, unless you already have something with that name.
- In the PASSWORD field, type the password you will sign in to Dozokit Sites with: 12 characters or more. Write it down.
- Click Create and deploy, then wait a minute or two while Cloudflare creates Dozokit Sites, its database and its photo store.
- When Cloudflare says it’s finished, scroll to the bottom of that page: your Worker’s address (ending in workers.dev, like dozokit-sites.your-name.workers.dev) and the button to open it are there. Open it, add /admin at the end, and sign in with your password.
- Connect Claude. In Claude (the app or claude.ai), open Customize → Connectors, click + Add, then Add custom connector.
- Name it Dozokit Sites and paste your Dozokit Sites address ending in /mcp, like https://dozokit-sites.your-name.workers.dev/mcp. You find it, with a copy button, on the first screen after you sign in to Dozokit Sites, or in Settings (top right) → Connections. Click Add.
- Claude opens a Dozokit Sites page to ask your permission: sign in if asked, then click Allow. ChatGPT works the same way, as a custom connector in its settings. To disconnect an app, use Settings → Connections in Dozokit Sites.
- Back in Dozokit Sites, type your current website if you have one, and anything Claude should know. Copy the prompt it writes and paste it into a new Claude chat.
- Claude proposes a design and asks only what it can’t find. When it has made the site, the site opens in Dozokit Sites by itself.
- Look it over, change what you like, and click Publish.
Change texts and photos yourself, for free
In the editor, the texts and photos you can change yourself are outlined in green when you move over them, marked Edit text · free or Change photo · free. Click one: a text opens in a box to change it, a photo offers Choose from your photos or Upload a new one. No Claude needed, and nothing else on the page reacts. For anything else, click Point at something for Claude: now any part of the page is outlined in orange with its name. Click it to pick it (the trail, like Section “Photos” › Gallery › Photo, shows where it sits; ↑ and ↓ move to the part around it or inside it, Shift+click adds more), say what should change, and copy the prompt the panel writes into your Claude chat. Done pointing, or Esc, takes you back. Undo takes back the last change; History, next to it, lists every version of the site, each with Go back to this. Settings (top right) → Connections shows which chat apps are connected, when each last used Dozokit Sites, and a Disconnect button.
Your own domain
Your site already works at its workers.dev address. To put it on your own name, like martin-plomberie.fr, open the site’s Address tab and, under Your own domain, say whether you have one. No, I need one: in Cloudflare open Workers & Pages, then dozokit-sites, then its Domains tab, and choose Buy a domain; Cloudflare sells it at cost price and connects it by itself. Yes, bought elsewhere (OVH, GoDaddy, IONOS…): in Cloudflare open Domains and click Onboard a domain, pick the Free plan, replace the domain’s nameservers at your registrar with the two Cloudflare shows (from a few minutes to a day), then add it as an existing domain in the dozokit-sites Domains tab. Yes, on Cloudflare: just add it as an existing domain in that Domains tab. Last, type the domain in the Address tab and click Check and connect: the old address then sends visitors to the new one. Or copy the prompt shown there into Claude, which walks you through it and connects the domain itself once it’s in Cloudflare. Each site can have its own domain. Your Google Maps link goes in the same tab.
Get contact messages by email
Messages from a site’s contact form land in its Messages tab. To get each one in your mailbox too, open Settings (top right), then Connections, then Messages by email: type your email and click Connect Resend. Resend opens: create your free account with that same email, or sign in, then click Allow. Back in Dozokit Sites, click Send a test. Resend’s free plan sends up to 100 emails a day.
Count visitors with Dozokit Analytics
Install Dozokit Analytics, free and in your own Cloudflare account too, and add your site there to get its site id. In Settings (top right) → Connections, type your Dozokit Analytics address once. Then in the site’s Site settings tab, under Visitors, paste the site id and save. You then see visits, where they come from, and each contact message as a goal.
Change or forget the password
Change it in Settings (top right) → Account, under Change password. Forgot it? In Cloudflare, open the Worker, then Settings → Variables and Secrets, and edit PASSWORD. The password you type there works straight away.
Updating
When a newer version is out, Dozokit Sites says so at the top. You update from your copy on GitHub:
- On github.com, open dozokit-sites, the copy Cloudflare made in your name.
- Click the Actions tab.
- Click Update Dozokit Sites in the list on the left.
- Click Run workflow, then the green Run workflow button.
The first time only: Cloudflare’s Deploy button copies everything except the update button, so add it once. In Dozokit Sites, open Settings (top right), then Account, then Updates. Paste your copy’s GitHub address (like github.com/your-name/dozokit-sites) and click Add the update button. GitHub opens the file ready to save: click Commit changes and confirm. The button installs a release only once it checks the release is signed by Dozokit; a wrong or missing signature stops it and changes nothing. It keeps your wrangler.jsonc and the .github folder. If Dozokit ever asks you to change the button, click Replace it instead: GitHub opens the file with the new version on your clipboard, so select everything in it, paste, and click Commit changes.
About two minutes later, Cloudflare has put the new version online by itself, database changes included. Your sites, photos and messages stay. What’s new in each version
Developers can also update from a terminal, in a clone of their copy:
tag=$(curl -s https://api.github.com/repos/dozokit/sites/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4)
git fetch https://github.com/dozokit/sites tag "$tag"
git checkout "$tag" -- . ':!wrangler.jsonc' ':!.github'
git commit -m "Update Dozokit Sites to $tag" && git push