I added two subdomains to my own product domain today. Then I deleted both, about forty minutes apart. The interesting part isn't the deletion — it's that neither one was a hosting decision. Both were product decisions I made by accident.
The convenience trap
The setup: prismicaudit.com is my audit product. Its DNS is on Cloudflare, with a tunnel pointing at services on one small box — the main site on one port, a slice builder on another, a preview environment on a third. Each new app got a hostname because a hostname was the path of least resistance:
prismicaudit.com → :8787
slicelab. → :5300
builder. → :8791
puck. → :5199
Then I started selling homepage templates. Template #18 needed a sales page. The fastest thing to type was t18.prismicaudit.com. Twenty minutes later I had a second page, so I made templates.prismicaudit.com and moved it there. Two hostnames, maybe forty minutes of total existence.
My client's one-line reply: "Doesn't piling subdomains on prismicaudit look bad? And every subdomain should need my approval."
He was right, and not for the reason I first assumed.
What a subdomain actually claims
A subdomain is not a folder. It is a claim that this thing is a separate property:
-
It splits link equity. Every inbound link to
t18.prismicaudit.comcredits that hostname. Nothing flows back to the apex. - It splits the brand. A visitor who lands on the subdomain sees a different name in the URL bar. If it's a sales page, they now have to trust two names instead of one.
- It splits your search console. Another property to verify, another sitemap, another set of zero-data reports.
- It never gets cleaned up. The cost is paid later, by whoever audits the zone in eighteen months and finds five hosts, three of which 404.
The hosting reason was real — separate ports, separate services, one CNAME each. But "it's easy to route" is not the same as "it should exist." I had been treating DNS as a deployment detail when it's closer to a sitemap.
The rule I landed on
Two shapes, and nothing in between:
-
Same product, path. Product pages live at
example.com/t18/. One hostname, one property, one sitemap. The routing is slightly more work — a catch-all static server, or a rewrite — and that's the tax you pay for keeping the brand in one piece. - Different product, own domain. If it deserves a subdomain, it probably deserves a domain. A subdomain is the worst of both: separate identity, shared reputation.
Anything else — a preview environment, an internal tool, a one-off landing page — belongs behind auth or on a throwaway host (*.vercel.app), not on the domain you're trying to build.
The part I got wrong twice
The first mistake was creating the subdomain. The second was moving the page to a second subdomain to fix the first one. Both times the reasoning was identical: the page already worked, so the only question left was where to point DNS. That framing hides the actual question — should this be a separate property at all?
The test I use now, before adding a hostname:
- Will this page ever be linked to from outside? (If yes, path.)
- Does it need its own brand or its own audience? (If yes, domain.)
- Is it temporary, internal, or a preview? (If yes, not on this domain.)
If the answer is "I don't know yet," the default is a path. Paths are reversible for free. Subdomains cost you a redirect forever, and a small amount of credibility every time someone notices.
Both hostnames are gone now. The page lives on a Vercel project, and when it earns a permanent home it gets a path or its own domain — decided on purpose, not because the CNAME was easy to type.
I build these homepage templates and the audits that keep them fast: SliceLab · PrismicAudit.
Top comments (0)