Home / Blog / Publish a website made with Claude
Guide · Publishing

How to Publish a Website You Made with Claude

Short answer: Claude's own Publish button gives an artifact a public link on Claude's domain. That's fine for showing someone a draft, but it isn't a business website: you can't connect your own domain, and you don't control the page around it. To publish properly, get the files out first (download the artifact's code, export Claude Design as HTML or a ZIP, or use the folder Claude Code built), put them on a static host such as Cloudflare Pages, Netlify or GitHub Pages, and point your domain at it. Then add what the files don't include yet: a contact form that actually arrives, page titles and descriptions, a sitemap, legal pages and analytics with consent. If you'd rather skip the hosting, you can upload the ZIP to a platform like ShiftPress, which turns each page into an editable page on your domain.

Making a good-looking website with Claude now takes an evening. Getting it onto your domain, with a form that works and Google able to find it, is where most people get stuck. The tutorials end at the screenshot, and the Publish button looks like it solves the problem, until you notice the address.

This guide covers all three ways people make websites with Claude, what you actually have at the end of each, and the shortest route from there to a real site.

First: where did your site come from?

Made withWhat you haveFastest way out
An artifact on claude.aiOne page of HTML, or a React component, inside the chatDownload the code, or ask Claude to turn it into one self-contained index.html
Claude DesignOne or more designed pages in a projectExport as standalone HTML or as a ZIP, or hand it off to Claude Code
Claude CodeA folder of files on your computer, ideally a Git repositoryPush to GitHub and connect a static host

Why the Publish button isn't a website

Publishing an artifact makes it viewable by anyone with the link, no Claude account needed. Anthropic describes how it works in its help article on publishing and sharing artifacts. For a business site it falls short in four ways:

  • No custom domain. The page lives on Claude's address, not yours. Your business card, your Google Business Profile and your email signature can't point at it in any lasting way.
  • You don't own the page around it. You can't add your own page title, meta description, analytics or Search Console verification, because the outer page belongs to Claude.
  • Rankings don't accrue to you. Even if a published artifact gets indexed, any authority it builds belongs to Claude's domain. When you later move to your own, you start from zero.
  • No back end. A contact form inside an artifact has nowhere to send its messages.

Use it to show a client or a colleague a draft. Don't print it on anything.

Route 1: From an artifact

Open the artifact and download it, or copy the code. Then check what kind of artifact it is:

  • An HTML artifact is already a web page. Save it as index.html, open it in your browser, and if it looks right, it's ready to host.
  • A React artifact (code starting with import and export default) won't run on its own, because it needs a build step. The simplest fix is to ask Claude in the same chat: "Convert this into a single self-contained index.html with plain HTML, CSS and a little vanilla JavaScript. No React, no build step, no external CDN scripts."

One artifact is one page. If you want a site with several pages, ask for each page separately with the same header and footer, or move to Claude Code, where keeping pages consistent is much easier.

Route 2: From Claude Design

Claude Design can export a project as standalone HTML or as a ZIP of all its files, and it can hand the design off to Claude Code to be built out. For a website you want to host, the ZIP is usually the most useful: it contains every page plus the images and styles it needs.

Two things to check before you publish a design export:

  • Does it work on a phone? Designs are often made on a desktop-sized canvas. Open each page in your browser, shrink the window to phone width and see what breaks. If it does, ask Claude to make the pages responsive before you host them.
  • Where do the fonts come from? Exports often load fonts from Google Fonts. In the EU that sends visitor IP addresses to a third party before consent, and a German court has already ordered a site owner to pay damages for it. Self-host the fonts instead.

Route 3: From Claude Code

This is the easiest of the three, because you already have a real project. Push it to GitHub and connect the repository to your host. For plain HTML there's no build command. For Astro it's npm run build with the output folder dist. Every push publishes from then on. If you haven't built the site yet, our step-by-step guide to building a website with Claude Code starts from an empty folder.

Where to host it

What Claude produces is a static website: plain files that any web host can serve. That makes hosting cheap, usually free, and very fast.

HostHow you uploadGood to know
Cloudflare PagesDrag and drop a folder, or connect GitGenerous free tier; drag and drop is limited to 1,000 files and 25 MiB per file
NetlifyDrag and drop (Netlify Drop), or connect GitHas built-in form handling (Netlify Forms), useful for a simple contact form
GitHub PagesPush to a repositoryFree for public repositories; we wrote a full GitHub Pages guide
Your existing web hostUpload by FTP or file managerWorks, but every change means uploading files again by hand

The Cloudflare Pages direct upload docs are a good reference for the drag-and-drop route, which needs no Git at all.

Connecting your domain

  1. In your host's settings, add the custom domain (both example.com and www.example.com).
  2. The host shows you which DNS records to set. Usually a CNAME for www, and for the bare domain either a CNAME-style record or A records, depending on your registrar.
  3. Set those records where you bought the domain. Leave your MX records alone, or your email stops working.
  4. Wait for SSL. The certificate is issued automatically, usually within minutes, sometimes a few hours.
  5. Pick one version (with or without www) and redirect the other to it.

What the files don't include yet

This is the list nobody mentions, and it's what separates a published design from a working website:

  1. A contact form that arrives. A static page has no server to receive the message. Use a form service or a platform that handles forms, and send yourself a test before launch.
  2. A title and meta description on every page, plus share images for social posts.
  3. A sitemap.xml, submitted in Google Search Console so your pages get found.
  4. Legal pages. In Germany and Austria an Impressum and a privacy policy are required for a business site.
  5. Analytics with consent, if you want to know whether anyone visits.
  6. Image weight. AI exports sometimes ship huge images. Compress them, or the speed advantage of a static site is gone.

Our guide to static website SEO covers the search side in more depth, and what a static website can and can't do is worth a look if you're planning bookings or a shop.

Replacing an existing site? Then the new pages must keep the old addresses, or each old address needs a 301 redirect to its new one. Otherwise you lose the rankings the old site built up. We walk through that in moving off WordPress without losing rankings, and the same rules apply when the old site was Wix, Jimdo or anything else.

The shortcut: upload the ZIP and edit it afterwards

If you'd rather not set up hosting, DNS and forms yourself, this is the problem ShiftPress solves. You upload the ZIP from Claude Design (or any ZIP of plain .html pages, up to 30 pages per file), pick which pages to import and which one is the front page, and each one becomes a real page in your site: proper headings, working links, images in place, and a header and footer shared across the site. The design is copied exactly as it is, so the import doesn't use up an AI change.

From there it's hosted in the EU (Frankfurt) on your own domain, contact forms can send to your leads inbox, the sitemap is generated for you, and you change the site by describing what you want in a chat instead of re-uploading files. The code stays yours.

Turn your Claude design into a site you can edit

Upload the ZIP, get real editable pages on your own domain, and change them by chat afterwards. Free to start, no credit card.

Bring a design ↗

After launch: changing it

The first change request usually arrives within a week: a new phone number, a price, a photo. With an artifact or a design export, that means going back to Claude, regenerating, and uploading again, and hoping nothing else changed in the process. With a Claude Code project it means a session in the terminal. Our guide on how to edit a static HTML website compares the realistic options, from editing the file yourself to a CMS or an AI editor.

Frequently asked questions

Can I use my own domain for a published Claude artifact?
No. A published artifact always stays on Claude's own address. To use your own domain, download the artifact's code, save it as an HTML file and host it on a static host such as Cloudflare Pages, Netlify or GitHub Pages, then point your domain at that host.
How do I export a website from Claude Design?
Claude Design can export a project as standalone HTML or as a ZIP that contains every page with its images and styles, and it can hand the design off to Claude Code. For hosting a website, the ZIP is usually the most useful export. Check each page at phone width before publishing, because designs are often made on a desktop canvas.
Can I host a website made with Claude for free?
Usually yes. Websites made with Claude are static files, and Cloudflare Pages, Netlify and GitHub Pages all host static sites for free within generous limits. You still pay for the domain, and for a form service if your host doesn't handle forms.
Will a published Claude artifact show up in Google?
Don't count on it, and don't build on it. The page sits on Claude's domain, you can't verify it in Search Console or submit a sitemap, and any ranking it earns belongs to that domain rather than yours. For search visibility, publish on your own domain.
How do I add a working contact form to a site made with Claude?
A static page can't receive messages by itself, so the form has to post to something that can: a form service, your host's form feature, or a website platform that stores submissions and emails them to you. Whichever you choose, send a test message before the site goes live.
React artifact or HTML artifact: which can I host directly?
An HTML artifact can be hosted as it is. A React artifact needs a build step first. The quick fix is to ask Claude to convert it into a single self-contained index.html with plain HTML, CSS and vanilla JavaScript, which you can then host anywhere.

The bottom line

The Publish button is for sharing a draft. A website needs your own domain, a host, a form that arrives and the basics search engines expect. Get the files out of Claude, put them on a static host, connect the domain and work through the checklist, or upload the ZIP somewhere that does those parts for you.

Either way, decide now how you'll make the first change after launch, because it will come sooner than you think.

Explore ShiftPress

Upload your design ZIP and get editable pages› Get found: SEO and GEO, ranked and quoted by AI›