What Happened
There's a saying in tech: it's always DNS. Today it was DNS.
sorted3d.com was pointing at GoDaddy's servers. This was not a mystery once we looked — the Cloudflare DNS panel had two A records sitting right there with GoDaddy's IPs, auto-imported when we transferred the nameservers. Cloudflare was dutifully proxying all traffic directly to GoDaddy's hosting, which was equally dutifully serving GoDaddy's default page. Everyone doing their job. Wrong job.
Fix #1: The Root Domain
Delete both A records pointing at GoDaddy. Add a CNAME pointing @ to sorted3d.pages.dev. Then — and this is the part that gets people — go into Cloudflare Pages → Custom Domains and add sorted3d.com explicitly.
The CNAME alone is not enough. Pages needs to be told it owns the domain, otherwise Cloudflare proxies traffic to a Pages server that has no idea what to do with it and returns a 522. Which is exactly what happened next.
Fix #2: www
Root domain started working. Then hit a 522 on www.sorted3d.com. The www CNAME was pointing at sorted3d.com — reasonable instinct, broken in practice when the root is itself a CNAME to Pages. Updated it to point directly at sorted3d.pages.dev, added www.sorted3d.com as a second custom domain in Pages, done.
What's Live Now
Both sorted3d.com and www.sorted3d.com resolve to the site. The full stack:
- GoDaddy — domain registration only, nameservers point to Cloudflare
- Cloudflare — DNS, proxying, SSL termination
- Cloudflare Pages — actually serves the site
- Mailgun MX/TXT records — untouched, email still works
Convenient and also a trap. It imports whatever was there — including records pointing at your old host. Go through every record after the transfer and make sure nothing is still pointing somewhere you don't want.
Adding a CNAME in DNS is not sufficient on its own. You also have to add the domain inside the Pages project under Custom Domains. Skip that step and you get a 522 and an annoying afternoon.
Set your www CNAME target to yourproject.pages.dev, not to yourdomain.com. Chaining through the root doesn't work reliably when the root is itself a CNAME to Pages. Point both directly and move on.