AdSense "page not reachable" — crawler access problems
AdSense could not fetch your pages, so there was nothing to review. The single most common cause is a robots.txt rule blocking Mediapartners-Google — the AdSense crawler, which is separate from Googlebot. A site can rank perfectly in search while being completely invisible to AdSense.
How to fix it
- Check robots.txt for Mediapartners-Google. Open https://yourdomain.com/robots.txt and look for a Disallow rule under "User-agent: Mediapartners-Google", and for a blanket "Disallow: /" under "User-agent: *". Either one blocks the review.
- Confirm the certificate is valid for every hostname you serve. An expired certificate, or one valid for example.com but not www.example.com, fails the fetch before any content is read.
- Look for a firewall or bot rule rejecting the crawler. Security plugins, Cloudflare bot-fight rules and rate limiting all block unfamiliar user agents by default. Check whether requests from Mediapartners-Google are being challenged.
- Test the site from outside your own network. A site that resolves for you may not resolve globally after a DNS change, and a geo-block can make it unreachable from wherever the review runs.
- Verify the redirect chain ends somewhere real. A redirect loop, or a chain that ends at a 404, presents as unreachable even though the domain responds.
Nothing was reviewed
Unlike the content rejections, this one carries no judgement about your site. The
reviewer never saw it. Something between AdSense and your server returned an
error, a challenge page, or nothing at all.
That makes it purely diagnostic, and it is worth working through the causes in
order of how often they turn out to be the answer.
robots.txt, and the crawler nobody knows about
AdSense does not use Googlebot. It uses Mediapartners-Google, a separate user
agent with separate permissions. This catches people constantly, because a site
can be perfectly indexed, ranking well, and returning green in Search Console
while being entirely closed to AdSense.
Two patterns cause it:
User-agent: Mediapartners-Google
Disallow: /
An explicit block, usually inherited from a robots.txt someone copied years ago.
User-agent: *
Disallow: /
A blanket block, most often left over from a staging environment that was
promoted to production without anyone editing the file.
Check https://yourdomain.com/robots.txt directly. Do not rely on a plugin's
settings screen, which may be describing a file it is no longer writing.
Certificates fail more quietly than you expect
An expired certificate is obvious. The version that causes this rejection usually
is not:
- A certificate valid for
example.combut notwww.example.com, when the
reviewed hostname is the one it does not cover - A chain missing its intermediate certificate, which most browsers work around
by fetching it themselves and most crawlers do not - A renewal that succeeded on disk but was never loaded by the running server
Security tooling blocks the crawler by default
Firewall plugins, Cloudflare's bot protection and rate limiters exist to reject
unfamiliar automated traffic. The AdSense crawler is unfamiliar automated
traffic.
The failure is confusing because a JavaScript challenge returns HTTP 200 with a
page that is not your content. From the crawler's side the site is unreachable;
from your side everything is fine.
If you use Cloudflare, check Bot Fight Mode and any WAF rule matching on user
agent or request rate. If you run a security plugin, check its blocked-request
log for the crawler's user agent rather than trusting its default allowlist.
Test from somewhere that is not your desk
Your machine has your DNS cache, your IP's reputation, and possibly an entry in
your own allowlist. After a DNS change, a domain can resolve for you for days
before it resolves globally. A geo-block can make a site unreachable from
wherever the review happens to run while working perfectly at home.
Fetch the homepage from an external service and read the raw response, including
the redirect chain. A chain that loops, or that ends at a 404, is unreachable in
the way that matters here even though the domain answered.
Frequently asked
- Which crawler does AdSense use?
- Mediapartners-Google. It is a distinct user agent from Googlebot, which is why a site can rank normally in search while AdSense reports it cannot reach the pages. A robots.txt that allows Googlebot but blocks or omits Mediapartners-Google produces exactly this rejection.
- My site loads fine in my browser. Why can AdSense not reach it?
- Your browser sends a normal user agent from your own IP, often with a warm cache and a logged-in session. The crawler is an unfamiliar agent from an unfamiliar address, which is precisely what security plugins, bot-protection rules and rate limiters are configured to block.
- Can Cloudflare cause this?
- Yes. Bot Fight Mode, an aggressive WAF rule, or a firewall rule matching on user agent can all challenge the AdSense crawler. A JavaScript challenge returns a page that is not your content, which is functionally unreachable.
- Does an SSL certificate problem cause this?
- Yes, and it is easy to miss. An expired certificate, a chain missing an intermediate, or a certificate that covers the apex but not the www hostname will all fail the fetch. Browsers sometimes paper over an incomplete chain; crawlers do not.
Check whether this is still blocking you
The free Monetific checker tests your site against this and every other mechanical requirement, and tells you what is still outstanding before you re-apply.
Run the free check