Custom Domain (White-Label)
Run your school's portal on your own branded URL — for example learn.yourschool.edu instead of dnlearn.org/yourschool. Your students see your brand, your domain, your TLS certificate.
What you'll need
- A subdomain you control (typically a third-level subdomain like
learn.yourschool.edu,portal.yourschool.edu, orlms.yourschool.edu). - DNS access — the ability to add a CNAME record on the parent domain. Anyone who can sign in to your DNS provider's dashboard can do this; usually IT or whoever manages your website.
- Admin role in DNLearn — the Custom Domain section is only visible to organization admins.
You do not need:
- To use any specific DNS provider — Cloudflare, GoDaddy, Route53, Namecheap, your registrar's free DNS, all work.
- To buy a TLS certificate. We provision and renew it automatically.
- To migrate your apex domain (
yourschool.edu) anywhere. The custom domain is a subdomain only.
Setup (5–10 minutes plus DNS propagation)
Step 1 — Pick your hostname
We recommend learn., portal., or lms. as the prefix. Pick whatever fits your brand. Apex domains (yourschool.edu itself, with no prefix) require a different setup; contact support if you need that.
Step 2 — Open the form
Sign in as an admin → Settings → scroll to the Advanced section → Custom Domain.
Enter your hostname (e.g. learn.yourschool.edu), leave HTTP Validation selected (it's the easiest), and click Add domain.
The page will switch to a "verification pending" view with two records you need to add at your DNS provider.
Step 3 — Add the CNAME at your DNS provider
You'll see a card titled "Step 1 — Add CNAME":
- Name: your hostname (e.g.
learn.yourschool.edu) - Target:
customers.dnlearn.org
Open your DNS provider's dashboard and add this as a CNAME record. Specifics by provider:
Cloudflare
1. Go to your domain → DNS → Records
2. Add record → Type: CNAME, Name: learn, Target: customers.dnlearn.org
3. Proxy status: DNS only (grey cloud, NOT orange). This is critical — orange-cloud will cause certificate errors.
4. TTL: Auto
GoDaddy / Namecheap / Route53 / cPanel / generic
1. Find DNS Management for your domain
2. Add a new record, Type: CNAME, Host/Name: learn (just the prefix, not the full hostname), Points to/Target/Value: customers.dnlearn.org
3. TTL: 300 seconds (or default — anything's fine)
Step 4 — Wait
The page auto-refreshes every 15 seconds. You'll see status flip:
1. Awaiting DNS verification — your CNAME is being checked
2. Issuing certificate — Cloudflare is generating the TLS cert
3. Active — your domain is live
Total time is usually 1–10 minutes. The slow part is DNS propagation; the cert itself takes about a minute once we can reach your hostname.
Step 5 — Test
When status shows Active, click the link to your branded URL. Sign in with your admin account. You should see exactly the same portal you saw before — same data, same users, same everything — just at your own URL.
Frequently asked questions
Will my old URL still work?
Yes. dnlearn.org/yourschool continues to work indefinitely. The custom domain is additive, not a replacement.
What about email — does this affect MX records?
No. We only use the CNAME you create. Email, the rest of your subdomains, and your apex domain are untouched.
Do I have to use Cloudflare?
No. We use Cloudflare on our end to issue and serve the certificate. Your DNS provider can be anyone — Route53, GoDaddy, Namecheap, your registrar, your in-house DNS, doesn't matter. As long as you can add a CNAME record, you're good.
What if I already have something at `learn.yourschool.edu`?
You'll need to remove or move that first. A hostname can only point to one place at a time. If you have a previous LMS or service there, redirect users to the new URL before changing the CNAME.
Can I change my mind and use a different hostname later?
Yes. In the Custom Domain section, click Remove, then add the new one. Old hostname is deprovisioned, new one starts fresh.
What about wildcard certificates?
We issue per-hostname certificates, not wildcards. If you want both learn.yourschool.edu and portal.yourschool.edu pointing at us, you'd add each as a separate custom domain (currently one per organization — contact support if you need multiple).
Troubleshooting
Stuck at "Awaiting DNS verification" for more than 15 minutes
- Check the CNAME is actually published: from a terminal, run
dig CNAME learn.yourschool.edu +short(replace with your hostname). You should seecustomers.dnlearn.org.in the output. If you don't, your DNS change hasn't propagated yet, or the record was added incorrectly. - Check your Cloudflare proxy status: if you're using Cloudflare DNS, the cloud icon next to the record must be grey (DNS only), not orange (Proxied). Orange-cloud breaks the verification.
- Click Refresh: forces an immediate re-check, in case the auto-poll missed it.
"Failed" status with an error
The error message is shown right below the status badge. Common causes:
- *"Hostname does not point to..."* — your CNAME is missing or wrong. Re-check Step 3.
- *"Certificate validation failed"* — usually means the hostname briefly responded as something other than us. Wait 1 minute and click Refresh.
- Anything else — try removing and re-adding. If the error persists, send the message to support.
My branded URL loads but says "Domain not configured"
This can happen briefly right after the hostname goes Active — the domain-to-tenant cache takes up to a minute to refresh. Wait 60 seconds and reload. If it persists, contact support.
Can I migrate my marketing site to this same subdomain?
No — learn.yourschool.edu is now exclusively the LMS. Pick a different subdomain for your marketing site (most schools use yourschool.edu itself or www.yourschool.edu for marketing).