Publish and Update a Claude Code Website After Design Review
From an approved design to a site people use
Claude Code can get a website close to right in a few local iterations. The work after the design pass (the local rounds of design changes) is different. You make a production build and put it on a host. You review the hosted copy privately and share one stable URL. When feedback arrives, you update the site on that same URL.
This guide uses Netlify with a GitHub repository. Cloudflare Pages and Vercel use the same pattern. The links to their guides are below.
1. Ask Claude Code for a publishable build
When you accept the design, give Claude Code the prompt below. It asks for ordinary static output and for notes that the next session can use again:
Prepare this site for publishing as a static website.
Keep index.html at the root of the output folder, keep assets in their folders,
and make sure all paths work when the folder is served from a web server.
Run the production build and tell me the build command and the output folder.
Add both to CLAUDE.md under a "Deploy" heading.
Claude Code loads CLAUDE.md at the start of every session. As a result, the next change starts from the recorded build and deploy steps. Claude Code does not have to find these steps again.
Before you upload the production build, make sure that it works on your computer. Serve the output folder (here dist) over HTTP:
python3 -m http.server 8000 --directory dist
Fonts, asset paths and page routing can work differently in a production build and in the development server from the design pass. If the project needs server code (API routes or server rendering), make sure that the host supports your framework. Do this before you choose an upload-only workflow.
2. Connect the project to Netlify
Commit the accepted design to Git. Push it to GitHub. In Netlify, import the repository. Set the build command and the publish directory from your notes in CLAUDE.md. After that, Netlify builds and deploys on every push. The site keeps one production address, such as my-site.netlify.app.
If you do not use Git yet, you can start in one of two simpler ways. The first way is Netlify Drop. Drag the output folder onto it. Later, drop each new version onto the Deploys page of the site.
The second way is the Netlify CLI. Install the Netlify CLI. Run netlify deploy --dir=dist to make a draft deploy. Then run netlify deploy --dir=dist --prod to publish (CLI reference).
Claude Code can run these commands for you. Our guide to deploying a Claude Code website from the terminal covers that route. The Cloudflare Pages tutorial shows the same steps on Cloudflare.
3. Review the hosted version before you share it
Open the hosted URL. Then make sure that:
- The layout is correct on desktop and on mobile.
- No images or fonts are missing.
- No links are wrong or dead. This includes nested pages that you open directly by URL.
- The claims, numbers and names that the AI generated are correct.
- The text has no typos.
- No images or videos are too large.
- No draft content is online before it is ready.
- Each form sends its data to its real destination.
If the site is not ready for everyone, add a password or a sign-in before you send the link. Netlify’s basic password protection needs a paid plan (Pro or higher). You set it under Project configuration > General > Visitor access (docs, our walkthrough). If you do not have a paid plan, keep the URL to yourself. As an alternative, host the review copy on Cloudflare Pages behind Cloudflare Access. A password screen that JavaScript adds to the page does not protect the files.
4. Keep the same URL when you update the site
When feedback arrives, ask Claude Code to make the change on a branch and to open a pull request. For the pull request step, you must install the GitHub CLI (gh) and sign in to it.
Create a branch named fix/pricing-copy. Apply the notes in review-notes.md,
run the production build, commit, push the branch and open a pull request.
Netlify builds a Deploy Preview for the pull request at an address like deploy-preview-42--my-site.netlify.app. Review the change there. Then merge the pull request. Netlify deploys the change to the same production URL. Reviewers keep the link that they already have.
Create a separate site only for a real variant, such as an alternative design direction or a second client. Put routine fixes, copy changes and layout changes on the existing URL.
If a deploy goes wrong, roll back. Open Deploys. Select an earlier successful deploy. Click Publish Deploy. The switch is instant, and Netlify does not rebuild anything (docs). The next push to the production branch replaces the rolled-back version again. To stop this while you fix the problem, select Lock to stop auto publishing (Pro and Enterprise plans).
5. Find out whether people opened it
After you share the site, analytics (counts of visits and page views) answer practical questions:
- Did people open it at all?
- Which pages did they view?
- Did the traffic come from the place where you shared the link?
Add a lightweight analytics script. Cloudflare Web Analytics works on any host. You paste a snippet (a short piece of code) before the closing </body> tag. Cloudflare Web Analytics does not collect the personal data of visitors. Plausible is another option that uses no cookies. Ask Claude Code to add the snippet to the shared layout, so that every page gets it.
These tools count visits. They do not tell you which reviewer opened the link. If you need names, use an email sign-in that records each visitor. The guide to choosing between public, password and identity-based access explains this.
Keep the next change small
With this setup, every later change uses the same short routine. You describe the change, and Claude Code works on a branch. You review the Deploy Preview and merge it. The design stays in Git, and the build and deploy steps stay in CLAUDE.md. The public address never changes.
A docs portal with Ask AI
and support tickets
Connect a repository, or describe your product to start. Each docs site has search, Ask AI, an API console, an MCP server and support tickets.
- Publishes from GitHub on every push
- Works with Mintlify repositories
- API console from your OpenAPI file
- MCP server and llms.txt for AI agents
- Ask AI and support tickets
- Analytics for people and AI agents
Frequently Asked Questions
Should Claude Code deploy straight to production?
If people already use the site, the safer way is a branch and a pull request from Claude Code. Then every change goes through a Deploy Preview first. A direct production deploy, such as netlify deploy —prod, is fine for a first launch. It is also fine for a personal site where nothing live can break.
Related Articles

Add a Custom Domain to a Cloudflare Pages Site
Add a custom domain or www to a Cloudflare Pages site: set it up in Pages first, add the DNS record, fix stuck verification and redirect www.

What Is localhost:3000?
Your browser uses localhost:3000 to reach an app running on your own computer. Sending that address to someone else does not give them access to your app.

Move Exported Grok Website Files to Another Host
Export a Grok Build site to GitHub, deploy it on Cloudflare Pages, Netlify, Vercel or GitHub Pages, test it, then retire the grok.me copy.