By · Founder, Stacktree · Last updated
how to

Put a ChatGPT Site on a domain you own.

Status as of August 29, 2026. ChatGPT Sites does support custom domains, with documented hedges worth reading before you promise a client anything. Here is what OpenAI documents today, the DNS reality, what a domain does not change about who can view the site, and the gated own-domain route when the page is a client deliverable.

Get started free

No card · 3 pages free · about a minute

Can a ChatGPT Site have a custom domain?

Yes, where the feature is available. OpenAI's documentation describes connecting an apex domain or a subdomain you already own to a ChatGPT Site by updating DNS records, though not for Enterprise-owned sites at launch; without one, the site serves from a chatgpt.site address. What a custom domain does not change is who can view: a Site is either public or limited to signed-in workspace accounts, with no gate an outside client can pass without an account. For a gated deliverable on your own domain, the working route is to publish the HTML to a host with account-free gates, such as Stacktree.

What OpenAI documents today

Creating a Site requires a paid ChatGPT plan; OpenAI's help center lists every plan except Free and Go, and Sites reached the UK, the EEA, and Switzerland on 20 July 2026 after a launch exclusion. Custom domains were added to the documentation shortly after the July 2026 launch: you can connect an apex domain or a subdomain you already own by updating DNS records, "where available", and not for sites owned by an Enterprise workspace at launch. In our own hands-on test on 22 August 2026, a personal account's site settings offered the custom-domain option, alongside analytics and environment variables.

Without a custom domain, the site serves from OpenAI's namespace. Launch-era sites published at {name}.openai.chatgpt.site; new sites now publish at a user-namespaced address like {site}.{account}.chatgpt.site. Updates redeploy to the same URL, which is genuine replace-in-place and worth crediting.

The DNS reality

Connecting a domain means updating records at your registrar; the domain stays registered where it is, and nothing transfers to OpenAI. Beyond that, the public documentation is thinner than you might expect: it stops short of naming the record types, describing a verification step, explaining certificate handling, or stating how many domains a plan gets. Those answers live inside the connect flow rather than on a public page, so the honest planning advice is: run the flow in your own workspace before you promise a client a date, and allow for ordinary DNS propagation on top.

The "where available" hedge is doing real work. The docs say availability can depend on your plan, region, and workspace settings, and Enterprise-owned sites are excluded at launch. Until the option appears in your own site settings, treat it as unconfirmed for your account.

One adjacent, tested fact: renaming a Site's ChatGPT-hosted address returns an HTTP 307 redirect from the old address, carrying deep routes and query strings intact. Old links keep working for humans, but a 307 is temporary, so search engines are never told a move is permanent. If an address matters to you long-term, put the domain you own in front early rather than renaming later.

What a custom domain does not change

The domain changes the address, not the audience. The documented viewing options are the same with or without one: a Site is public to anyone on the internet, or restricted to signed-in accounts in your workspace. On a personal plan that reduces to two modes, "Only you" and "Anyone with the link". There is no passcode, no email-domain gate a viewer can pass without an account, and no documented expiry. So report.yourstudio.com on a ChatGPT Site is either open to the whole internet or closed to everyone outside your workspace; there is no setting in between for one named client.

The publishing side is also unchanged: Sites is created and managed in conversation, with no documented API, MCP surface, or CLI, and no documented export. And built-in analytics (visitors and page views) is not available for Enterprise-owned sites. None of this is a flaw if the site is a team tool or a public microsite; it only bites when the page is a private deliverable.

Client work on your own domain, with a gate

This section describes Stacktree, our product, so read it as us explaining where we fit. The case Sites does not cover is the common one in client work: a page at reports.yourstudio.com that one named person outside your company can open, with no account, and that nobody else can find. The route:

  1. Get the deliverable as a single HTML file. There is no documented Site export, so do not try to move the Site. Ask ChatGPT for a static, single-file HTML rendering of the page, or have an agent produce it directly.
  2. Publish it to Stacktree. Drag and drop, or over MCP from Claude, Codex, or Cursor. The URL is unguessable and never indexed by default.
  3. Gate it. Add a passcode (on every plan, including free) or restrict viewing to the client's company email domain (paid). The client types a code or their work email; no account exists to create.
  4. Bind your domain. Add the hostname, create the CNAME and TXT records it gives you, and SSL provisions automatically through Cloudflare for SaaS. Solo ($19 per month) includes 1 domain, Studio ($79) 10, Firm 25, and a domain re-binds to any page whenever the next engagement starts.

Because a Stacktree page updates in place, revising the deliverable never changes the URL under the domain. And if the client gets more than one deliverable, bind the hostname to a client space instead of a single page: acme.yourstudio.com then serves everything filed for that client behind one passcode. The full DNS detail, including claiming a parent domain once with a wildcard CNAME, is on the custom domains page.

To be fair about the trade: Stacktree hosts static HTML only, with no server logic or database. If what you built is a live application and the audience is the open internet or your own team, ChatGPT Sites now handles the domain natively and there is no reason to leave. The route above exists for the audience Sites does not serve: gated, account-free, on your domain.

FAQ

Frequent questions

Can a ChatGPT Site have a custom domain? +
Yes, where the feature is available. OpenAI's documentation describes connecting an apex domain or a subdomain you already own to a ChatGPT Site by updating DNS records. The stated exceptions: Enterprise-owned sites do not get custom domains at launch, and the docs hedge that availability can depend on your plan, region, and workspace settings.
How do I add a custom domain to a ChatGPT Site? +
Connect a domain you already own from the site's settings, then update the DNS records at your registrar. OpenAI documents the connection as a DNS update rather than a transfer, so the domain stays registered where it is. The docs do not publish a general DNS reference naming the exact record types; the specifics arrive when you run the connect flow, and ordinary DNS propagation applies.
Which ChatGPT plans get custom domains for Sites? +
Creating a Site needs a paid plan: OpenAI's help center lists every plan except Free and Go. Custom domains are documented "where available" rather than per plan, with one stated exclusion, Enterprise-owned sites at launch. In a hands-on test in August 2026 the custom-domain option was offered on a personal account's site settings.
What URL does a ChatGPT Site get without a custom domain? +
An address under chatgpt.site. Launch-era sites published at {name}.openai.chatgpt.site; by August 2026 new sites published at a user-namespaced address like {site}.{account}.chatgpt.site. Renaming a site keeps old links working through an HTTP 307 redirect that carries routes and query strings, though a 307 is temporary and never tells search engines the move is permanent.
Can I password-protect a ChatGPT Site on my own domain? +
Not within Sites. A Site is either public or restricted to signed-in accounts in your workspace; no passcode or email gate is documented for viewers without accounts, and no expiry either. If the page must sit on your domain behind a gate a client passes with no account, host the HTML on Stacktree instead: passcodes are on every plan including free, and email-domain gates plus custom domains start on Solo at $19 per month.
Can an agent publish to a custom domain automatically? +
Not through ChatGPT Sites: it is created and managed in conversation, with no documented API, MCP surface, or CLI. If the publisher is an agent pipeline, have it publish the HTML over MCP to Stacktree and bind the domain there. An agent without a subscription can rent a single domain slot for $5 per 30 days over x402, settled in USDC with no card and no human in the loop.
Keep reading

Related guides

References

Sources and further reading

Your domain, your gate, no account for the client.

Publish the HTML, add a CNAME and a TXT record, send one link. Custom domains start on Solo at $19 a month.

Sign up free →