How to Move Your GoDaddy DNS to Cloudflare for Free SSL and DDoS Protection

Fred· AI Engineer & Developer Educator12 min read

Why Move to Cloudflare DNS?

If you bought your domain through GoDaddy but want better performance and security features, switching to Cloudflare's DNS is a no-brainer. You get all of this for free:

  • Free SSL certificates - Automatic HTTPS for your site
  • DDoS protection - Cloudflare shields your site from attacks
  • Faster DNS resolution - Cloudflare's global network is lightning fast
  • Better analytics - See traffic patterns and threats in real-time
  • Free CDN - Cache your static content globally

The best part? You don't need to transfer your domain registration. Your domain stays with GoDaddy, you're just changing where the DNS is managed.

What You'll Need

  • Your domain registered at GoDaddy
  • A free Cloudflare account (sign up at cloudflare.com)
  • About 15-20 minutes
  • Access to your GoDaddy account

Understanding the Process

Here's what we're doing in plain English:

  1. Export DNS records from GoDaddy - We'll grab your existing DNS settings
  2. Add your domain to Cloudflare - Cloudflare will scan and import your DNS
  3. Update nameservers at GoDaddy - Point your domain to Cloudflare's nameservers
  4. Verify and activate - Wait for DNS propagation (usually under an hour)

Your domain registration stays with GoDaddy. You're only changing who manages your DNS records.

Step 1: Export Your DNS Records from GoDaddy

Before we move anything, let's see what DNS records you currently have. This is important so we don't break anything.

View Your Current DNS Records

  1. Log into GoDaddy at godaddy.com

  2. Navigate to your domains:

    • Click on your profile icon (top right)
    • Select "My Products"
    • Find your domain in the list
  3. Open DNS Management:

    • Click the DNS button next to your domain
    • Or click the three dots (...) and select "Manage DNS"
  4. Review your records: You'll see a table with entries like:

    • A Records - Point to IP addresses (like 192.168.1.1)
    • CNAME Records - Aliases (like www pointing to your main domain)
    • MX Records - Mail servers
    • TXT Records - Verification codes, SPF records
    • NS Records - Nameservers (we'll change these later)

Document Your Records (Optional but Recommended)

Take a screenshot or write down your current DNS records. You'll need this information to verify everything transferred correctly.

Example of what you might see:

Type Name Value TTL
A @ 192.0.2.1 600
CNAME www @ 1 Hour
MX @ mailhost.example.com 1 Hour
TXT @ v=spf1 include:_spf.google.com ~all 1 Hour

Important records to note:

  • A record (@) - Your main domain's IP address
  • CNAME (www) - Usually points to your root domain
  • MX records - If you use custom email (like Google Workspace or Microsoft 365)
  • TXT records - Often used for email authentication (SPF, DKIM)

Step 2: Add Your Domain to Cloudflare

Now let's get your domain set up on Cloudflare.

Create a Cloudflare Account

  1. Go to cloudflare.com

  2. Sign up for a free account:

    • Click "Sign Up"
    • Enter your email and create a password
    • Verify your email address
  3. Add your domain:

    • On the dashboard, click "Add a Site"
    • Enter your domain name (example.com)
    • Click "Add Site"

Choose the Free Plan

  1. Cloudflare will show you plan options
  2. Select the Free plan (it's more than enough for most sites)
  3. Click "Continue"

Review Scanned DNS Records

Cloudflare automatically scans your existing DNS records from GoDaddy:

  1. Cloudflare will display all DNS records it found

    • Review these carefully
    • Compare with your GoDaddy records from Step 1
    • Look for any missing records
  2. Verify critical records are present:

    • Your A record for the root domain (@)
    • www CNAME record
    • MX records (if you use email)
    • Any custom subdomains you've set up
  3. Add any missing records manually: If Cloudflare missed something, click "Add Record" and enter:

    • Type: A, CNAME, MX, TXT, etc.
    • Name: @ for root, www for www subdomain, or custom subdomain
    • Content: IP address, domain name, or other value
    • TTL: Auto is fine
    • Proxy status: Orange cloud for web traffic, gray for DNS-only
  4. Click "Continue" when everything looks correct

Quick Reference: Cloudflare Proxy Status

  • Orange Cloud (Proxied): Traffic goes through Cloudflare's CDN and DDoS protection. Use this for web servers (HTTP/HTTPS).
  • Gray Cloud (DNS Only): Direct connection, bypasses Cloudflare. Use this for mail servers, FTP, SSH, game servers, etc.

Default settings:

  • A records for web traffic: Orange cloud (proxied)
  • MX records: Automatically gray (Cloudflare forces this)
  • Mail-related records: Gray cloud (DNS only)

Step 3: Update Nameservers in GoDaddy

This is the critical step where we point your domain to Cloudflare.

Get Your Cloudflare Nameservers

After adding DNS records, Cloudflare will show you two nameservers. They'll look like:

aldo.ns.cloudflare.com
beatriz.ns.cloudflare.com

Write these down or keep the browser tab open. You'll need them in a moment.

Change Nameservers in GoDaddy

  1. Go back to GoDaddy (keep the Cloudflare tab open)

  2. Navigate to Domain Settings:

    • Go to "My Products"
    • Find your domain
    • Click the three dots (...) next to your domain
    • Select "Manage DNS"
  3. Scroll down to the Nameservers section:

    • You'll see "Nameservers" with current values (usually GoDaddy's nameservers)
    • Click "Change" or "Manage"
  4. Select "I'll use my own nameservers":

    • GoDaddy might show this as "Custom" or "Enter my own nameservers"
  5. Enter Cloudflare's nameservers:

    • Replace the existing nameservers with the two from Cloudflare
    • Example:
      • Nameserver 1: aldo.ns.cloudflare.com
      • Nameserver 2: beatriz.ns.cloudflare.com
    • Delete any additional nameservers (you only need 2)
  6. Save changes:

    • Click "Save"
    • GoDaddy may show a warning about losing DNS settings - that's expected
    • Confirm the change

What Just Happened?

You just told the internet: "When someone asks for example.com, go ask Cloudflare instead of GoDaddy for the DNS records."

Your domain is still registered with GoDaddy. You're still paying GoDaddy for the domain registration. But now Cloudflare handles all the DNS lookups.

Step 4: Verify and Activate in Cloudflare

Now we wait for the internet to catch up.

Confirm the Nameserver Change

  1. Go back to your Cloudflare tab
  2. Click "Done, check nameservers"
  3. Cloudflare will begin checking if the nameservers have been updated

Wait for DNS Propagation

This is the boring part. DNS changes can take anywhere from a few minutes to 24 hours to propagate worldwide. In practice, most changes happen within 30 minutes to 2 hours.

What's happening:

  • DNS servers around the world are updating their cached information
  • Some will pick up the change quickly, others take longer
  • Your site might work for you but not for someone else temporarily

Check Activation Status

  1. Cloudflare will send you an email when your site is active (usually within an hour)

  2. Check status in Cloudflare dashboard:

    • Go to your Cloudflare dashboard
    • Look for your domain
    • Status will change from "Pending" to "Active" when complete
  3. Manual check (optional): You can verify nameservers yourself using a terminal:

    # Check nameservers (Mac/Linux/WSL)
    dig NS example.com +short
    
    # Windows (PowerShell)
    Resolve-DnsName example.com -Type NS

    You should see Cloudflare's nameservers in the results.

Step 5: Enable SSL/TLS in Cloudflare

Once your domain is active, let's turn on that free SSL.

Configure SSL/TLS Settings

  1. In Cloudflare dashboard, select your domain

  2. Go to SSL/TLS section (left sidebar)

  3. Choose encryption mode:

    • Flexible: Cloudflare to visitor is encrypted, Cloudflare to your server is not
      • Use this if your server doesn't have SSL
    • Full: Encrypts both connections but doesn't validate your server's certificate
      • Use this if your server has a self-signed certificate
    • Full (Strict): Full encryption with certificate validation
      • Use this if your server already has a valid SSL certificate

    Recommendation: Start with "Flexible" if you don't have SSL on your server yet. Upgrade to "Full (Strict)" once you install an SSL certificate on your hosting.

  4. Enable "Always Use HTTPS":

    • Go to SSL/TLS → Edge Certificates
    • Toggle "Always Use HTTPS" to ON
    • This automatically redirects http:// to https://

Enable Other Security Features (Optional)

While you're in Cloudflare:

  1. Automatic HTTPS Rewrites:

    • SSL/TLS → Edge Certificates
    • Toggle "Automatic HTTPS Rewrites" ON
    • Fixes mixed content warnings
  2. Minimum TLS Version:

    • Set to TLS 1.2 or higher
    • Disables old, insecure protocols
  3. Enable HSTS (once you're confident everything works):

    • SSL/TLS → Edge Certificates → Enable HSTS
    • Forces browsers to always use HTTPS
    • Warning: Only enable this after testing thoroughly

Verify Everything Works

Let's make sure we didn't break anything.

Test Your Website

  1. Visit your website: https://example.com

    • Should load over HTTPS (look for the padlock icon)
    • No certificate warnings
  2. Test www version: https://www.example.com

    • Should also work with HTTPS
  3. Test HTTP redirect: http://example.com

    • Should automatically redirect to HTTPS version

Test Email (If Applicable)

If you use custom email with your domain:

  1. Send a test email from your domain
  2. Receive a test email to your domain
  3. Check email doesn't go to spam

If email breaks, verify your MX records in Cloudflare match what you had in GoDaddy.

Check DNS Resolution

Use online tools to verify DNS is working:

  • WhatsMyDNS: whatsmydns.net

    • Enter your domain
    • Select "A" record type
    • Check propagation worldwide
  • DNS Checker: dnschecker.org

    • Enter your domain
    • See global DNS propagation status

Troubleshooting Common Issues

Website Shows "Error 522" or "Error 521"

Problem: Cloudflare can't connect to your server.

Solutions:

  1. Verify your A record points to the correct IP address
  2. Check if your hosting firewall is blocking Cloudflare
  3. Whitelist Cloudflare's IP ranges in your server firewall

SSL Certificate Errors

Problem: Browser shows "Your connection is not private"

Solutions:

  1. Wait 30 minutes - Cloudflare is still generating your certificate
  2. Check SSL/TLS mode - try "Flexible" if "Full" doesn't work
  3. Clear your browser cache and try incognito/private mode

Email Stopped Working

Problem: Can't send or receive emails

Solutions:

  1. Check MX records in Cloudflare match GoDaddy's original records
  2. Verify MX records are gray cloud (DNS only), not proxied
  3. Check SPF and DKIM TXT records were copied correctly
  4. Wait for full DNS propagation (up to 24 hours)

Website Loads Slowly or Intermittently

Problem: Site performance is worse than before

Solutions:

  1. Wait for DNS propagation to complete (24 hours)
  2. Clear Cloudflare's cache: Dashboard → Caching → Purge Everything
  3. Check if caching rules are configured properly
  4. Verify proxy status (orange cloud) is enabled for web traffic

"Nameservers haven't changed" in Cloudflare

Problem: Cloudflare still shows "Pending" after updating GoDaddy

Solutions:

  1. Wait longer - DNS changes can take up to 24 hours
  2. Verify you entered nameservers correctly in GoDaddy (no typos)
  3. Try removing and re-adding the nameservers in GoDaddy
  4. Clear your local DNS cache:
    # Mac
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    
    # Windows (PowerShell as Admin)
    ipconfig /flushdns
    
    # Linux
    sudo systemd-resolve --flush-caches

What About Moving the Domain Itself?

Right now, your domain is still registered with GoDaddy, and you're just using Cloudflare for DNS management. This is totally fine and works great.

If you want to transfer your domain registration to Cloudflare (so everything is in one place), that option is available:

Domain Transfer to Cloudflare (Coming Soon)

Cloudflare offers domain registration at wholesale prices (no markup). Benefits include:

  • Lower prices - Pay only what Cloudflare pays to the registry
  • No upsells - No renewal price increases or hidden fees
  • Free WHOIS privacy - Always included
  • Unified management - Everything in one dashboard

Transfer process:

  1. Unlock your domain in GoDaddy
  2. Get the authorization code (EPP code) from GoDaddy
  3. Initiate transfer in Cloudflare
  4. Pay the transfer fee (includes 1-year renewal at wholesale price)
  5. Wait 5-7 days for transfer to complete

Note: Domain transfers extend your registration by 1 year, so you won't lose any time you've already paid for.

I'll be writing a detailed guide on domain transfers soon. For now, using Cloudflare just for DNS works well and gives you all the security benefits.

Best Practices Going Forward

Now that you're on Cloudflare, here are some tips:

Security Settings

  1. Enable WAF (Web Application Firewall):

    • Security → WAF
    • Enable managed rulesets for your platform (WordPress, etc.)
  2. Enable Bot Fight Mode:

    • Security → Bots
    • Free bot mitigation for your site
  3. Set up Page Rules:

    • Rules → Page Rules
    • Create rules for caching static content, redirects, etc.

Performance Optimization

  1. Enable Auto Minify:

    • Speed → Optimization
    • Check JavaScript, CSS, and HTML
  2. Enable Brotli Compression:

    • Speed → Optimization
    • Smaller file sizes = faster loading
  3. Configure Browser Cache TTL:

    • Caching → Configuration
    • Set "Browser Cache TTL" to 4 hours or more

Monitoring

  1. Check Analytics regularly:

    • Cloudflare → Analytics & Logs
    • See traffic patterns and threats blocked
  2. Set up email notifications:

    • Notifications
    • Get alerts for security events or system issues
  3. Review Security Events:

    • Security → Events
    • See what Cloudflare is blocking

Quick Reference Checklist

Use this checklist when migrating DNS:

  • Document current DNS records in GoDaddy
  • Create free Cloudflare account
  • Add domain to Cloudflare
  • Review and verify imported DNS records
  • Note Cloudflare's nameservers
  • Update nameservers in GoDaddy
  • Wait for DNS propagation (check email for confirmation)
  • Configure SSL/TLS in Cloudflare
  • Enable "Always Use HTTPS"
  • Test website loads over HTTPS
  • Test email functionality (if applicable)
  • Verify DNS propagation globally
  • Enable additional security features
  • Set up performance optimizations

Conclusion

Moving your DNS from GoDaddy to Cloudflare is straightforward and gives you enterprise-grade security and performance features for free. Your domain stays registered with GoDaddy, so you can continue managing renewals there, but you get all the benefits of Cloudflare's global network.

The entire process takes about 15-20 minutes of actual work, plus some waiting for DNS propagation. Once active, your site will be faster, more secure, and you'll have much better visibility into your traffic and security events.

Key takeaways:

  • DNS migration is separate from domain registration
  • Free SSL certificates and DDoS protection from Cloudflare
  • No downtime if you plan carefully and verify DNS records
  • Can revert by changing nameservers back to GoDaddy anytime

If you run into any issues during the migration, Cloudflare's support documentation is excellent, and their community forums are very active. Take your time, double-check the DNS records, and you'll be up and running on Cloudflare in no time.

Next Steps

Now that you have your DNS on Cloudflare, you might want to:

Fred

Fred

AUTHOR

Full-stack developer with 10+ years building production applications. I've been deploying to Cloudflare's edge network since Workers launched in 2017.