Connect a custom domain to your PankoBlitz site
Point your own domain at a PankoBlitz site: the two steps, the CNAME record, per-registrar notes, and the DNS gotchas that trip people up.
The short version
A PankoBlitz site ships on a panko.page subdomain by default. Putting it on your own domain is two steps and one DNS record, but the record has to be unproxied or Cloudflare cannot issue the certificate. That is the part most people get wrong.
Direct answer: On the Pro tier, add your domain in PankoBlitz (dashboard, or PUT /api/orgs/:orgId/sites/:siteId/domain). Then at your registrar add a CNAME record with name www and value panko.page, set to DNS-only (unproxied). Cloudflare auto-provisions SSL. It usually goes live in a few minutes, though DNS can take up to 48 hours. Poll GET /api/orgs/:orgId/sites/:siteId/domain until the state reads Active.
Before you start
- Custom domains require the Pro tier. See Pro pricing.
- You must own the domain and have access to its DNS settings at the registrar.
- Use a
wwwsubdomain if you can. Apex domains (example.comwith nowww) have a caveat covered below.
Step 1: add the domain in PankoBlitz
In the dashboard, open your site and add your custom domain. If you drive PankoBlitz from an agent or a script, call the API instead:
PUT /api/orgs/:orgId/sites/:siteId/domain
{ "domain": "www.yourdomain.com" }
This tells PankoBlitz which hostname to expect. Nothing serves yet, because DNS still points nowhere. That is Step 2.
Step 2: add the CNAME at your registrar
Add one record:
- Type: CNAME
- Name / host:
www - Value / target:
panko.page - Proxy: DNS-only. On Cloudflare that means the grey cloud, not the orange one.
The proxy setting matters. If the record is proxied (orange-cloud on Cloudflare), a second CDN sits in front of ours and the SSL provisioning fails. Grey-cloud it.
Per-registrar steps
| Registrar | Where to add the CNAME |
|---|---|
| Cloudflare | DNS > Records > CNAME. Must be grey-cloud (DNS-only). |
| GoDaddy | My Products > DNS > Add > CNAME. |
| Namecheap | Advanced DNS > CNAME. Value needs a trailing dot: panko.page. |
| Squarespace / Google Domains | DNS > Custom records > CNAME. |
| Route 53 | Create Record > CNAME. |
| Porkbun | DNS Records > CNAME. |
| Hover | DNS > Add Record > CNAME. |
Step 3: check the status
Once the record is in, Cloudflare issues the certificate and the domain goes live, usually within a few minutes. Poll the domain endpoint to watch it flip:
GET /api/orgs/:orgId/sites/:siteId/domain
The state is one of three values:
- Pending: DNS or SSL is still propagating. Give it time before assuming something broke.
- Active: your domain is serving the site.
- Error: something in the record is wrong. Recheck the proxy setting and the value first.
If it stays Pending past a few minutes, that is normal. DNS can take up to 48 hours to propagate globally, so a Pending state at the ten-minute mark is not a failure.
Limits and gotchas
- Apex domains cannot use a CNAME at most registrars. DNS rules forbid a CNAME at the root. Use
www, or if your registrar supports ANAME/ALIAS records, point one of those atpanko.page. - The record must be unproxied. Grey-cloud on Cloudflare. A proxied record blocks the certificate.
- Another CDN in front breaks it. If CloudFront, Fastly, or similar already sits between the world and your domain, requests never reach us and SSL will not provision.
- An existing
_acme-challengeTXT record can conflict. If you previously ran your own certificate issuance on this hostname, a leftover_acme-challengerecord will interfere with ours. Remove it.
Next step
Add the domain in PankoBlitz, drop the www CNAME in at your registrar as DNS-only, then poll the domain endpoint until it reads Active. The full request and response shapes are in the API docs.