Set up DNS for your own domain on a ChatGPT Site
To put a ChatGPT Site on a domain you bought, you add three DNS records where you bought it. Here's what each one does, exactly what to type, and how to check them.
What you need
- A domain you own, and the sign-in for the place you bought it, like GoDaddy, Namecheap or Cloudflare.
- A Site built with ChatGPT Sites. Enterprise workspaces don't have custom domains yet.
1. Add the domain in your Site's settings
Open your Site's settings in ChatGPT Sites and select Add domain. Type the address you want visitors to use. It can be the domain itself, like mycafe.com, or an address under it, like www.mycafe.com or shop.mycafe.com.
If mycafe.com already shows another website, start with an address under it, like shop.mycafe.com. Its records are new ones, so the website you have keeps working.
2. Copy the three records
Sites then lists the DNS records the domain needs. For www.mycafe.com they look like this:
- The CNAME sends people who visit your address to ChatGPT Sites.
- The first TXT proves to OpenAI that the domain is yours.
- The second TXT does the same for Cloudflare, which carries ChatGPT Sites' traffic.
The two codes are different for every Site, so copy them from Sites, not from this page. If you added the bare domain, mycafe.com, the first record may not be a CNAME, because many providers don't allow one there. Use the type and value Sites shows.
3. Add them where you bought the domain
Sign in where you bought the domain and open its DNS settings. Add each record as a new one: choose the type, fill in the Host, which some providers call Name, and paste the value.
The Host is where most setups go wrong. Your provider adds your domain to the end of whatever you type there, so type only the part before it:
| For this record | Type in the Host box |
|---|---|
www.mycafe.com | www |
_openai-site-verification.www.mycafe.com | _openai-site-verification.www |
_cf-custom-hostname.www.mycafe.com | _cf-custom-hostname.www |
| mycafe.com itself | @, or leave it empty if your provider says to |
Typing the whole name, www.mycafe.com, makes the record www.mycafe.com.mycafe.com, and your Site never finds it.
- If there's already a record at the same Host, like an old www record from a previous website, delete it first. An address with a CNAME can't have any other record.
- Paste the TXT values exactly, with no spaces or quotes around them.
- Leave TTL at its default.
4. Check that they're live
Type the address you added to see what public DNS shows for each record right now:
Looks up public DNS through Cloudflare's 1.1.1.1. Nothing is saved.
When all three are found, go back to your Site's settings and refresh the domain status. New records usually show up within a few minutes, though some providers take longer.
If the domain stays pending
If your Site works at its chatgpt.site address but the domain stays pending, it's usually one of these:
- The domain is in the Host twice. The checker above spots this. Change the Host to just the part before your domain, like www.
- An old record is in the way. Delete any other record at the same Host, then add the CNAME again.
- A code didn't copy whole. Copy each TXT value from Sites again and compare it with what the checker found.
- Your DNS is on Cloudflare with the proxy on. Public DNS then shows Cloudflare's addresses instead of the CNAME, so the checker can't see it. Check the record in Cloudflare itself.
- Sites gave you new codes. If every record is right and has had time to show up, remove only that domain in your Site's settings and add it again. The verification code can change, so update just the records that did.
Skip DNS with a site.link address
With a site.link address like mycafe.site.link, you skip every step above. Once you've added site.link to ChatGPT, ask for the address in the chat where you built your Site. ChatGPT adds it to the Site and site.link creates all three records itself, so there's no provider to sign in to and nothing to copy.
@site.link Give this Site the address mycafe.site.link
Used site.link
Done. mycafe.site.link now points to your Site.
- Name reserved for your account
- Added to your Site as a custom domain
- DNS records created
- HTTPS turning on, usually within a few minutes
See how site.link works as a custom domain for ChatGPT Sites, or connect your ChatGPT Site step by step.