Help

Connect your own domain

Set up the DNS records at your registrar, fix common errors and check that your page is live on your own address.

1. Connect a domain

Show your page on your own address, like https://bio.example.com. Custom domains are available on Creator+ workspaces.

  1. Pick a subdomain, for example bio.example.com or www.example.com. A bare example.com works only at some registrars (see section 3).
  2. Open Domains in the app. Type the full address, pick a page and connect it.
  3. The app shows the records to create. Go to your registrar and add them:
    • A CNAME record: the name is your subdomain, the value is cname.zeroatom.link.
    • A TXT record, only if the app shows one. Copy its name and value exactly.
  4. Back in the app, press Check status. The status also updates on its own while the page is open.
  5. Wait for Live. The certificate takes a few minutes, up to about 10. Once Live, your page opens on your domain over https.

Statuses you will see:

  • Waiting for DNS: we are waiting for your records.
  • Issuing certificate: the records are right and the certificate is being made.
  • Live: done.
  • Needs attention: something is wrong. The app shows what the check reported. See section 4.

A domain that never gets its records is dropped after 72 hours. Add it again if that happens.

2. Registrar guides

The Name field is the part people get wrong. Most registrars want only the short name, bio. A few want the full name. When unsure, use the short name, then check with dig (section 5).

RegistrarWhereName field
SpaceshipDomain, Advanced DNS (DNS records)bio
NamecheapDomain List, Manage, Advanced DNS, Add New Recordbio as Host
GoDaddyMy Products, DNS next to the domain, Add New Recordbio
Cloudflare (your own zone)DNS, Records, Add recordbio
Google Domains / SquarespaceSquarespace Domains, DNS, Custom recordsbio as Host
HostingerDomains, DNS / Nameservers, Manage DNS recordsbio as Name

Cloudflare: if your domain is on your own Cloudflare account, the CNAME must be DNS only (grey cloud). A proxied record (orange cloud) hides our target and the check fails.

Namecheap and GoDaddy add the domain name for you. Do not type bio.example.com there, or you get bio.example.com.example.com.

3. Root domains and www

The root domain (the apex) is the bare example.com. Most registrars cannot put a CNAME on it. You can still connect it if your registrar offers ALIAS, ANAME or CNAME flattening (Cloudflare does): point @ at cname.zeroatom.link that way.

If your registrar has none of these, connect www and forward the root to it:

  1. Connect www.example.com as in section 1.
  2. At the registrar, find Redirect or Forwarding for the root domain.
  3. Forward example.com to https://www.example.com, permanent (301).

4. Fix common problems

  • An A or AAAA record on the same name: delete it. A CNAME cannot live next to other records on one name. Check status tells you when it finds one.
  • A wildcard * A record exists: nothing to change. The CNAME on the exact name wins.
  • CAA records block the certificate: add 0 issue "pki.goog" and 0 issue "letsencrypt.org", or remove the CAA records.
  • Your own Cloudflare proxy is on: switch the record to DNS only (grey cloud).
  • Slow to turn Live: DNS can take up to an hour. Most registrars are done in a minute or two.
  • TTL: 300 seconds is a good value. Lower speeds up edits, higher is fine.
  • DNSSEC: fine, leave it on.
  • HSTS preload domains: fine, we serve https only after the certificate is issued.
  • Remove and add again: removing frees the address at once and clears the cached page. Add it again for a fresh start.
  • Domain used in another workspace: an address belongs to one workspace. Remove it there first, then add it here.
  • Certificate renewal is automatic. Keep the CNAME in place and nothing else is needed.
  • Needs attention: the certificate or ownership check gave up, or the address was blocked. Fix the DNS cause, then press Retry. Retry asks for a fresh check.
  • How fast changes show: on your custom domain a publish shows at once. On the zeroatom.link address it can take up to 5 minutes.

5. Check from a terminal

  1. Check the CNAME: dig +short bio.example.com CNAME. Expect cname.zeroatom.link. (a trailing dot is normal). Add @1.1.1.1 to skip your local cache.
  2. Check for conflicting records: dig +short bio.example.com A. With the CNAME in place, the first line is cname.zeroatom.link.. Only IP addresses and no CNAME means an A record is in the way.
  3. Check the page: curl -sI https://bio.example.com/. Expect HTTP/2 200.
  4. Check from many regions: open https://check-host.net/check-http?host=https://bio.example.com/. Most nodes should show 200.

Before the domain is added in the app, https fails the TLS handshake and http returns a 409. That is expected and clears once the app knows the address.

6. Other ways to connect

  • Registrar forwarding: point the registrar's URL forwarding at your zeroatom.link address. No custom domain, no certificate, free. Visitors see the zeroatom.link address after the redirect.
  • Redirect from an existing site: keep your site and add a redirect from a path or subdomain to your zeroatom.link address.