When you connect a custom domain to a Notion public page, you may see the error message “Public Page Cannot Be Verified” instead of your content. This error means Notion cannot confirm that you own the domain, so it blocks the page from loading for visitors. The problem is usually caused by a missing or incorrect DNS record in your domain provider’s settings. This article explains why the verification fails and provides the exact steps to fix the DNS configuration so your public page loads correctly.
Key Takeaways: Fixing Notion Custom Domain Verification
- DNS TXT record for domain verification: Notion requires a specific TXT record at your domain provider to prove ownership; missing or incorrect records cause the error.
- DNS CNAME record for page routing: A CNAME record pointing your domain to
cname.notion.sois needed to route traffic; a wrong target breaks the connection. - DNS propagation delay: DNS changes can take up to 48 hours to spread; the error may persist during this period even with correct records.
Why Notion Shows “Public Page Cannot Be Verified”
Notion uses two DNS records to verify and route a custom domain. The first is a TXT record that acts as a digital signature proving you control the domain. The second is a CNAME record that tells the internet where to find Notion’s servers. If either record is missing, has a typo, or is set to the wrong value, Notion cannot verify ownership and displays the error. The most common causes are:
- No TXT record added at all
- TXT record value copied incorrectly (missing or extra characters)
- CNAME record pointing to an old or incorrect target
- DNS changes that have not propagated yet
- Using a subdomain that conflicts with other services (like www or blog)
Steps to Fix the Verification Error on a Custom Domain
Follow these steps in order. Do not skip any step, even if you think a record already exists.
- Get the TXT record value from Notion
Open your Notion workspace. Go to Settings & Members > Settings > Workspace > Custom Domain. If you have already added a domain, click “Manage” next to it. Under “Domain verification,” copy the TXT record value shown. It looks likenotion-verification=.... Keep this text exactly as shown. - Add the TXT record at your domain provider
Log in to your domain provider (such as GoDaddy, Namecheap, Cloudflare, or Google Domains). Navigate to the DNS settings for your domain. Add a new TXT record with the following values: Name/Host:@(or leave blank, depending on your provider), TTL: 3600 or Auto, Value: paste the exact text from Notion. Save the record. - Add the CNAME record for the page
In the same DNS settings area, add a new CNAME record. Set Name/Host to the subdomain you want to use (for example,wwworblog). Set Target/Destination tocname.notion.so. Set TTL to 3600 or Auto. Save the record. If you want the root domain (example.com) to work, you must use a redirect from your provider or a CNAME flattening feature; Notion does not support a CNAME at the root. - Wait for DNS propagation
DNS changes do not take effect immediately. Wait at least 15 minutes, but be aware that full propagation can take up to 48 hours. During this time, the error may still appear even if the records are correct. You can check propagation using a free tool like WhatsMyDNS.net by entering your domain and selecting TXT and CNAME record types. - Verify the domain in Notion
Return to Notion Settings & Members > Settings > Workspace > Custom Domain. Click the “Verify” button next to your domain. If the DNS records are correct and propagated, Notion shows a green checkmark and the error disappears. If the error persists, double-check the TXT and CNAME values for typos, then wait longer and retry. - Test the public page
Open a new incognito or private browser window and navigate to your custom domain (for example,blog.yourdomain.com). The Notion public page should load without errors. If you still see the verification error, repeat steps 1 through 5.
If Notion Still Shows the Verification Error After DNS Changes
“TXT record exists but Notion says it is missing”
This usually happens because the TXT record value has a trailing space or an extra quote mark. Delete the record and add it again, pasting the value directly from Notion without any edits. Some providers automatically add quotes around TXT values; this is normal and should not cause issues.
“CNAME record works but public page shows Notion 404”
A CNAME that points to cname.notion.so routes traffic to Notion, but the page itself must be published. Go to the page in Notion, click Share in the top-right corner, and enable “Share to web.” Copy the public link and confirm the page is accessible. If the page is not shared, visitors see a blank Notion page.
“I use Cloudflare and the error persists”
Cloudflare’s proxy (orange cloud icon) can interfere with Notion’s verification. For both the TXT and CNAME records, set the proxy status to “DNS only” (gray cloud). After saving, wait 5 minutes and retry verification. Do not enable the proxy for these records.
“The error appears only on mobile browsers”
This is usually a browser cache issue. Clear the browser cache on your mobile device or use a private browsing tab. If the problem persists, check that your CNAME record is set to cname.notion.so and not to an IP address or another domain.
Notion Custom Domain Setup: Common DNS Records Compared
| Record Type | Purpose | Example Value |
|---|---|---|
| TXT | Proves domain ownership to Notion | notion-verification=abc123def456 |
| CNAME | Routes traffic from your subdomain to Notion | cname.notion.so |
| ALIAS / ANAME | Routes root domain to Notion (if supported by your provider) | Check your provider’s documentation |
You can now resolve the “Public Page Cannot Be Verified” error by adding the correct TXT and CNAME records at your domain provider and waiting for DNS propagation. After verification, test the public page in a private browser window. For ongoing reliability, set a reminder to check your DNS records every six months, especially if you switch domain providers or change Notion workspace settings.