Your AdSense account was approved 2 years ago. Site #1 is earning. You added Site #2 last month. AdSense → Sites → Site #2 says “Getting ready” and won’t budge. You think “but my account is approved” — and that’s the misunderstanding. Account approval ≠ per-site approval. Since 2018, Google has reviewed each domain independently for serving ads, even on already-approved accounts. The good news: you don’t lose your existing earnings. The bad news: this new site goes through the full review queue.
This article covers why per-site review exists, what AdSense actually checks for on a new site, and how to shorten the wait.
Common causes
Ordered by hit rate, highest first.
1. Site is too new
A domain registered or first crawled by Google less than 1-3 months ago is harder to evaluate. Even with great content, AdSense often holds new domains in queue.
How to spot it: whois yourdomain.com | grep "Creation Date". If < 30 days, expect a long wait. < 7 days, very long.
2. Site has under ~25 substantial articles
AdSense doesn’t publish a minimum, but in practice indie publishers report ~25-40 substantial articles is the threshold for passing per-site review.
How to spot it: Count your published articles. Substantial = 800+ words, original, not auto-generated.
3. Site is not fully crawlable
robots.txt blocks, noindex meta tags, basic-auth login wall, password-protected sections, or CDN bot challenges all prevent AdSense’s review crawler from seeing your content.
How to spot it:
curl -sA "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://yourdomain.com | head -50
Should return real article HTML, not a login or challenge page.
4. New site has no organic traffic yet
AdSense partly uses search traffic as a “Google has indexed and ranks this site” signal. Zero impressions in Search Console = AdSense can’t verify the site has real users.
How to spot it: Search Console → Performance → last 28 days. If 0 impressions, this is a factor.
5. New site duplicates content from your other approved site
If you copy-pasted content from Site #1 to Site #2 (a common mistake when building a portfolio), AdSense’s duplicate detection flags it. Even paraphrased content gets caught.
How to spot it: Pick 3 random paragraphs from new site, paste into Google with quotes. If your other approved site comes up, you have duplicates.
6. Ownership not verified or AdSense code not installed
You added the site in AdSense but never completed verification (TXT record, HTML file, or meta tag), or the AdSense snippet isn’t on every page.
How to spot it: AdSense → Sites → click your site. If verification badge is missing, that’s it. Also curl -s https://yoursite.com | grep ca-pub- should return your publisher ID.
7. Site has a noindex meta tag (often accidental)
Many starter templates default to <meta name="robots" content="noindex"> and you never flipped it. AdSense respects it: noindex pages can’t host ads.
How to spot it:
curl -s https://yoursite.com | grep -i 'meta name="robots"'
Should not contain noindex.
Shortest path to fix
Step 1: Verify ownership completes
In AdSense → Sites → click your site → “Verify ownership.” Use:
- HTML file method: download the file, place at site root, redeploy.
- Meta tag: add to root layout
<head>. - TXT record (preferred for static sites): add to your DNS.
After deploying, click “Verify.” Should show ✓.
Step 2: Confirm AdSense code is on every page
for path in / /about /privacy $(curl -s yoursite.com/sitemap.xml | grep -oE 'https://[^<]+' | head -10); do
echo -n "$path: "
curl -s "$path" | grep -c "ca-pub-"
done
Each should print 1 or more. If 0, the snippet isn’t there.
Step 3: Remove crawl blocks
Check:
curl -s https://yoursite.com/robots.txt
curl -s https://yoursite.com | grep -i 'noindex\|nofollow'
robots.txt should NOT have Disallow: / for * or Mediapartners-Google. Pages should NOT have noindex.
Step 4: Confirm Search Console has indexed pages
GSC → Indexing → Pages. Should show 20+ “Valid” pages. If 0, request indexing for the top 10 URLs and wait.
Step 5: Differentiate from your other approved sites
If you suspect duplicate content with another property, rewrite at least 80% of the overlapping articles. Add unique angles, original data, or first-person experience.
Step 6: Stop reapplying
There’s no “reapply” button per se. Removing and re-adding the site:
- Resets your queue position.
- Doesn’t speed up review.
- Looks like manipulation to AdSense.
Wait it out. Per-site reviews for established accounts typically resolve in 2-6 weeks once eligibility criteria are met.
Step 7: After 8 weeks, contact support
If verified-correct setup, 25+ substantial articles, indexed in GSC, and 8 weeks have passed: use the policy contact form with your publisher ID + site URL + date added.
When this is not on you
AdSense per-site review timing is opaque. There’s no SLA. Some sites approve in days, some take 2 months for no apparent reason. The criteria are not deterministic.
Easy to misdiagnose as
Reapplying repeatedly doesn’t help. The “account” is approved separately; the “site” review uses different signals (domain age, crawlability, content depth) that don’t shortcut just because your account is in good standing.
Prevention
- Build any new site to 25+ substantial articles before adding to AdSense.
- Wait until the domain is 1-3 months old before submitting.
- Get at least some organic traffic from Search Console first.
- Don’t duplicate content across your AdSense-monetized sites.
- Verify ownership and code placement immediately after adding, don’t wait.
FAQ
- Do all sites under one account use the same approval? No — each domain is reviewed independently.
- Can I run ads while pending? No — the AdSense slot returns
unfilleduntil the site is approved.
Related
- AdSense site needs review
- AdSense low value content rejection
- Duplicate site / domain confusion during review
- Many pages but still too thin for review
Tags: #AdSense #Monetization #Troubleshooting #Pending review