PageSpeed Unable to Resolve URL: How to Fix DNS_FAILURE
PageSpeed Unable to Resolve URL: How to Fix DNS_FAILURE
You paste your URL into PageSpeed Insights, hit Analyze, and get this instead of a score: “Lighthouse returned error: DNS_FAILURE. DNS servers could not resolve the provided domain.” Your site opens fine in your browser, which makes it more confusing. When PageSpeed is unable to resolve a URL, the problem is almost never your website’s code. It’s your domain’s DNS, and it’s usually fixable in under 30 minutes.

What Does “Unable to Resolve URL” Mean in PageSpeed Insights?
It means Google’s test servers could not translate your domain name into an IP address, so Lighthouse never reached your server at all. This is a DNS lookup failure, not a performance problem.
That distinction matters. Images, plugins, hosting speed, and caching have zero effect here, because the test fails before a single byte of your page loads. Any time spent tweaking WordPress settings is wasted until DNS is fixed.
Why Does Your Site Load for You but Fail in PageSpeed?
Your computer and your internet provider cache DNS answers. If you changed hosts yesterday, your browser may still be using an old, working answer while the public internet sees something broken.
There’s a second reason developers miss. Google’s public resolvers validate DNSSEC strictly, while many ISP resolvers are more forgiving. A misconfigured DNSSEC setup can therefore work on your home connection and fail everywhere Google looks. A local hosts-file entry, common during site migrations, creates the same illusion.
Common Causes of the PageSpeed DNS_FAILURE Error
Six causes account for nearly every case. Match your situation against this table before changing anything:
| Cause | How to spot it | Fix |
| Typo or wrong subdomain | The URL has a misspelling, or you tested www when only the bare domain exists (or the reverse). | Copy the URL straight from the browser address bar and test again. |
| Missing A/AAAA or CNAME record | dig returns nothing for that hostname, even on public resolvers. | Add the record at your DNS provider, pointing to your host’s IP or target. |
| DNS change still propagating | You changed nameservers or records in the last 24 to 48 hours. | Wait, then flush the Google Public DNS cache for your domain. |
| Broken DNSSEC | Public resolvers return SERVFAIL, but the same lookup with +cd works. | Remove the old DS record at your registrar, or add the correct new one. |
| Expired domain or dead nameservers | WHOIS shows expiry, or NS records point to an old host you left. | Renew the domain and point nameservers to your current DNS provider. |
| Staging or internal-only URL | The site lives on localhost, a hosts-file entry, or a private network. | Test a public URL, or run Lighthouse locally in Chrome DevTools. |
How to Fix PageSpeed “Unable to Resolve URL” Step by Step
Step 1: Confirm the exact URL
Copy the address directly from your browser bar, including https:// and the correct subdomain. Testing www.example.com when only example.com has a DNS record is one of the most common reasons for this error.
Step 2: Look up your domain from outside your network
Run these commands in a terminal. The first uses your local resolver; the second asks Google Public DNS directly:
dig +short blog.example.com A
dig @8.8.8.8 blog.example.com A
If the Google query returns no IP address, the record is missing or not yet visible. Not comfortable with the terminal? The web tool at dns.google gives the same answer in a browser.
Step 3: Rule out DNSSEC
If the Google query returns SERVFAIL, repeat it with the +cd flag, which turns off DNSSEC checking:
dig @8.8.8.8 blog.example.com A +cd
An IP address on this second query confirms DNSSEC is the problem. This typically happens after moving to a new DNS provider such as Cloudflare while the registrar still holds the old DS record. Delete the old DS record, or replace it with the one your new provider gives you. DNSViz (dnsviz.net) will show exactly where the signature chain breaks.
Step 4: Wait out propagation, then flush Google’s cache
Record changes usually appear within a few hours; nameserver changes can take up to 48. Once your records look correct, use the Google Public DNS Flush Cache tool to clear the stale answer for your domain.
Step 5: Retest in PageSpeed Insights
Run the test again. If you now get a different error, that’s progress: it means DNS works and the issue has moved further down the connection.
DNS_FAILURE vs FAILED_DOCUMENT_REQUEST: Which Error Do You Have?
These errors look similar but have different causes, and mixing them up sends you in the wrong direction.
- DNS_FAILURE: Google could not find your server’s IP address. Fix your DNS.
- FAILED_DOCUMENT_REQUEST: Google found your server, but the connection failed or timed out. Check firewalls, security plugins, and bot-protection rules that may block Google’s test servers.
- ERRORED_DOCUMENT_REQUEST: Your server responded with an error status such as 403 or 404. Check the page itself and your server rules.
Frequently Asked Questions
Why does PageSpeed say it can’t resolve my URL when my site works?
Your browser may be using a cached DNS answer or a hosts-file entry. PageSpeed Insights runs from Google’s servers and needs a fresh, valid DNS lookup. If your public DNS records are missing, still propagating, or have a DNSSEC error, the test fails even though the site loads for you.
Can a caching or speed plugin cause the DNS_FAILURE error?
No. DNS_FAILURE happens before Lighthouse contacts your server, so WordPress plugins, themes, and caching settings cannot cause it. The fix is always in your domain’s DNS configuration or the URL you entered.
How long does DNS propagation take before PageSpeed works?
Most record changes are visible within a few hours, but nameserver changes can take up to 48 hours. You can speed up Google’s side by flushing your domain in the Google Public DNS cache tool, then retesting.
How do I know if DNSSEC is the problem?
Run dig @8.8.8.8 yourdomain.com. If it returns SERVFAIL, run it again with +cd added. If the second query returns an IP address, DNSSEC validation is failing, usually because of an outdated DS record at your registrar.
What is the difference between DNS_FAILURE and FAILED_DOCUMENT_REQUEST?
DNS_FAILURE means Google could not find your server’s IP address at all. FAILED_DOCUMENT_REQUEST means Google found the server but the connection failed or timed out, often because a firewall or security rule blocked it.
Get Your PageSpeed Test Working Again
Start with Step 2: one dig query against 8.8.8.8 tells you within seconds whether you’re dealing with a missing record, slow propagation, or broken DNSSEC. Once PageSpeed Insights can reach your site, the real work of improving Core Web Vitals begins. If you’d rather hand it off, MZA Dev provides professional website speed optimization and Core Web Vitals fixes, along with custom full-stack web development. Contact the team to get your site tested, diagnosed, and fixed.

