Get a free website with any plan

See how

How to host a website built with ChatGPT, Claude or Gemini

The assistant gave you code and a share link on its own address. Getting that same site onto your own domain takes three moves, and you can hand two of them back to the assistant.

Share

You asked ChatGPT, Claude or Gemini for a website, and it worked. There is a page in the chat, it looks right, and the assistant is offering you a link. The link is the catch: it lives on the assistant's address, it cannot carry mail at your name, and it lasts as long as your subscription does.

A website written by ChatGPT, Claude, Gemini or Perplexity is a set of files, usually one HTML file, and any web host can serve that on a real domain. The job is smaller than it looks: get the files out of the chat, onto a hosting account, and point a domain at it. What follows is all three with the clicks, what breaks on a first upload, and the path where the assistant that wrote the site also puts it live.

What the assistant actually gave you

Each AI gives you code - not a live website.

Look at the shape of what came out of the chat first. It is almost always one of three, and the shape decides the path.

What you have

How to recognise it

Hosting path

One HTML file

A single code block starting with <!DOCTYPE html>, styles and scripts inside it

Upload the file. No build step.

A small folder

index.html plus styles.css, script.js, maybe an images/ folder

Upload the folder as it is, keeping the structure.

A project

A package.json, a src/ folder, instructions to run npm install

One build command, then upload the output.

A single HTML file, a Vite, React, Vue or Svelte build and a Next.js static export all run on a Flashcloud shared plan as plain static files, which covers nearly everything an assistant hands a non-developer. The exception is a project with a server part, a login or a database behind it, which needs a runtime rather than a folder: that path is in hosting AI-built apps from Lovable, Bolt, v0 and Cursor.

If you cannot tell which you have, paste the first ten lines back into the chat and ask whether it is a static site or needs a build step. That answer is the only thing you need from the assistant at this stage.

Where the vendor publish buttons stop

Every assistant now has a button that puts your page on the internet, and each one is a preview on the vendor's address. All of the following is as of October 2026.

ChatGPT Sites is in public beta on the paid plans, Plus, Pro, Business, Enterprise and Edu, not on Free or Go, and hosts your page on a chatgpt.site address. A custom domain is possible on some plans, but OpenAI does not register domains: you must already own the name and be able to edit its DNS records, so you need a registrar account and, for mail, a mail host anyway. Enterprise workspaces could not use custom domains at launch, and OpenAI announced verified organisational domains for Enterprise Sites in October 2026.

Claude publishes an artifact to a public link on Claude's own address that anyone with the link can open. Anthropic's help pages describe that link and an embed code with an allowed-domains field; custom domains are not part of it. The code comes out through the artifact's own controls: view, copy or download. If you built with Claude Code on your own machine there is nothing to export, because the files are already in your project folder.

Gemini builds in Canvas and gives you a g.co share link that opens inside the Gemini interface. The code comes out through Canvas's copy or download control, and Canvas can bundle a project as a ZIP. A Canvas output is typically a single HTML file or a single React file.

Perplexity Labs, on Pro and higher subscriptions, runs what it builds on a shareable URL of its own and keeps every generated file in an Assets tab, downloadable one at a time or as a ZIP.

None of this is a knock on the tools. They are built for making things, not for running them for years. What you give up by staying on a publish link is specific: mail at your own name, a domain that stays yours if you cancel the subscription, backups you control, and someone to ask when a page errors. AI website builder vs AI coding tool: what you own takes the ownership question further.

Getting the code out of each assistant

The goal is identical in every tool: a lowercase index.html on your computer, plus any folders it references.

With ChatGPT, ask for the whole site as one self-contained HTML file with the CSS and JavaScript inline, because fewer files means fewer references that can break once the code leaves the chat. Copy the code block into a plain text editor, TextEdit in plain-text mode, Notepad or VS Code, and save it as index.html. If ChatGPT produced several files, keep every name exactly as given and save them into one folder.

With Claude, open the artifact, copy or download the code and save it as index.html. With Gemini, copy the HTML out of Canvas or take the ZIP and keep the folder structure as it came. With Perplexity, download from the Assets tab and change nothing about the file names, because the HTML references them by exact name.

The tool-by-tool steps, including Lovable, Bolt, v0 and Cursor, are in getting the code out of ChatGPT, Claude, Gemini, Perplexity, Lovable, Bolt, v0 and Cursor. The agentic hosting hub also carries a page per assistant, with the export and deploy steps in that tool's own words.

One rule survives every tool. Save the assistant's version as your source of truth and treat the copy on the server as a published output, so the next change starts from the right code rather than from whatever you hand-edited live.

Three ways onto Flashcloud

There are three ways to get files onto a Flashcloud account: push to GitHub and let cPanel Git Version Control pull the repository, upload with File Manager or FTP, or connect the AI assistant through the Flashcloud AI Connector and let it write the files. All three end in the same folder, the one the web server reads for your domain.

Upload it yourself

File Manager is the shortest route for one file. Open your hosting service in the portal, click File Manager, and go to the folder for your domain. For the main domain that is public_html. For a subdomain it is the folder cPanel created for that subdomain, which sits next to public_html rather than inside it: on our own test account a subdomain created through the connector got a document root at ~/aitest, a sibling of public_html, not public_html/aitest. Upload index.html there and the page answers immediately.

FTP is the better route for a built project. Create an FTP account from the FTP Accounts tile with its home directory set to your site folder, then connect with FileZilla or any FTP client using the server hostname or IP from your service page. The username takes the form user@yourdomain.com, and plain FTP and explicit FTPS both work. If you prefer one upload to hundreds, zip the folder and extract it on the server, as in uploading and extracting a ZIP archive.

Two details apply whichever upload you use. A fresh document root is not empty: cPanel ships a .htaccess, a php.ini, a .user.ini and a couple of system folders in it, with "do not edit" markers around the blocks it manages. Append to .htaccess, never replace it. And the file has to be lowercase index.html, the exact name the server looks for when someone opens your domain. The click-by-click version is hosting a single HTML file an AI assistant wrote (in the knowledgebase).

Let cPanel pull it from GitHub

If the assistant can push to a repository, or you can, cPanel's Git Version Control clones a public HTTPS repository onto the account and pulls updates on demand. You add a .cpanel.yml that copies the built files into the document root, then use Update from Remote and Deploy HEAD Commit after each push. Two things to know first. The direction is pull, not push: cPanel fetches from GitHub, so you connect your repository rather than pushing to your hosting. And the build does not happen on the server on a shared plan, so commit the built output or build before you push. The setup is in deploying from GitHub with cPanel Git Version Control.

Let the assistant deploy it

This is the path most hosts cannot offer. The Flashcloud AI Connector is an MCP server at https://mcp.flashcloud.com/mcp that Claude, ChatGPT, Gemini, Perplexity, Cursor and any MCP-compatible client connect to over OAuth 2.1 with a Flashcloud login. Connect it from the AI Agents section of the portal and the assistant that wrote your site can create the subdomain, write index.html into its folder and add the DNS record.

Nothing happens quietly. Every change an assistant makes through the connector is a two-step confirmed action: it proposes exactly what will happen, and nothing runs until you approve it. Payments, card details, passwords, two-factor settings, contact details, cancellations and domain transfers can only happen in the Flashcloud portal, by you, never through an assistant. A connected assistant can be disconnected in one click from the AI Agents section, after which its token stops working immediately.

One practical limit from our own testing: the connector writes files of up to 256 KB each and takes the content inline, so it suits a single HTML file or a small edit, not a built bundle with assets. Those go by FTP, a File Manager ZIP upload or a GitHub pull. On our test account a 3,877-byte index.html written in one connector call was served at once, HTTP 200 from LiteSpeed, with the subdomain created seconds earlier.

The walkthrough is in letting your AI assistant upload and deploy a site through the connector, and the wider question of what an agent with account access should and should not be able to do is in the AI agents and your hosting account guide. We have per-assistant walkthroughs planned for the deploy path with Claude, ChatGPT and Gemini specifically.

Domain, SSL and email in the first hour

If you took the free domain at checkout it already points at your account, so skip to the padlock. If you own a domain elsewhere there are two options: change the nameservers at your registrar to the ones in your welcome email, which hands us the whole DNS zone including mail records, or keep DNS where it is and add an A record pointing the domain at your server IP. Pointing your domain to your hosting account has both.

Either way the change takes time to spread. The Flashcloud preview link tool at /tools/preview-link shows a site as a given server serves it before DNS points there, for anyone, free, with links that last 30 days. The Flashcloud DNS propagation checker at /tools/dns-propagation-checker queries 25+ public resolvers on five continents plus the domain's own nameserver and gives each answer a verdict, so you can see how far the change has got.

Now the padlock, where the sequence trips people up. Flashcloud issues the free SSL certificate once the domain's DNS resolves to the server; until then the server presents a self-signed certificate for the hostname. Open the site over HTTPS before DNS has moved and the browser warns you. That is not a broken site, it is a certificate that has not been issued yet. Once DNS resolves the certificate follows within minutes, and renews itself.

Mail is the thing people forget until a form sends its first message. Create the mailbox from the Email Accounts tile, as in creating email accounts on your domain, before you hand the address out.

What breaks on the way, and the fix

The code the assistant wrote is usually fine. The surroundings break. These five cover most "it worked in the chat" reports, in the order worth checking.

The file is not called index.html. The server shows a directory listing or a 404 instead of your page. Rename it, lowercase.

Images point back at the chat. Assistants reference images in temporary storage that disappears, and v0 leaves generated images out of the export. Save them into an images/ folder next to index.html and change the paths to match. Recovering images after an export has a piece of its own planned.

Paths start with a slash that does not match. /images/logo.png means "from the root of the domain", so if the site lives in a subfolder it resolves to nothing. Use images/logo.png.

Case does not match. The server is case-sensitive where your laptop may not be, so Logo.png and logo.png are different files. Make the HTML match the file names exactly.

A client-side route returns 404. A client-side routed app on LiteSpeed needs the standard mod_rewrite fallback in .htaccess so that routes like /menu return index.html instead of a 404. We saw exactly this on a test deploy: /menu was a 404 until the fallback was appended, after which /menu and /about both returned the app. The block is in what is .htaccess: common recipes that actually work, and you append it rather than replacing the file.

Two more are worth naming because they are not upload problems at all. A contact form in a static HTML file cannot send mail on its own, whatever the assistant implied, because there is nothing on the page that can talk to a mail server; it needs a form handler. We have a piece planned on what the file cannot do and the options. And an API key the assistant wrote into the page source is readable by every visitor. Keys belong in the environment variables table of cPanel's Setup Node.js App, next to the app, not in the HTML.

If none of those is it, open a ticket from Support in the portal with the address and what you expected. Flashcloud support is answered by people, not by an AI chatbot first, and a person reading the server log can tell you the actual request and the actual error, which is what you paste back into the chat so the assistant fixes the right line. The longer list is why an AI-built site breaks after upload and how to fix it.

Updating the site later

The appeal of an AI-built site is that a change costs a sentence, and the hosting side should cost about the same. Paste over: ask for the change, copy the new file, upload it over the old one. Or ask the assistant, where with the connector active "update the hero text on my site and redeploy" is one proposal and one approval. Daily backups with 30-day retention cover the afternoon you paste the wrong version over the right one, restorable from the portal.

Avoid hand-editing the live file for anything but a typo, for the reason above. Running a site this way week to week, and avoiding the slow drift between the chat and the server, is the subject of running a small website with AI day to day. The update routine right after launch has a piece of its own planned.

What it costs, renewal included

Flashcloud shared hosting starts at $2.79 a month on an annual term and every plan includes a free domain for life, free SSL, mailboxes, daily backups with 30-day retention and human support. The Start plan at that price covers one website on 25 GB of NVMe storage and renews at $9.99/mo; Grow is $3.79/mo first year for unlimited websites and 50 GB, renewing at $11.99/mo. The rate rises once, at your first renewal, to a standard rate published on the pricing page before you buy.

Two inclusions matter for this job. Flashcloud moves an AI-built site onto the customer's domain for free with every plan: you send the files and we set up the domain, SSL and email, which is this whole guide done for you. And every plan includes a free handcrafted website of up to five pages built by our team, usually ready in one to two working days with one free revision, if what the assistant produced is not what you pictured.

The rest of this series, from how assistants cite your site to what agents can safely do inside an account, sits on the AI and your website hub.

If you have the file ready, your site can be on its own domain before the chat window closes.

Start at AI website hosting. Get started, and the project you vibe-coded this weekend can be on its own domain as soon as today.

Nickola Naous
About the author
Nickola NaousCo-Founder

Nickola Naous is the co-founder of Flashcloud and the technical half of the team. He's spent nearly two decades building and running web hosting infrastructure, and co-founded and sold a hosting company before starting Flashcloud. He writes about performance, servers, security, and how AI is reshaping the technology behind a fast, reliable website.

Connect on LinkedIn

Better web hosting starts here.

Free domain for life, free starter website, free migration, daily backups and 24/7 human support, with an anytime money-back guarantee.

Frequently asked questions