Browse topics

Custom domains

Use your own short domain, such as go.example.com, in addition to the main domain. A custom domain becomes Active only after three checks pass: DNS ownership, SSL and routing.

Main domain and short domains

  • The main domain is the address where Nocly Shortener is installed (https://nocly.site). It serves the dashboard, admin and documentation, and short links.
  • A short domain only serves short links. Opening its root address redirects to the main domain.

Step 1: Add the domain

Go to Domains and enter the hostname, for example go.example.com. Enter only the hostname: no https://, no path.

Step 2: Prove ownership with a TXT record

The domain page shows a TXT record unique to your domain. Add it at your DNS provider (or in cPanel Zone Editor):

TypeNameValue
TXT_shortlink-verification.go.example.comshortlink-verification=… (copy it from the domain page)

Some providers add the domain automatically; in that case enter only _shortlink-verification.go.

Step 3: Point the domain to this server

The domain must reach the same hosting account as Nocly Shortener.

On cPanel (recommended):

  1. Open Domains (or Aliases / Addon Domains on older cPanel).
  2. Add go.example.com with the document root set to public_html (the same folder as the main domain). Untick Share document root only if your cPanel does not offer it; the root must be the same.
  3. If the domain's DNS is managed elsewhere, create an A record pointing to your server's IP address (shown on the domain page), or a CNAME to your main domain.

Step 4: SSL certificate

Run SSL/TLS Status → Run AutoSSL in cPanel, or install a certificate for the domain. AutoSSL needs the DNS from step 3 to be in place. It can take a few minutes.

When Require SSL is off in Admin → Settings → Domains, a domain without a valid certificate can still become active and links use http://.

Step 5: Verify

Click Verify now. The domain page shows the result of each check:

CheckWhat is tested
OwnershipThe TXT record exists with the exact value, using public DNS resolvers
SSLA valid, trusted, unexpired certificate for the hostname on port 443
RoutingA request to https://go.example.com/.well-known/shortlink-route-check/… reaches this installation and returns a signed answer

DNS changes can take up to 48 hours to spread, but usually a few minutes. If a check fails, the message explains what was found.

Statuses

StatusMeaning
PendingJust added
Verification RequiredOne or more checks have not passed yet
VerifyingA check is running now
ActiveAll checks passed; the domain can be used for links
DisabledTurned off by the owner or an administrator; its links stop working
ErrorA previously active domain failed several re-checks in a row

Active domains are re-checked automatically (default every 12 hours). After 3 consecutive failures the domain changes to Error and its links stop redirecting until it verifies again. A single temporary DNS failure does not affect an active domain.

Why not file-based verification?

Because a custom domain points at this installation, a verification file could be served by this installation for anyone. A DNS TXT record can only be created by whoever controls the domain's DNS, so it is the only safe proof of ownership.

Sharing and limits

  • Domains you add are private to you. Administrators can make a domain public so all users can create links on it, set it as the default domain, or transfer ownership.
  • Administrators set whether users may add domains and how many.
  • A domain with links cannot be deleted. Delete or move its links first, or disable the domain.

Troubleshooting

MessageFix
TXT record not foundCheck the record name; wait for DNS to update; make sure it is not on the wrong zone
TXT value does not matchCopy the value again; remove quotes or extra spaces added by your DNS panel
DNS lookup temporarily failedThe resolvers did not answer; try again in a few minutes
Certificate not trusted / expired / hostname mismatchRun AutoSSL again or install a valid certificate for this hostname
Routing check reached a different siteThe domain's document root is not the same public_html, or DNS points to another server