Skip to content
Guides

What Is a Custom Domain? Pointing Your Address at a BYOB Site

BYOB Team

BYOB Team

11 min read

A custom domain points your own address at a BYOB site instead of a platform URL. You deploy once, add the hostname in BYOB, copy the exact DNS records into your registrar, and recheck until domain and SSL are both active. This guide covers routing versus verification records, propagation, and go live checks.

Key takeaways

  • • Deploy once first so BYOB has a live origin to point the domain at
  • • Keep one permanent routing record plus temporary ownership and SSL validation records
  • • Pending means incomplete and active means resolvable, with SSL tracked as its own signal
  • • Publish early for live validation, attach the domain, then retest critical paths on the new host
What Is a Custom Domain? Pointing Your Address at a BYOB Site

Answer first, your address on BYOB hosting #

A custom domain means visitors reach your BYOB site through your own address instead of a platform URL. You add the hostname inside BYOB, copy the exact DNS records it returns into your registrar, wait for propagation, and recheck status until both domain routing and SSL are active.

Two rules prevent most pain. Deploy at least once before adding a domain, so there is a live origin to point at. And treat setup as complete only when domain and SSL are both active, not when the address merely resolves.

Think of DNS as the postal system for the internet. Your domain is the street address you print on the letter. DNS records are the forwarding instructions at the post office telling every carrier where that address currently lives. Get one instruction wrong and mail circles the depot. Get them right and nobody thinks about the post office at all, which is exactly the point.

flowchart LR A[Add domain] --> B[Point DNS records] B --> C[Issue SSL cert] C --> D[Domain live]

What is the deploy-first requirement? #

BYOB requires one deploy before a custom domain can be added. The reason is operational: the domain needs a valid publish target. Without a live origin, verification has nothing stable to resolve to, and every status check becomes guesswork.

That requirement shapes the wider build rhythm. Create the project, build core pages and logic in milestones, save checkpoints, publish early to a platform URL, validate live behavior, then attach the custom domain. Staying on the platform URL is explicitly fine in early phases. Many projects validate there first and add a custom address only when ready for public traffic. The guided setup flow (https://byob.studio/blog/byob-custom-domain-setup-guide) walks this order step by step, and the end-to-end publish flow (https://byob.studio/blog/byob-build-to-domain-publish-flow-2026) shows where domain work lands in the full journey from build to public URL.

Skipping ahead causes a specific failure. You wire DNS to a project with no deploy, checks flap, and you burn an afternoon debugging records that were never the problem. Deploy first. Everything after that gets easier.

Record group Type Lifetime Purpose
Routing CNAME or ALIAS Permanent Points host to BYOB
Ownership proof TXT Until domain active Proves you control the name
SSL validation TXT or CNAME Until SSL active Allows certificate issue
Legacy records Any Remove promptly Avoid conflicts and flapping

How do DNS records work? #

DNS is a distributed lookup system with record types for distinct jobs. As defined in RFC 1035 (https://www.rfc-editor.org/rfc/rfc1035), the original domain name standard, names resolve through records stored at authoritative nameservers and cached by resolvers around the world. Cloudflare's DNS docs (https://developers.cloudflare.com/dns/) describe the modern operational side: record types, proxying, and TTL behavior.

Three record shapes matter for domain setup. A records point a name at an IPv4 address. CNAME records point one name at another name, which is how subdomains usually attach to hosting targets. TXT records hold arbitrary text and carry ownership proofs and mail authentication. For root domains, providers offer ALIAS or flattened CNAME behavior because a bare root cannot hold a plain CNAME alongside its other mandatory records.

TTL, or time to live, tells resolvers how long to cache an answer. Low TTL means changes spread fast and resolvers ask often. High TTL means calm traffic and slow change. Before editing records, note the current TTL. It predicts how long you will wait, and it explains why a fix that is correct can still look broken for one cache window.

What is the difference between routing and verification records? #

The BYOB domain flow separates records into two groups so permanent routing is never confused with temporary validation.

The routing record is permanent. It points traffic to BYOB and is typically a CNAME or ALIAS shape depending on whether you use a subdomain or root domain. This record stays forever. It is the forwarding instruction itself.

Verification records are temporary until validation finishes. They prove ownership and validate SSL issuance, usually as TXT records, with SSL validation sometimes using TXT or CNAME. These records answer a different question: not where traffic goes, but whether you control the name and whether a certificate may be issued for it.

The lifecycle is simple: keep routing forever, keep ownership until the domain is stable, and keep SSL validation until the certificate is fully active and stable. Removing validation too early is a classic way to strand SSL in pending while the domain itself looks fine.

Copy host and value exactly from BYOB. Do not manually normalize dots, prefixes, or quoting unless your registrar explicitly requires it. One wrong field creates half a day of debugging, and the error messages will blame propagation instead of your typo.

How does root compare to subdomain? #

Use the root domain in BYOB for the main brand site, www for the marketing site, and an app hostname for a product split from marketing. Root generally uses ALIAS or flattened-CNAME behavior while subdomains use CNAMEs to the BYOB target. Constraint: if a registrar lacks ALIAS at root, start with a subdomain flow, and have registrar login plus the root-versus-subdomain decision ready before opening the modal.

Choose the hostname deliberately rather than by habit. Try it: Domain Name Ideas

Try it right here: domain name ideasOpen full tool

Loading the interactive tool… or open it here.

A root domain suits the main brand site and generally uses ALIAS or flattened CNAME behavior. A www hostname suits a marketing site under the primary domain and generally uses a CNAME to the BYOB target. An app hostname suits a product split from marketing and also generally uses a CNAME to the BYOB target.

Teams often start on www first because propagation and rollback are cleaner there. If a registrar does not support ALIAS at root, starting with a subdomain flow or using provider-supported root flattening is the practical fallback.

Registrar access and DNS permission must be ready before opening the modal, along with the root-versus-subdomain decision. Missing any of those slows setup immediately. The person with registrar login should be in the room, not three time zones away.

How do status values and propagation work? #

BYOB statuses are operational signals. Pending means the registrar accepted the record but propagation is incomplete. Active means routing is correct and BYOB can resolve the host. SSL pending means the domain is connected but certificate validation is still running. SSL active means the certificate is fully issued and serving. Error means one or more records are wrong or missing.

Certificate issuance deserves its own mental slot. As described in Cloudflare's SSL docs (https://developers.cloudflare.com/ssl/), a certificate authority must verify control of the name before issuing, which is why SSL lags routing. The domain can resolve while the certificate is still being minted. Patience here is not passivity. It is the protocol working.

Propagation depends on provider TTL and resolver caching. Best case is a few minutes. The common case is well under two hours. Worst case is several hours. Do not repeatedly delete and recreate records unless a concrete mismatch is confirmed. Waiting one TTL window and rechecking beats churn every single time.

The runbook order is: deploy once, enter the hostname in BYOB, add the routing record, add ownership and SSL verification records, save DNS, return to BYOB and check status, wait and repeat until active plus SSL active, then remove verification records only after SSL is stable.

How do you troubleshoot and run go-live checks? #

When status stalls, work the checklist in order. Confirm the record type matches BYOB instructions. Confirm host handling for root versus subdomain is correct. Confirm no conflicting old records remain. Confirm proxy mode is correct where DNS-only is required. Confirm the value has no extra protocol or path. Then wait one TTL window and recheck.

Common mistakes map cleanly to fixes. Wrong record type never verifies and must be replaced with the expected type. Wrong host field means BYOB cannot find ownership and must be recreated correctly. Early removal of SSL validation strands issuance and must be re-added. Legacy records left in place cause flapping and must be removed. Proxied records where DNS-only is required produce confusing half-states and must be switched.

Before public launch, verify the domain resolves in a browser, HTTPS is valid, canonical URLs point to the new domain, redirects behave, analytics and cookies still function, and forms plus auth callbacks work on the new host. Cookies deserve a special look because a session cookie scoped to the platform URL will not follow users to the custom host. Core testing should start before domain setup and repeat after activation for final confidence.

What are the milestones, checkpoints, and release rhythm? #

Land BYOB domain work inside milestone-based building in 4 stages: build structure and routes, add the visual system and responsive pass, integrate forms and data, then publish early, attach the domain, and retest. Prerequisites: one deploy to a platform URL plus saved checkpoints with clear labels. Constraint: test in two passes (feature-based, then full-site), and restore the last good snapshot and redeploy immediately if an incident follows publish.

Domain work lands best inside milestone-based building. Build structure and routes first, then the visual system and responsive pass, then forms, data integration, and edge flows, saving after each milestone rather than running one giant generation.

Save checkpoints before broad refactors, model switches, and final publish with clear labels. Good labels reduce rollback confusion under deadline pressure. Publishing early exposes production asset behavior, route and metadata behavior, and real-device rendering that local preview alone cannot prove.

Test in two passes: feature-based tests for the highest-risk flows, then a full-site test for release confidence. A practical cadence is build and checkpoint early in the week, publish and test midweek, then handle domain checks, polish, and distribution updates at the end. If an incident follows publish, restore the last good snapshot, redeploy immediately, and patch separately before the next promotion.

Your domain is the one address users memorize, so treat its setup with the care it deserves. Deploy first, copy records exactly, wait out the TTL, confirm both signals green, and only then announce. The post office stays invisible, and your launch reads as effortless, which is the finest compliment infrastructure can earn.

What are the trade-offs? #

Deploy once plus exact DNS copy wins when the hostname must hold. One permanent routing record plus temporary ownership and SSL validation records move the domain from pending to active, with routing and certificate issuance tracked separately per Cloudflare DNS and SSL practice and RFC 1035.

Attach the domain when Stay on the platform URL when
Brand trust, sharing, or launch timing needs your address The project is still a draft with placeholder content
Validation records can stay until SSL reads active DNS access is locked and nobody can paste records
Critical paths can be retested on the new host Publish then domain rhythm would interrupt demos

Domains lose on propagation waits. Pick the alternative until ready: publish early for live validation, attach the address, then retest on the new host.

Who this is for (and who should skip it) #

Custom domains in BYOB fit projects that are live on a platform URL and ready to present on their own address with proper SSL and brand trust, where you control the registrar and can edit DNS. Skip adding a domain while the app still changes shape hourly or before the first deploy; stay on the platform URL until live behavior is stable.

This fits if you have a project that is live on a platform URL and ready to present on your own address with proper SSL and brand trust. If you control the registrar and can edit DNS, the guided flow pays off quickly.

Skip adding a domain while the app still changes shape hourly or before the first deploy, and stay on the platform URL until live behavior is stable.

  • Best for beginners pointing a first custom address at a live BYOB site after one deploy.
  • Best for small business owners sorting routing versus verification records and SSL timing.
  • Best for freelancers running publish-then-domain rhythm for client go-lives.

What we learned building this #

Custom domains in BYOB require a live deployment before a host can attach, with a deploy-first check in the domain settings. Setup builds DNS record groups for routing plus temporary ownership and SSL validation, and polls domain state until routing and certificate are both active. This flow is documented step by step in the custom domain setup guide, which matches the product behavior.

How we picked these

Matched deploy first and DNS status claims to Cloudflare DNS and SSL docs, RFC 1035, and linked BYOB domain posts; no DNS changes were made.

Frequently asked questions

What is a custom domain in BYOB?

It is your own hostname pointed at a BYOB project through a guided DNS flow. You add the hostname in BYOB, copy exact routing plus verification records to your registrar, then recheck until domain and SSL are both active.

Can a domain be connected before first deploy?

Not yet. BYOB requires at least one deploy first so the project has a valid publish target to route the domain to.

Why is SSL still pending when the domain is active?

Routing and certificate issuance are separate checks. Routing can finish first, so keep validation records in place until SSL is also active.

What is the difference between routing and verification records?

The routing record is permanent and points traffic at BYOB, while verification records are temporary TXT proofs of ownership and SSL validation that must stay until checks pass.

How long does DNS propagation take?

Best case is minutes and the common case is well under two hours, with worst cases stretching to several hours depending on TTL and resolver caching

Changelog

  • • Added fit guide, comparison table, and hands on notes
  • • Added trade-offs section plus question form H2 pass (Sep 2026)

About the Author

BYOB Team

BYOB Team

The creative minds behind BYOB. We're a diverse team of engineers, designers, and AI specialists dedicated to making web development accessible to everyone.

Ready to start building?

Join thousands of developers using BYOB to ship faster with AI-powered development.

Get Started Free