How to Set Up Root Domain and WWW Redirects in GoHighLevel

by Fahim

Visitors type your domain with and without www every single day. The problem? GoHighLevel treats root domains and subdomains as completely different beasts. If you only map one record, half your traffic ends up staring at a blank DNS error or an expired SSL warning.

I hit this head-on when migrating a client’s main sales funnel to GHL. Ads pointed to www.example.com, but organic traffic kept typing example.com and bouncing immediately. Here is how to configure both the apex root and the www subdomain properly, get your DNS records straight, and route traffic to the right funnel every time without breaking SSL.

Terminal screen showing DNS A record and CNAME verification for GoHighLevel root domain and www redirects
Terminal screen showing DNS A record and CNAME verification for GoHighLevel root domain and www redirects

Why Root and WWW Routing Fails in GoHighLevel

DNS splits your apex domain (the naked example.com) from subdomains (like www.example.com). Per standard DNS rules, apex domains need an A record pointing to an IP address, while subdomains usually take a CNAME pointing to a hostname.

HighLevel uses different endpoints for each:

  • A Record target (Root domain): 34.68.234.4
  • CNAME target (Subdomains / WWW): flash.funnels.msgsndr.com

If you only set up the A record, anyone typing www gets an unresolved DNS error. If you only configure the CNAME, visitors hitting the naked domain get dropped. You need both records living at your DNS provider and both registered inside your HighLevel sub-account.

Step 1: Choose Your Canonical Domain Strategy

Before touching your DNS panel, pick which URL version should be your primary canonical address. Search engines treat example.com and www.example.com as distinct sites unless you enforce a redirect.

You have two choices:

  1. Apex primary (cleanest for modern funnels): Main traffic goes to example.com. Requests to www.example.com redirect to the root.
  2. WWW primary (better if you run complex multi-app DNS): Main traffic lives on www.example.com. Requests to example.com redirect to www.

Either way works. HighLevel lets you bind one version to your funnel and set the other as a redirect target so you don’t split your search rank or duplicate content.

Step 2: Configure DNS Records at Your Registrar

Log in to your DNS provider (Cloudflare, Namecheap, GoDaddy, etc.) and create these two records.

Here is what your zone file should look like:

; Root Domain Record (Apex)
Type: A
Name: @ (or leave blank depending on provider)
Value: 34.68.234.4
TTL: Auto (or 300 / 3600 seconds) ; WWW Subdomain Record
Type: CNAME
Name: www
Value: flash.funnels.msgsndr.com
TTL: Auto (or 300 / 3600 seconds)

If your DNS host doesn’t accept @ for the root record, enter your naked domain directly (like example.com.). Make sure you wipe out any leftover A or CNAME records on these same hostnames from old hosts, or verification will fail.

If you also need subdomains for portals or secondary funnels, check out our guide on how to connect a custom domain and subdomain to GoHighLevel funnels.

Step 3: Add Both Domains Inside GoHighLevel

Once your DNS records are saved, add both entries inside your HighLevel sub-account. You must register them separately so HighLevel provisions SSL certificates for both hostnames.

  1. Head to Settings in the bottom-left menu of your sub-account.
  2. Click Domains under Business Services.
  3. Click + Add Domain in the top right.
  4. Type your root domain (e.g., example.com) and hit Continue.
  5. HighLevel queries your DNS. Once it confirms 34.68.234.4, click Link Domain.
  6. Repeat the process: Click + Add Domain, enter www.example.com, and verify it against flash.funnels.msgsndr.com.

For more edge cases on domain validation, check the HighLevel Domain Setup Documentation.

Step 4: Set Up the Funnel Link and Root Redirect

With both domains listed in HighLevel, bind your primary domain to your funnel and configure the redirect on the secondary domain.

1. Attach the Primary Domain

  1. Go to Sites > Funnels (or Websites).
  2. Open your funnel.
  3. Click Settings in the top tab bar.
  4. In the Domain dropdown, pick your primary version (e.g., www.example.com).
  5. Hit Save.

2. Configure the HighLevel Domain Redirect

  1. Go back to Settings > Domains.
  2. Find your secondary domain (e.g., example.com).
  3. Click the Edit (pencil) icon next to it.
  4. Under Default Page / Redirect Domain, pick your primary funnel step or target domain (www.example.com).
  5. Save your changes.

Now, when an HTTP or HTTPS request lands on the apex domain, HighLevel’s proxy handles the 301/302 redirect cleanly to your primary domain and path.

Setting up an agency-level portal instead of a client landing page? The routing logic is slightly different—see our guide on how to set up a custom whitelabel domain in GoHighLevel.

Step 5: Handling Cloudflare Proxying and SSL Traps

If you use Cloudflare, its default settings often break HighLevel’s SSL provisioning. HighLevel relies on Let’s Encrypt / ZeroSSL HTTP-01 challenges to generate certificates for your domains.

When the Cloudflare orange cloud (Proxy) is enabled during verification, Cloudflare intercepts the challenge, leaving your domain stuck on SSL Pending or throwing SSL Handshake Failed.

Here is the fix:

  • Set both your A record (@) and CNAME (www) to DNS Only (Grey Cloud) during setup.
  • Wait about two minutes, then retry verification in HighLevel.
  • Once HighLevel issues the certificate and shows the green active status, you can turn the Cloudflare proxy back on for WAF rules—just make sure your Cloudflare SSL/TLS mode is set to Full (Strict).

If your cert still hangs, see our deep-dive on how to fix GoHighLevel domain SSL pending and DNS errors.

What I Ran: Verifying DNS and Redirect Headers with Terminal Tools

Do not rely on a desktop browser to test redirects. Browser caches (especially Chrome’s aggressive HSTS and 301 caches) will lie to you. Use dig and curl to see what the server is actually returning.

First, verify your records resolve to the right targets:

# Check Apex Domain A Record
dig +short A example.com # Expected output:
# 34.68.234.4 # Check WWW Subdomain CNAME
dig +short CNAME www.example.com # Expected output:
# flash.funnels.msgsndr.com.

Next, check the raw HTTP response headers to confirm the redirect works:

# Test the redirect response from root to www
curl -ILs https://example.com | grep -iE 'HTTP/|location:'

If HighLevel is configured correctly, your output should show a clean 301 or 302 hop straight to your target:

HTTP/2 301 location: https://www.example.com/
HTTP/2 200

If you get a 404 or a connection timeout on that first hop, the apex domain isn’t mapped properly in your HighLevel domain settings.

Troubleshooting Common Gotchas

These three issues cause almost all domain headaches in HighLevel:

1. The Conflicting Parked Page A-Record

Registrars love adding default parking A records when you register a new domain. If you add HighLevel’s A record without removing the default one, DNS queries round-robin between them. HighLevel verification will intermittently fail, and random users will land on parked pages. Delete every other A and AAAA record on @ so only 34.68.234.4 remains.

2. CAA Records Blocking SSL Issuance

If your domain has pre-existing CAA records, they might restrict certificate issuance to providers like DigiCert or Amazon. HighLevel uses Let’s Encrypt. If Let’s Encrypt isn’t permitted in your CAA records, certificate generation silently fails.

Add this record if you have CAA restrictions enabled:

Type: CAA
Name: @
Flag: 0
Tag: issue
Value: "letsencrypt.org"

3. Redirect Loops with Funnel Step Paths

If you map example.com to Step 1 of a funnel (path: /home) and set a redirect on www.example.com pointing to example.com/home, but Step 1 also canonicalizes to www, you create an infinite loop (ERR_TOO_MANY_REDIRECTS). Always bind your funnel directly to your primary domain and point the secondary domain to that primary domain without conflicting path overrides.

Frequently Asked Questions

Can I point both root and WWW to the same funnel without a redirect?

You can, but you shouldn’t. Serving the exact same page across two URLs splits your search authority and triggers duplicate content flags. Pick one canonical URL and redirect the other.

How long does SSL certification take after adding the root domain?

Usually between 30 seconds and 10 minutes once DNS propagates. If it takes longer than 15 minutes, drop your DNS TTL to 300 seconds and make sure no duplicate A records are hanging around.

What if my registrar doesn’t support CNAME records for subdomains?

Every standard registrar supports CNAMEs on subdomains like www. Some just don’t support CNAME flattening on the apex root. That is why HighLevel uses an A record (34.68.234.4) for root and a CNAME (flash.funnels.msgsndr.com) for subdomains.

Can I use custom values in my funnel redirects?

Yes. Once your domains are hooked up, you can use dynamic parameters and custom values in your funnels for tracking and affiliate routing. See our tutorial on how to use custom values in GoHighLevel funnels and workflows.

Next Steps

Once your root and www redirects work in an incognito window, test across mobile networks to confirm SSL certificates resolve without warnings. If you plan to send cold or transactional emails under this brand, isolate your sending domain next so funnel traffic doesn’t jeopardize inbox placement. Follow our walkthrough on how to set up a dedicated email sending domain in GoHighLevel to wrap up your DNS setup.

Official resources

all_in_one_marketing_tool