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.
- Pick a subdomain, for example
bio.example.comorwww.example.com. A bareexample.comworks only at some registrars (see section 3). - Open Domains in the app. Type the full address, pick a page and connect it.
- 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.
- A CNAME record: the name is your subdomain, the value is
- Back in the app, press Check status. The status also updates on its own while the page is open.
- 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).
| Registrar | Where | Name field |
|---|---|---|
| Spaceship | Domain, Advanced DNS (DNS records) | bio |
| Namecheap | Domain List, Manage, Advanced DNS, Add New Record | bio as Host |
| GoDaddy | My Products, DNS next to the domain, Add New Record | bio |
| Cloudflare (your own zone) | DNS, Records, Add record | bio |
| Google Domains / Squarespace | Squarespace Domains, DNS, Custom records | bio as Host |
| Hostinger | Domains, DNS / Nameservers, Manage DNS records | bio 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:
- Connect
www.example.comas in section 1. - At the registrar, find Redirect or Forwarding for the root domain.
- Forward
example.comtohttps://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"and0 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
- Check the CNAME:
dig +short bio.example.com CNAME. Expectcname.zeroatom.link.(a trailing dot is normal). Add@1.1.1.1to skip your local cache. - Check for conflicting records:
dig +short bio.example.com A. With the CNAME in place, the first line iscname.zeroatom.link.. Only IP addresses and no CNAME means an A record is in the way. - Check the page:
curl -sI https://bio.example.com/. ExpectHTTP/2 200. - 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.