IPv6 and AAAA Records: Why Your Site Fails on Some Networks
A customer emailed us last week convinced his site was down. It loaded fine on our end, loaded fine on his laptop over office Wi-Fi, but failed to connect on his phone over Jio's mobile data. That mismatch almost always comes down to one thing: IPv6. Here's what an AAAA record actually does, when you need one, and how to fix the "works on some networks, not others" problem.
What an AAAA Record Actually Is
You already know the A record — it maps your domain to an IPv4 address like 103.21.58.10. An AAAA record does the same job for IPv6, mapping your domain to an address like 2401:4900:1c1f:8a3::1. Browsers and mail servers check for both when they resolve your domain, and increasingly they prefer IPv6 when it's available (this is called "Happy Eyeballs" — the client races both connections and uses whichever responds first).
The problem shows up when a domain has an AAAA record pointing at an address that isn't actually listening — or has no AAAA record at all while the visitor's ISP strongly prefers IPv6. Either way, something has to time out before the connection falls back to IPv4, and that delay is what customers describe as "the site is slow" or "the site doesn't load on my phone."
Do You Actually Need IPv6 for Your Website?
Short answer: not urgently, but it's worth understanding your exposure. A few honest points:
- It's not an SEO factor. Google doesn't rank IPv6-enabled sites higher. Ignore any claim that says otherwise.
- Mobile carriers in India are heavily IPv6. Jio in particular runs IPv6-first infrastructure with NAT64/464XLAT translation for IPv4-only destinations. Most of the time this translation works transparently — but misconfigured DNS (an AAAA record with no real listener behind it) breaks the fallback path.
- Most shared hosting and budget VPS plans are IPv4-only, and that's completely fine. The internet's transition to IPv6 has been "in progress" for over a decade; IPv4 isn't going away soon.
- The only real trigger to care is if you're on a VPS where someone (you, a past admin, a migration script) added an AAAA record without confirming the server has a working IPv6 address bound to it.
Symptom: Site Unreachable or Slow on Some Networks Only
What you'll see: the site loads instantly on office broadband, but on mobile data — or from certain countries — it hangs for 10-20 seconds before either loading or timing out completely. Support tickets usually read "works for me, not for my customer" with no obvious server-side error.
Cause: a stale or broken AAAA record. This happens more often than people expect:
- A previous VPS provider assigned an IPv6 address, you migrated to Getwebup (or anywhere IPv4-only), and the old AAAA record never got removed.
- A CDN or DNS template added a placeholder AAAA record automatically (Cloudflare's "auto" DNS suggestions do this sometimes) without checking if origin actually serves IPv6.
- The AAAA record is correct, but the server's firewall (ip6tables/UFW6) is blocking inbound IPv6 traffic on ports 80/443 while IPv4 is open.
How to Check If You Have an AAAA Record
From any machine with a terminal:
dig AAAA yourdomain.com +short
dig A yourdomain.com +short
If the first command returns an address and the second also returns one, you're running dual-stack. If the AAAA lookup returns nothing, you're IPv4-only — which is a perfectly normal, working state.
To check whether the IPv6 address actually answers, test it directly:
curl -6 -I https://yourdomain.com
If that hangs or refuses the connection while curl -4 -I https://yourdomain.com works fine, you've found your bug: the DNS record exists but nothing is listening.
Fixing a Broken AAAA Record
You have two options, and for 95% of small business sites the first is the right call.
Option 1: Remove the AAAA record
If your server (or Getwebup plan) doesn't have IPv6 configured, the cleanest fix is to delete the stale AAAA record entirely. In cPanel:
- Log in to cPanel → open Zone Editor under the Domains section.
- Select the domain, find the record with type
AAAA. - Click Delete next to it, then confirm.
DNS changes here typically propagate within 15-60 minutes for most resolvers, though full global propagation can take up to 24-48 hours depending on cached TTLs.
Option 2: Fix the server so IPv6 actually works
If you do want IPv6 (useful if you run your own mail server, an API with international clients, or want to future-proof a VPS), confirm the server has a real IPv6 address and the web server is bound to it:
# Check the interface has an IPv6 address
ip -6 addr show
# Confirm Nginx/Apache is listening on IPv6
ss -tlnp | grep ':443'
For Nginx, the listen directive needs an explicit IPv6 line:
listen 443 ssl http2;
listen [::]:443 ssl http2;
Then open the firewall for IPv6 the same way you would for IPv4 — UFW and CSF both apply rules to both stacks by default, but double-check with ip6tables -L if traffic is still being dropped.
Quick Reference
| Symptom | Likely Cause | Fix |
|---|---|---|
| Site slow only on mobile data | AAAA record with no live IPv6 listener | Delete the AAAA record or bind the web server to IPv6 |
| Mail delivery fails intermittently | Mail server has AAAA but no reverse DNS (PTR) for IPv6 | Remove AAAA on mail subdomain, or set up an IPv6 PTR with your provider |
| curl -6 hangs, curl -4 works | Firewall blocking IPv6 on web ports | Add explicit ip6tables/UFW allow rules for 80/443 |
| No AAAA record at all | Server never had IPv6 assigned | Nothing to fix — this is a normal, working IPv4-only setup |
Prevention
Whenever you migrate hosting or change DNS providers, explicitly check for leftover AAAA records — they're one of the easiest things to forget because IPv4 keeps working and masks the problem for most visitors. If you're not intentionally running IPv6, don't add an AAAA record "just in case." A half-working dual-stack setup is worse than a clean IPv4-only one, because it fails silently for a subset of visitors instead of failing (or working) consistently for everyone.
If you're on a Getwebup VPS and want IPv6 enabled for a specific project — a mail server, an API gateway, anything where international IPv6-only clients matter — open a support ticket and we can check whether your plan's network supports an IPv6 allocation before you build anything on top of it.
Frequently asked questions
Do I need an AAAA record for my website to work?
No. Most websites run perfectly well on IPv4 alone using only an A record. An AAAA record is only needed if you specifically want your site reachable over IPv6, and it should only be added once you've confirmed your server actually has a working IPv6 address bound to it.
Why does my site work on Wi-Fi but not on mobile data?
This is almost always an IPv6 issue. Many mobile carriers, especially in India, run IPv6-first networks. If your domain has a stale or broken AAAA record, IPv6-preferring devices try that address first, get no response, and only fall back to IPv4 after a delay — or fail outright.
How do I remove an AAAA record in cPanel?
Go to cPanel, open Zone Editor, select your domain, find the row with type AAAA, and click Delete. Changes usually take effect within 15-60 minutes, though full propagation can take up to 48 hours.
Does adding IPv6 improve my Google ranking?
No. IPv6 support has no direct effect on search rankings. It only affects reachability for visitors on IPv6-preferring networks.
Does Getwebup support IPv6 on VPS plans?
IPv6 availability depends on the specific plan and data center. If your project needs it, contact Getwebup support to confirm allocation before configuring an AAAA record.