If you tried to connect a custom domain to your Notion workspace and received an error about the apex DNS record, you are not alone. Notion requires a CNAME record for domain verification, but apex domains like example.com typically only support A, AAAA, or ALIAS records. This limitation stems from DNS standards and Notion’s infrastructure design. This article explains the technical reason behind this restriction and shows you the exact steps to configure your domain correctly.
Key Takeaways: Why Apex DNS Records Fail for Notion Custom Domains
- DNS record type conflict: Notion requires a CNAME record for verification, but apex domains cannot use CNAME records per DNS standards.
- Subdomain workaround: Use a subdomain like www.example.com with a CNAME record pointing to cname.verify.notion.site.
- DNS provider alternatives: Some providers offer ALIAS or ANAME records that emulate CNAME behavior at the apex, but Notion does not support them.
Why Notion Rejects Apex DNS Records
The Domain Name System has a fundamental rule: a CNAME record cannot coexist with any other record type at the same name. This rule is defined in RFC 1034 and RFC 2181. An apex domain, such as example.com, must have at least SOA and NS records. Adding a CNAME record there would conflict with these mandatory records. Notion uses a CNAME record to verify domain ownership and route traffic. Because apex domains cannot host a CNAME record, Notion cannot accept an apex domain directly.
Notion’s verification process checks for a specific CNAME target: cname.verify.notion.site. If the DNS query for your domain returns an A or AAAA record instead of a CNAME, the verification fails. This is not a bug or a limitation of Notion alone. It is a constraint of the DNS protocol itself. Even if you use a DNS provider that offers an ALIAS or ANAME record, Notion still looks for a true CNAME record. ALIAS records are resolved at the DNS provider level, not at the authoritative name server level, so Notion does not see them as valid.
Some services like GitHub Pages or Netlify allow apex domains by using a technique called CNAME flattening. Notion does not implement this. Instead, Notion explicitly expects a CNAME record at the exact domain you configure. If you set your workspace custom domain to example.com, Notion will query example.com for a CNAME record. Since example.com cannot have a CNAME record, the verification always fails.
Steps to Configure a Custom Domain for Your Notion Workspace
To successfully connect a custom domain, you must use a subdomain. The most common choice is www. This method works with any DNS provider that supports CNAME records, which is virtually all of them.
- Choose a subdomain
Select a subdomain such as www.example.com or blog.example.com. Do not use example.com alone. Write down the exact subdomain you plan to use. - Open your DNS provider’s management console
Log in to the control panel of your domain registrar or DNS hosting provider. Common providers include GoDaddy, Cloudflare, Namecheap, and Google Domains. - Add a CNAME record
Create a new DNS record with type CNAME. Set the name field to your chosen subdomain. For example, if your subdomain is www, enter www. Set the target or value field to cname.verify.notion.site. Save the record. - Open Notion workspace settings
Navigate to Settings & Members in the left sidebar. Select Settings from the top menu. Scroll to the Workspace section and click Custom Domain. - Enter your subdomain
In the Custom Domain field, type the full subdomain, for example www.example.com. Click Verify Domain. Notion will check for the CNAME record you created. If the record is correct, the domain status changes to Verified. - Wait for DNS propagation
DNS changes can take up to 48 hours to propagate worldwide, though most updates happen within a few minutes. If verification fails immediately, wait 15 minutes and try again. - Set up a redirect from the apex domain
To let visitors reach your workspace by typing example.com, configure a redirect from your apex domain to your subdomain. Most DNS providers offer URL forwarding or redirect rules. In Cloudflare, use a Page Rule. In GoDaddy, use the Forwarding feature. Point example.com to http://www.example.com.
If Notion Still Rejects Your Custom Domain
Even after following the steps above, you may encounter errors. Below are the most common issues and how to resolve them.
CNAME record not found after adding it
Double-check the record type. It must be CNAME, not A, AAAA, or ALIAS. Verify the target is exactly cname.verify.notion.site with no trailing period or extra spaces. If you use Cloudflare, ensure the orange cloud proxy is turned off for this record. Cloudflare’s proxy can interfere with the CNAME verification.
Domain verification succeeds but the site does not load
After verification, Notion may take up to 24 hours to provision SSL certificates. During this time, the custom domain may show a security warning or not load at all. Wait a few hours and try again. If the problem persists, remove the custom domain and re-add it in Notion settings.
Redirect from apex to subdomain is not working
URL forwarding depends on your DNS provider. Some providers require you to create an A record pointing to their redirect server. Check your provider’s documentation. Alternatively, use a service like Cloudflare with a Page Rule that redirects example.com to www.example.com using a 301 redirect.
| Item | Apex Domain (example.com) | Subdomain (www.example.com) |
|---|---|---|
| DNS record type supported | A, AAAA, NS, SOA | CNAME, A, AAAA |
| Can use Notion custom domain | No | Yes |
| Requires redirect setup | Yes, to subdomain | No |
| DNS standard compliance | RFC 1034 and 2181 compliant | Compliant |
You now know why Notion cannot use an apex DNS record for custom domains. The restriction comes from DNS standards that prevent CNAME records at the root of a domain. Use a subdomain like www and set up a redirect from your apex domain. For a cleaner setup, consider using a DNS provider that offers CNAME flattening, though Notion may still reject it. Always test the CNAME record with a DNS lookup tool before attempting verification in Notion.