Domain
Every MagicWP site comes with a free default domain and can also serve your own custom domain - with HTTPS handled automatically. You manage domains in the dashboard: your site → Domain.
Your default domain
When a site is created, MagicWP gives it a default subdomain like
your-site.magicwp.net (the exact one is shown at the top of the Domain
page). It's live immediately, always connected, and served over HTTPS - useful
for building and testing before you point a custom domain at the site.
Two ways to connect a domain
The Domain page offers two routes, and you pick one:
| Connect Cloudflare | Point a domain manually | |
|---|---|---|
| Where your DNS lives | Cloudflare | Any registrar |
| Who writes the records | MagicWP | You |
| Setup time | About a minute | However long DNS takes to propagate |
| You also get | Proxy, WAF, edge cache purge, SSL mode and dev mode from the dashboard | SSL and platform caching |
A domain can only be set up one way at a time. Once you start on one route the other is disabled until you remove the domain - two sets of records pointing at the same name is a problem, not a fallback.
Connect Cloudflare (OAuth2)
If your domain's DNS is already on Cloudflare, this is the shorter path. There is no API token to create or paste.
1. Sign in at Cloudflare
Click Continue with Cloudflare. The page lists the permissions MagicWP will ask for before you go, and Cloudflare shows you the same list on its own consent screen. Approving takes you back to the dashboard.
Permissions are account-wide
Cloudflare grants access at the account level, not per domain. Approving DNS access covers every zone in that Cloudflare account, not only the one you are about to connect. You can revoke it at any time - from MagicWP, or in Cloudflare under My Profile → Access Management → Connected Applications.
2. Enter the domain
Type the domain you want to use - the apex (example.com) or a subdomain
(blog.example.com). It must already be in the Cloudflare account you just
connected.
MagicWP writes two records into your zone: a CNAME pointing the name at your default domain, and a TXT record that proves ownership.
If the name already has records
If something is already at that name - an old A record from a previous host,
for example - MagicWP will tell you and offer to replace it. That deletes
the existing A, AAAA or CNAME record at that name, so only accept if you
no longer need it.
3. Connect it
Click Connect. MagicWP points the web server at the domain and issues its certificate.
The record is written grey-cloud (proxy off) to begin with, and the proxy becomes available once the certificate exists. That order matters: turning the Cloudflare proxy on before the certificate is issued puts Cloudflare's default Flexible SSL in front of a server that redirects to HTTPS, which is a redirect loop.
Cloudflare settings
Once connected, the Domain page also gives you:
- Cloudflare proxy - serve the site through Cloudflare's cache and WAF.
- SSL mode - use Full (strict). It's the only mode that won't fight this server's HTTPS redirect while the proxy is on.
- Always Use HTTPS - redirect HTTP at the edge, before it reaches the site.
- Development mode - bypass the Cloudflare cache while you work. Cloudflare turns it off again after three hours.
- Purge cache - clear everything Cloudflare is holding for the zone.
Point a domain manually
Use this if your DNS is anywhere else, or if you'd rather not grant access to your Cloudflare account.
1. Add the domain
Enter it on the Domain page and click Add.
2. Add two records at your registrar
MagicWP shows you exactly what to add. Both are required - the CNAME points the name at your site, the TXT proves you own it:
| Type | Name | Value |
|---|---|---|
CNAME | @ for the root domain, or the subdomain (e.g. www, blog) | your default domain, e.g. your-site.magicwp.net |
TXT | _magicwp (or _magicwp.<subdomain>) | the verification string shown on the page |
Click any name or value to copy it.
Root domains
Many registrars can't put a CNAME on a root/apex domain (example.com) -
use their CNAME flattening / ALIAS / ANAME feature, or point a subdomain
like www instead.
3. Wait for verification, then connect
MagicWP re-checks DNS automatically while the page is open, and Check now forces a check. When both records are found the domain becomes Verified and Connect becomes available.
DNS takes time to propagate
DNS changes can take anywhere from a few minutes up to 24-48 hours to propagate worldwide. Leave the page open, or come back later - nothing is lost while you wait.
Managing your domain
Each domain shows its state:
- Waiting for DNS: added, but the records haven't been found yet.
- Verified: DNS is correct; ready to connect.
- Connected: active; your site is served on this domain.
The actions, in the order they have to happen:
- Connect - make the domain the site's live address.
- Disconnect - stop serving it; the site falls back to its default
*.magicwp.netaddress. Everything else stays set up, so you can connect again whenever you like. - Remove - take the domain off the site. On the Cloudflare route this also deletes the two records MagicWP wrote; on the manual route your registrar records are left alone for you to delete. Disconnect first.
- Revoke access (Cloudflare only) - hand back MagicWP's access to your Cloudflare account. Remove the domain first, or its records would be left in a zone MagicWP can no longer reach to tidy up.
SSL certificates
HTTPS is automatic. When you connect a domain, MagicWP issues and installs a
free Let's Encrypt certificate and renews it for you - there's nothing to
buy, upload, or configure. Your default *.magicwp.net domain is always HTTPS
too.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| "is not in the Cloudflare account you connected" | The domain is in a different Cloudflare account, or not on Cloudflare at all | Add it to that account, connect a different one, or use the manual route |
| "already has DNS records in this zone" | An old A or CNAME is still at that name | Accept the offer to replace it, or delete it in Cloudflare first |
| "already registered to another site" | The domain is connected to a different MagicWP site | Remove it there first |
| Added but still Waiting for DNS | Still propagating, or a record is wrong | Check both the CNAME and the TXT match exactly; use Check now after propagation |
| Root domain won't verify | Registrar can't CNAME the apex | Use CNAME flattening / ALIAS / ANAME, or connect a www subdomain |
| Redirect loop after turning the proxy on | Cloudflare SSL mode is Flexible | Set SSL mode to Full (strict) |
| Can't remove the domain | It's still connected | Disconnect it first |
| Can't revoke Cloudflare access | A domain is still set up through it | Disconnect, then remove the domain, then revoke |
| Certificate warning in the browser | Cert still being issued right after connecting | Give it a minute after connecting, then reload |