AdSense "Site Down or Unavailable": Causes and Fixes
Approvalens · Updated October 4, 2026 · 6 min read
"Site down or unavailable" means the AdSense crawler tried to load your site during review and did not get a usable page back. Your site may work perfectly in your browser; what matters is what Google's crawler received from its own network, with its own user agent, at the moment it checked. The cause is nearly always technical (DNS, SSL, a firewall, robots.txt, a wrong URL or downtime), so it is one of the more fixable rejections.
What the message actually means
The label appears in the AdSense Sites page, not in a dedicated help article. Google's documentation covers the same ground under "Your site is unreachable" in Site not ready to show ads, which asks a series of questions:
- "Is your site up and running? Make sure your site is published and live on the web."
- "Did you provide the correct URL?"
- "Can AdSense access your site without a password?"
- "Does your site have a valid SSL Certificate from a recognized certification authority (not a self-signed certificate) and does it also redirect HTTP to HTTPS?"
The Connect your site page adds one more: "Can the AdSense crawler access your site? Make sure you're not blocking our crawler in your robots.txt file."
So the rejection is not a judgement about your content. The reviewer may never have seen it.
The usual causes
| Cause | Typical symptom | How common |
|---|---|---|
| Firewall or bot protection challenges Google | Cloudflare "Just a moment..." page, 403 or 503 for bots | Very common |
| robots.txt blocks Mediapartners-Google | User-agent: Mediapartners-Google + Disallow: / |
Common on copied robots files |
| www and non-www mismatch | example.com works, www.example.com does not resolve (or the reverse) |
Common |
| SSL problem | Expired or self-signed certificate, certificate for the wrong host name | Common |
| No HTTP→HTTPS redirect, or a redirect loop | http:// serves a different site, or bounces forever |
Occasional |
| Downtime during review | Shared hosting overloaded, server restarted, plan expired | Occasional |
| Geo-blocking | Hosting or plugin blocks traffic from the US | Common on local hosting |
| Maintenance or "coming soon" mode | Plugin shows a placeholder to logged-out visitors | Common on new WordPress sites |
| Login wall | Whole site behind a password or member area | Occasional |
| Typo in the submitted URL | exmaple.com or an old domain |
Rare but real |
Geo-blocking deserves a note. Google's crawlers mostly come from US IP addresses. If your host or a security plugin blocks "foreign" traffic to cut spam, Google is foreign.
Test the site the way the crawler sees it
Your browser is the worst test because it carries cookies, a solved challenge and your local network. Use a terminal (or an online HTTP checker) and look at raw responses.
Check DNS for both host names:
dig +short example.com
dig +short www.example.com
Both should return an address (or a CNAME that resolves). If one is empty, add the missing record.
Check the HTTP to HTTPS redirect:
curl -sI http://example.com/ | head -n 3
You want HTTP/1.1 301 Moved Permanently (or 308) with Location: https://example.com/.
Check the page with the AdSense crawler's user agent:
curl -sI -A "Mediapartners-Google" https://example.com/
curl -s -A "Mediapartners-Google" https://example.com/ | head -c 600
A 200 with your real HTML is good. A 403, 429, 503, or HTML containing Just a moment... or /cdn-cgi/challenge-platform means something in front of your site is blocking bots. Keep in mind this test comes from your IP, not Google's, so a pass here is encouraging but not proof.
Check robots.txt:
curl -s https://example.com/robots.txt
Look for a group that names Mediapartners-Google with Disallow: /. The robots.txt guide explains how the groups are read.
Check the certificate:
curl -vI https://example.com/ 2>&1 | grep -E "expire|subject|issuer"
Fixes by cause
Firewall, CDN and security plugins
If you use Cloudflare, check Security Events for blocked requests from Google user agents and look at Bot Fight Mode, "I'm Under Attack" mode, country rules and custom WAF rules. The Cloudflare guide walks through each setting. On WordPress, security plugins (Wordfence, iThemes/Solid Security, All In One WP Security) and server firewalls (Imunify360, ModSecurity) can rate-limit or block crawlers. Look at their logs for blocked requests whose user agent contains Google, and allowlist verified Google crawlers rather than turning protection off entirely.
robots.txt
Remove any Disallow: / under a Mediapartners-Google group. A User-agent: * block does not stop Mediapartners-Google, because it ignores the * group, but it does stop Googlebot, which causes other problems. A safe minimum:
User-agent: Mediapartners-Google
Disallow:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
Domain, www and redirects
Pick one canonical host (for example https://example.com) and 301-redirect every other variant to it: http://example.com, http://www.example.com, https://www.example.com. Make sure both DNS names exist, otherwise one variant fails outright. If you submitted the wrong URL, Google's advice is to remove the site from your sites list and add it again with the correct one.
SSL
Use a certificate from a recognised authority (Let's Encrypt is fine) that covers both example.com and www.example.com. Set up automatic renewal and check the expiry date before you resubmit.
Hosting, uptime and geo-blocking
Set up a free uptime monitor that checks every five minutes from several regions, including the US. If you see repeated outages, the review may have landed on one. Remove country blocks, or at least exempt verified Google crawlers from them.
Maintenance mode and logins
Turn off "coming soon" and maintenance plugins before you apply, and make sure the home page and articles are visible to logged-out visitors. AdSense's own wording: "If your site's login protected, consider temporarily removing the login so that we can reach your site."
Resubmitting
Once every test above passes, go to Sites in AdSense, open the site, confirm that you have fixed the issues and request a review. Keep the AdSense code or meta tag in place. Do not switch DNS, hosting or CDN settings during the review, because a site that is reachable today and broken tomorrow is how many people get this rejection twice. Our approval checklist lists the other items worth checking at the same time, and the general pre-application checklist covers content and policy.
Check reachability for free
A free scan fetches your home page and internal pages, follows redirects, reads robots.txt and flags firewall challenges. Run a free scan to see what it finds.
FAQ
My site loads fine for me. Why does AdSense say it is down?
Your browser is not Google's crawler. Firewalls, geo-blocks and bot protection often treat the two differently. Test with the crawler's user agent and from outside your own network.
Does a User-agent: * disallow cause this rejection?
Not directly for AdSense, because Mediapartners-Google ignores the * group. It does block Googlebot, which can stop ads.txt from being read and makes content harder to evaluate, so remove it unless you have a reason.
How long after fixing should I resubmit?
As soon as the tests pass. Leave a day for DNS or certificate changes to settle if you made any.
Can I get this rejection if my site was down for only a few minutes?
It is possible if the check happened in that window. That is why uptime monitoring and a stable setup during review matter.
Check your own site
Free scan: readiness score and every issue, usually in a few minutes.