Set up a custom domain

Use your own short domain (links.yourbrand.com) instead of bnkl.me. Cloudflare DNS, Vercel SSL, end-to-end in about 5 minutes.

Custom domains are a Pro feature. You'll need a subdomain you control, usually something like `links.yourbrand.com` or `go.yourbrand.com`. We handle the routing and SSL; you handle one DNS record.

Step 1: Add the domain in BlinkLink

  • Sign in to a Pro account.
  • Open Settings → Custom domain.
  • Type your subdomain (e.g. links.yourbrand.com) and hit Add domain.
  • The card now shows a TXT record you'll add to DNS in the next step.

Step 2: Prove ownership via TXT

In your DNS provider (Cloudflare, Namecheap, Route 53, any of them), add a TXT record:

Type:  TXT
Host:  links  (or _bnkl-verify.links, both work)
Value: bnkl-verify=<long-token-from-the-UI>

On Cloudflare specifically: set Proxy status to DNS only (grey cloud). TXT records aren't proxiable anyway, but be explicit.

Wait ~30 seconds for propagation, then hit Verify ownership in the BlinkLink UI. The card flips to "Verified · SSL: provisioning" and the TXT step is replaced by the CNAME step.

Step 3: Route traffic to us via CNAME

Add a second DNS record so visitor traffic actually reaches BlinkLink:

Type:   CNAME
Host:   links
Target: cname.vercel-dns.com

Cloudflare: again, set Proxy status to DNS only (grey cloud). Vercel's SSL pipeline needs to see the request directly to issue the cert via HTTP-01.

If you've moved BlinkLink to Cloudflare Pages instead of Vercel, use Cloudflare's Custom Domain UI under the Pages project; CF handles DNS + SSL in one step.

Step 4: Wait for SSL

Vercel auto-provisions a Let's Encrypt cert via HTTP-01 within 30-60 seconds of seeing the CNAME. You can poll the Settings → Custom domain card; ssl_status flips from provisioning to ready once it's live.

Step 5: Smoke test

Create a link with slug `hello` in your dashboard, then visit:

https://links.yourbrand.com/hello

Should redirect to the long URL. Other people's slugs on your domain return 404; the redirect handler scopes look-ups to the domain owner, so slug namespaces are per-tenant. Free side effect: you can use "foo" as a slug even if someone else already has "foo" on bnkl.me.

Common gotchas

  • Verify failing after 5+ minutes: your DNS provider's TTL hasn't dropped yet. Wait one more minute, then re-verify.
  • Vercel says "invalid configuration": your CNAME is still proxied through Cloudflare (orange cloud). Switch to grey cloud.
  • 526 / 525 SSL errors: Cloudflare is in front of Vercel before Vercel's cert was issued. Wait 60s after the CNAME goes live; grey-cloud forces the direct connection.
  • Want to swap the domain later? Remove and re-add. There's no in-place edit; the TXT verification token is per-row.