Complete subdomain not working dns guide with step-by-step instructions. Configure A, CNAME, MX, and TXT records for your domain correctly.
ReviewMyDNS is a free DNS propagation checker that queries 50+ global DNS servers to verify your DNS records. Check A, AAAA, MX, CNAME, TXT, NS, and SOA records instantly.
A subdomain that fails to resolve — returning NXDOMAIN, a browser "site can't be reached" error, or loading the wrong site — is almost always a DNS configuration problem. Unlike root domain issues that often stem from nameserver misconfigurations, subdomain failures are typically caused by missing or incorrect individual DNS records. This guide covers the most common causes and how to diagnose and fix each one.
A subdomain only resolves if there is an explicit DNS record for it. Unlike some web servers, DNS does not automatically inherit the parent domain's records — example.com pointing to an IP does not automatically make blog.example.com or app.example.com resolve. You must create a separate A or CNAME record for each subdomain.
How to fix it: Log into your DNS management dashboard (at your DNS hosting provider, not your registrar) and add the missing record:
app.example.com to an IP address: Add an A record with name app and value set to the server's IPv4 address.app.example.com to another hostname: Add a CNAME record with name app and value set to the target hostname.After adding the record, wait for propagation and verify using the DNS propagation checker.
A wildcard record (*.example.com) matches any subdomain not explicitly defined. While useful for catch-all configurations, wildcard records can cause unexpected behaviour when a specific subdomain record exists alongside the wildcard. Resolvers always prefer the more specific record over the wildcard. If a wildcard record exists but a specific subdomain is not resolving correctly, check whether the specific record overrides the wildcard as expected.
To check for wildcard records, query your DNS zone for a * record:
dig A '*.example.com'
If you just added a new subdomain record, allow time for it to propagate. New records typically propagate to most resolvers within 5-60 minutes, but full global propagation can take up to the TTL value (often 3600 seconds or 1 hour). Use the propagation checker to track which global servers have picked up the new record. If propagation seems stuck, verify the record was saved correctly in your DNS dashboard.
CNAME records cannot be used at the root domain (apex). However, this restriction doesn't apply to subdomains — you can freely use CNAMEs for any subdomain other than the root. If your subdomain isn't resolving and you used a CNAME, confirm the CNAME target itself is resolving correctly:
dig CNAME app.example.com
dig A target-hostname.com
If the CNAME points to a hostname that doesn't resolve (for example, a deleted Vercel or Netlify deployment), the subdomain will also fail to resolve.
If you recently changed your domain's nameservers, your DNS records may not yet be visible from all global resolvers. During nameserver propagation (which takes 24-48 hours), some resolvers query your old nameservers and others query the new ones. If your subdomain record was only added to the new nameserver's zone, resolvers still querying the old nameserver won't find it yet.
Check propagation status of your NS records with dig NS example.com from multiple locations or use the propagation checker to see which nameservers are visible worldwide.
Use these commands to diagnose subdomain DNS failures:
# Check if the subdomain has an A or CNAME record
dig A app.example.com
dig CNAME app.example.com
# Trace the full resolution path
dig +trace app.example.com
# Query the authoritative nameserver directly
dig A app.example.com @ns1.yourprovider.com
If dig +trace shows an NXDOMAIN at the authoritative step, the record is missing in the zone. If it shows an NXDOMAIN at the TLD delegation step, the nameservers themselves may have an issue. See the NXDOMAIN error guide and the DNS not propagating fix guide for further troubleshooting. Use the MX record lookup if your subdomain issue is email-related.
Many subdomain issues arise when connecting a custom subdomain to a hosting platform. Each platform has specific DNS requirements:
your-site.netlify.app). See DNS for Netlify for the complete configuration.cname.vercel-dns.com for subdomains, or an A record at the apex.your-service.onrender.com. See DNS for Render for full details.username.github.io. See DNS for GitHub Pages.After adding a record for a hosting platform, you must also configure the custom domain within that platform's dashboard — the DNS record alone is not enough. The platform needs to know your domain so it can route requests and issue an SSL certificate. Use the propagation checker to confirm the CNAME or A record is resolving globally, then verify the domain in the platform's settings.