You submitted your site to AdSense and the dashboard shows “Getting ready” or “Your site needs review.” It’s been a week. Two weeks. Some forum posts say “mine took 24 hours, you’re rejected” — those posts are wrong. AdSense’s official wording is that review “usually takes a few days, but it can sometimes take longer.” There is no published SLA. 1-4 weeks is the normal band; 6-8 weeks happens; rare cases hit 90+ days.
The two real questions: (1) is the delay caused by Google’s queue or by a problem on your site? (2) what should you change while waiting?
Common causes
Ordered by hit rate, highest first.
1. Normal review queue (~70% of cases)
If you submitted in the last 3 weeks and your site meets the basics (15+ articles, About/Privacy/Contact pages, mobile-friendly, no policy violations), you’re probably just in the queue. Nothing is wrong. Waiting is the fix.
How to spot it: Check AdSense → Sites. If status is “Getting ready” or “Needs review” with no specific issue listed, and you submitted < 3 weeks ago, it’s the queue.
2. AdSense crawler can’t fully access your site
Google’s review bot must crawl the site. If your robots.txt blocks too much, you have a CDN bot wall, or pages return 5xx, the reviewer can’t see your content and the review stalls.
How to spot it: In Search Console → Settings → Crawl stats, look for Mediapartners-Google user-agent activity. If it’s not appearing, or it’s hitting errors, the AdSense bot is being blocked.
3. Site has the wrong “country” or ownership setup
If the AdSense account country doesn’t match your site’s actual hosting region, or the AdSense code on the site doesn’t match the AdSense account ID, review can stall in a soft-loop where neither approval nor rejection fires.
How to spot it: In AdSense → Sites, click your site. The “Status” widget will show a more specific message if there’s a configuration mismatch. If it’s silent, this is probably not your issue.
4. Domain is brand-new
A domain registered < 30 days ago is harder to review — there’s no history. Some publishers report that domains under 1 month always sit longer.
How to spot it: whois yourdomain.com | grep "Creation Date". If it’s < 30 days, expect a longer wait.
5. You added the site to AdSense but never placed the code
The AdSense code (auto-ads snippet or ads.txt) needs to be on the site for review to complete. If you only “added the site” in the dashboard but didn’t actually paste the code, the review will hang.
How to spot it: curl -s https://yourdomain.com | grep -E "adsbygoogle|ca-pub-". If empty, your code isn’t installed.
6. Content scrape protection blocks the reviewer
Some hosts (Cloudflare with strict bot fight, WAFs with bot challenges) treat the Googlebot/Mediapartners variant as suspicious and serve a challenge page. The reviewer sees a Cloudflare interstitial, not your content.
How to spot it: In Cloudflare → Security → Events, filter by user agent containing Mediapartners-Google. If you see challenges or blocks, this is it.
Shortest path to fix
You can’t speed up the Google queue. What you can do is make sure nothing on your end is the bottleneck.
Step 1: Confirm the AdSense code is installed
curl -s "https://yourdomain.com" | grep -oE 'ca-pub-[0-9]+'
You should see your publisher ID (ca-pub-XXXXXXXXX). If not, paste the AdSense snippet from AdSense → Sites → Get code into your site’s <head>. For Astro / Next, this goes in your root layout.
Verify it loads in the browser DevTools → Network — adsbygoogle.js should return 200.
Step 2: Unblock the AdSense crawler
Check your robots.txt:
curl -s https://yourdomain.com/robots.txt
There should be no rules denying Mediapartners-Google or *. If you have any of these, remove them:
User-agent: Mediapartners-Google
Disallow: /
If you’re on Cloudflare with “Bot Fight Mode” or “Super Bot Fight Mode” enabled:
- Security → Bots → set Bot Fight Mode to Off, or
- Add a WAF skip rule for user agents matching
Mediapartners-GoogleorAdsBot-Google.
Step 3: Confirm trust pages exist and are reachable
for path in /about /privacy /contact /terms; do
echo -n "$path: "
curl -s -o /dev/null -w "%{http_code}\n" "https://yourdomain.com$path"
done
All four should return 200. If you’re missing /about or /privacy, create them — these are the pages reviewers explicitly look for.
Step 4: Keep publishing during the wait
A common trap: people stop publishing while in review, the site looks stagnant when a reviewer eventually opens it, and that hurts. Publish 1-2 new substantial articles per week during the review window. The reviewer doesn’t see your dashboard — they see the live site at the moment they review.
Step 5: Do NOT resubmit repeatedly
There is no “resubmit” button. The only thing close is removing and re-adding the site, which:
- Resets your position in the queue (you go back to the end).
- Doesn’t help and often hurts.
Resist this. Wait it out.
Step 6: After 6 weeks, contact support
After 6 weeks of “Needs review” with no change, you can submit a contact form referencing your publisher ID and the date you added the site. Don’t expect a fast response, but the timestamp is now logged.
Easy to misdiagnose as
This is not a rejection. Reviews can take days to weeks. If your overall AdSense account was already approved on another property and only this new site is stuck on “Getting ready”, that is a different per-site review path — see account approved but this site stays pending.
Prevention
- Apply only after you have 25-40 substantial articles and a domain at least 30 days old.
- Have About, Privacy, Contact, Terms pages live before submitting.
- Make sure no WAF / bot wall blocks Google user agents before submitting.
- Keep publishing 1-2 articles per week during review; don’t go silent.
- Don’t remove-and-re-add the site to “force” a re-review — it resets your queue position.