Fix Live GSC Errors: Crawled But Not Indexed, Discovered But Not Indexed & All Coverage Issues
- 78% of websites have "Crawled but not indexed" pages
- Average site loses 15-30% potential traffic to indexing issues
- Fix time: 1-4 weeks depending on issue severity
- 50%+ of pages marked "noindex" are actually index-worthy
Table of Contents
- GSC Coverage Status Overview
- 1. Crawled But Not Indexed (Most Common)
- 2. Discovered But Not Indexed
- 3. Excluded by Noindex Tag
- 4. Alternate Page with Canonical Tag
- 5. Duplicate Without Canonical
- 6. Blocked by Robots.txt Issues
- 7. Redirect Errors & Chains
- 8. Soft 404 Issues
- 9. Not Found (404) Errors
- 10. Server Errors (5xx)
- Prevention Strategy
- FAQ & Troubleshooting
Understanding GSC Coverage Status Overview
Google Search Console shows pages in different status categories. Understanding these distinctions is critical to fixing indexing problems.
GSC Coverage Status Hierarchy
| Status | Google Found? | Google Crawled? | Google Indexed? | Shows in Search? | Priority |
|---|---|---|---|---|---|
| Valid | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | None |
| Valid with warning | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | Low |
| Crawled, not indexed | ✅ Yes | ✅ Yes | ❌ No | ❌ No | Medium |
| Discovered, not indexed | ✅ Yes | ❌ No | ❌ No | ❌ No | Medium |
| Error (5xx, 404, 403) | ✅ Yes | ❌ No | ❌ No | ❌ No | Critical |
| Excluded (noindex) | ✅ Yes | ✅ Yes | ❌ No | ❌ No | 5. Duplicate Without CanonicalNeed Help s-badge status-high">High |
The Google Indexing Timeline
Issue #1: Crawled But Not Indexed (Most Common)
Why Google Doesn't Index Crawled Pages
| Reason | Frequency | Fixable? | Fix Difficulty |
|---|---|---|---|
| Low-quality or thin content (<300 words) | 35% | ✅ Yes | Easy |
| Duplicate of another page | 25% | ✅ Yes | Easy |
| Noindex tag present (but you didn't intend) | 15% | ✅ Yes | Easy |
| Very new page (crawled but not evaluated) | 15% | ✅ Yes | Wait 2-4 weeks |
| Redirect chain or issues | 5% | ✅ Yes | Medium |
| Server too slow (crawl budget issue) | 5% | ✅ Yes | Hard |
Step-by-Step Solution for "Crawled But Not Indexed"
Step 1: Verify the Issue in GSC
Step 2: Check for Noindex Tag (Accidental)
- Visit the page in browser
- Right-click → View Page Source
- Search for:
noindex - Look for line like:
- If found and shouldn't be there, remove it
- Also check robots.txt file (example.com/robots.txt)
Step 3: Analyze Page Quality
- Word count: At least 300 words (preferably 800+)
- Unique content: Is it duplicate of another page?
- Value proposition: Does it answer user's search query?
- Freshness: When was it last updated?
- Authority: Does it have credible sources/links?
- User engagement: Is it engaging or boring?
- Expand page to 800+ words minimum
- Add detailed explanations
- Add examples and use cases
- Add visuals (images, videos, charts)
- Add internal links to related content
- Wait 1-2 weeks for re-crawl
Step 4: Check for Duplicate Content
- Copy unique sentence from the page (10+ words)
- Search Google:
"exact phrase in quotes" - If same content appears on other sites, it's duplicate
- Solution: Add more original content, or use canonical tag
Using Canonical Tag for Duplicate Pages:
Add this to the <head> section of the page.
Step 5: Check Page Load Speed
- Go to PageSpeed Insights (pagespeedinsights.web.dev)
- Enter the URL
- Check Mobile score (should be 50+)
- Check Core Web Vitals (LCP < 2.5s)
- If slow, optimize images and code
Step 6: Request Revalidation
- Go back to GSC Coverage report
- Click on "Crawled, not indexed"
- Select affected URLs
- Click "Validate Fix" button
- Google will re-crawl within 24-48 hours
Real-World Case Study: E-Commerce Website
The Problem:
Fashion retailer had 2,000 product pages marked "Crawled, not indexed" despite good sales.
Root Cause:
Product pages had only 150 words (product title, price, "Add to cart" button). Google thought content was too thin.
The Fix:
- Added 500-word product descriptions
- Added customer reviews section
- Added "Size Guide" and care instructions
- Added related product recommendations
Results:
✅ Within 3 weeks, 80% of pages indexed
✅ Within 2 months, 95% of pages indexed
✅ Organic traffic increased 45%
✅ Search visibility increased by 2X
Issue #2: Discovered But Not Indexed (Second Most Common)
Why This Status Occurs
- Very New Pages: Recently created, Google hasn't gotten to it yet
- Low Authority Site: Google crawls authority sites more frequently
- Low Crawl Budget: Too many pages on site, Google can't crawl all
- Internal Link Depth: Page is 4+ clicks from homepage
- Page Priority: Marked low priority in sitemap
- Server Speed: Slow responses delay crawling
Step-by-Step Solution
Step 1: Verify Status
- Go to Indexing → Coverage
- Click on "Discovered, not indexed" section
- Note how many pages and which ones
- Check when page was created vs. when it appeared in GSC
Step 2: Add Internal Links
Google crawls pages it can find from links. If page isn't indexed yet, add internal links from popular pages.
- From homepage, add visible link to the new page
- From category/section page, add link
- From related content pages, add links
- Use descriptive anchor text (not "click here")
Example of Good Internal Linking:
Step 3: Request Immediate Crawl in GSC
- In GSC, use the URL Inspection tool (top search bar)
- Paste the URL of page not indexed
- Click "Request Indexing" button
- Page added to crawl queue
- Typically crawled within 24-48 hours
Step 4: Improve Crawl Budget
- Maximum number of pages Googlebot will crawl per day
- Depends on site authority and server response time
- Formula: Crawl Rate × Crawl Limit = Crawl Budget
- Example: 10 pages/second × 50 seconds = 500 pages/day
- Improve Server Response Time:
- Target: TTFB (Time to First Byte) under 600ms
- Use PageSpeed Insights to measure
- Enable caching, use CDN, optimize database
- Remove Crawl Waste:
- Block low-value pages with robots.txt
- Remove duplicate pages
- Stop crawling pagination pages
- Block parameter pages (filters, sorting)
- Reduce URL Duplication:
- Use canonical tags
- Remove tracking parameters
- Consolidate similar content
Step 5: Update Sitemap Priority
Notes on Priority:
- Default is 0.5 (ignored by Google anyway)
- Only impacts your site, not search results
- Set new/important pages to 0.8-1.0
- Set archive/old pages to 0.3-0.5
Step 6: Patience + Follow-Up
- New low-authority site: 2-8 weeks to first index
- Established site, new page: 3-14 days
- High-authority site: 1-3 days
- After requesting indexing: 24-48 hours typical
Issue #3: Excluded by Noindex Tag
noindex tag, so deliberately excluded it from search index.Legitimate Reasons to Use Noindex
- Duplicate pages (use with canonical tag instead)
- Temporary pages (coming soon, under maintenance)
- Thin/auto-generated content
- Admin/staff pages
- Test/staging pages
- Affiliate/sponsored content flagged
Why Pages Get Accidental Noindex
| Reason | How It Happens | Fix |
|---|---|---|
| Template Error | Copied from template page still has noindex | Remove from that page |
| CMS Setting | Default CMS setting applies to all pages | Change CMS setting, override per page |
| WordPress Plugin | Yoast SEO or other plugin set wrong | Change plugin settings |
| Meta Robots in Code | Developer added noindex "for testing" | Remove from code |
| X-Robots-Tag Header | Server sending noindex header | Remove from server config |
Step-by-Step Solution
Step 1: Identify Accidentally Noindexed Pages
- Go to Indexing → Coverage
- Click "Excluded" section
- Select "Excluded by 'noindex' tag"
- Review list of excluded pages
- Identify which ones should be indexed
Step 2: Find the Noindex Tag
- Visit the page in browser
- Press
Ctrl+U(or Cmd+U on Mac) to view source - Search for
noindexusing Ctrl+F - Look for one of these:
Step 3: Fix the Noindex Tag
WordPress (with Yoast SEO):
- Edit the post/page
- Go to Yoast SEO box (bottom)
- Click "Advanced"
- Find "Allow search engines to show this page in search results?"
- Change to "Yes"
- Update page
Manual HTML Edit:
- Find the noindex tag
- Delete it entirely, OR
- Change to:
<meta name="robots" content="index, follow"> - Save and deploy
In Code (WordPress functions.php):
Step 4: Check for Server-Level Noindex
Sometimes noindex is sent as HTTP header (not in HTML tag). Check if server is sending it:
- Open URL Inspection tool
- Enter the URL
- Click "View Crawled Page"
- Scroll down to see HTTP Headers
- Look for:
X-Robots-Tag: noindex
If found, it's set at server level. Fixes:
.htaccess method (Apache):
Nginx method:
Contact hosting/contact developer if unsure.
Step 5: Revalidate in GSC
- Go back to GSC Coverage report
- Verify page no longer shows in "Excluded" section
- Use URL Inspection to verify noindex tag gone
- Click "Request Indexing"
- Google will crawl within 24-48 hours
Case Study: WordPress Site with Plugin Mishap
The Scenario:
Blog owner installed Yoast SEO plugin, default setting was "no index" for categories.
Result:
60% of site's category pages had noindex tag. Lost 70% of search traffic.
The Fix:
- Accessed Yoast settings → Search Appearance
- Changed "Category Archives" from "Don't let search engines show these pages" to "Let search engines show these pages"
- Removed noindex from 200+ category pages (bulk)
- Requested indexing in GSC
Timeline to Recovery:
✅ 1 week: 30% of categories indexed
✅ 2 weeks: 80% indexed
✅ 4 weeks: 98% indexed
✅ Traffic recovered to previous levels
Issue #4: Alternate Page with Proper Canonical Tag
When This is OK (vs. Problem)
✅ This is CORRECT:
- Product page with parameters (size, color)
- Printer-friendly version
- Mobile version (if separate)
- Paginated series
- Product with different price region
❌ This is PROBLEM:
- Important page pointing to wrong canonical
- Canonical pointing to itself (loop)
- Canonical with noindex tag
- Canonical with redirect
- Self-created duplicate with wrong canonical
Checking Your Canonical Tags
- Go to URL Inspection in GSC
- Enter a page URL
- Under "Coverage", check if says "Indexed" or "Alternate with canonical"
- If "Alternate", see which URL is canonical
- Verify canonical is the "main" version
Or check HTML source:
Common Canonical Problems & Fixes
Problem #1: Canonical Points to Wrong Page
Problem #2: Canonical to Self (Loop)
BAD - Creates loop:
GOOD - Canonical should point to canonical version:
Note: It's OK for canonical page to point to itself. It's NOT OK for alternate pages to point to alternate pages.
Problem #3: Canonical to Noindexed Page
When to Use Canonical (Best Practices)
| Scenario | Use Canonical? | Example |
|---|---|---|
| Product with multiple filters/params | ✅ Yes | URL with size=L, color=red → canonical to base product URL |
| Pagination (page 2, page 3) | ❌ No | Use rel="next" rel="prev" instead |
| HTTP vs HTTPS | ✅ Yes | HTTP version canonical to HTTPS version |
| WWW vs non-WWW | ✅ Yes | www version canonical to non-www (or vice versa) |
| Mobile vs Desktop | ❌ No | Use responsive design instead |
| User-facing duplicates | ✅ Yes | Printer-friendly → main version |
Issue #5: Duplicate Without User-Selected Canonical
How Duplicates Happen
- Parameter variations: Same product with different URL parameters
- Protocol variations: Both HTTP and HTTPS versions accessible
- WWW variants: Both www.example.com and example.com
- Session IDs: URLs with session tracking parameters
- Pagination: Same content on multiple paginated pages
- Syndicated content: Same article on multiple sites
- Print versions: Print-friendly version of regular page
Step-by-Step Solution
Step 1: Identify All Duplicates
- Screaming Frog SEO Spider: Crawl site, find duplicate content
- Google Search Console: Use URL Inspection on suspicious URLs
- Site search: Search Google:
site:example.com "unique phrase from page" - Analytics: Look for similar pages with lower traffic
Step 2: Choose Canonical Version
- HTTPS: Always prefer HTTPS over HTTP
- WWW: Pick one consistently (www or non-www)
- Simplest URL: Fewest parameters/tracking codes
- Most popular: Version with most links/traffic
- User-facing: Version users actually visit
Step 3: Add Canonical Tags
On the MAIN/CANONICAL page:
On ALTERNATE/DUPLICATE pages:
Step 4: Redirect or Block Non-Canonical Versions
Redirect HTTP to HTTPS (.htaccess):
Redirect non-www to www (.htaccess):
Robots.txt to block parameters:
Step 5: Set Preferred Domain in GSC
- Go to GSC Settings
- Find "Preferred domain"
- Select www or non-www version
- Save
Issue #6: Blocked by Robots.txt Issues
Why This Error Appears
Contradiction: You included URL in sitemap but blocked it in robots.txt. Google sees conflicting signals.
Step-by-Step Solution
Step 1: Review Your Robots.txt
- Go to example.com/robots.txt in browser
- Look for rules blocking important pages
- Check if important paths are blocked
Example robots.txt that causes issues:
Better example:
Step 2: Test Robots.txt in GSC
- Go to GSC Settings
- Find "Robots.txt Tester"
- Enter the URL path causing issue
- Should show "Allowed" for important URLs
- If shows "Blocked", fix robots.txt rules
Step 3: Fix Robots.txt Rules
- Only block pages that truly shouldn't be indexed
- Don't block CSS/JS files (needed for rendering)
- Don't block images (Google needs to see them)
- Separate rules for different user agents
- Use specific paths, not broad blocks
Step 4: Remove Blocked URLs from Sitemap
- Remove them from sitemap.xml
- Keep robots.txt rule blocking them
- Resubmit updated sitemap to GSC
Or allow in robots.txt if they should be indexed:
Issue #7: Redirect Errors & Redirect Chains
Types of Redirect Errors
| Error Type | Cause | Impact | Solution |
|---|---|---|---|
| Redirect Chain | URL A → B → C (3+ hops) | Slow crawling, delayed indexing | Redirect directly to final URL |
| Broken Redirect | A → B, but B doesn't exist | Page never indexed | Fix target URL |
| Redirect Loop | A → B → A (circular) | Page never indexed | Fix redirect logic |
| JavaScript Redirect | Uses JS instead of HTTP 301/302 | Poor crawl efficiency | Use server-side 301 redirect |
Finding Redirect Issues
- Go to GSC URL Inspection
- Enter a suspicious URL
- Under "Tested URL", see if it shows redirect information
- Check what URL it redirected to
- Follow the chain manually to confirm
Test Redirects Command Line:
Fixing Redirect Problems
Problem #1: Redirect Chain (A→B→C)
BAD - Redirect chain:
GOOD - Direct redirect:
Problem #2: Broken Redirect
Issue:
Solution:
- Verify target page exists and is accessible
- Update redirect to correct URL
- Or restore original page content
Problem #3: Redirect Loop
Example loop:
Fix:
- Remove one of the redirects
- Pick the final destination URL
- Make all redirects point to final URL
Problem #4: JavaScript Redirects
BAD - JavaScript redirect:
GOOD - Server-side HTTP redirect:
Step-by-Step Cleanup
Issue #8: Soft 404 Errors
How Soft 404 Happens
- Missing template: Shows generic "page not found" message with 200 status
- Database error: Page should exist but isn't loading correctly
- Redirect malfunction: Page is deleted but returns 200 instead of 404
- Dynamic page generation: Supposed to generate page but doesn't, shows fallback
- Cached error page: Was deleted, but old 200-status version is cached
Detecting Soft 404s
- In GSC: Coverage report shows "Soft 404"
- Manual check: Visit URL, does it look broken?
- Content analysis: Page has 404-type text but returns 200
- Screaming Frog: Crawl site, filter by 200 status but short content
Fixing Soft 404s
Solution #1: Return Proper 404 Status
If page should NOT exist:
Solution #2: Restore Missing Content
Check why page isn't loading:
- Database issue: Check database connection
- Missing file: Restore from backup
- Template broken: Fix template logic
- Configuration error: Review configuration settings
Solution #3: Remove Soft 404 from Sitemap
- Remove URL from sitemap.xml
- Set proper 404 status code
- Create custom 404 page (helpful, not empty)
- Resubmit sitemap
Creating a Helpful 404 Page
Issue #9: Not Found (404) Errors
Is 404 Always Bad?
No. A 404 is the CORRECT response when a page truly doesn't exist. The problem is:
- Page was previously indexed, then deleted without redirect
- Page is in your sitemap but doesn't exist
- You intended to keep the page but deleted it by accident
Fixing 404 Errors
Step 1: Decide: Keep or Delete?
- Did you intentionally delete it?
- YES: Do nothing (404 is correct response)
- NO: Restore from backup or recreate
- Was it getting traffic?
- YES: Set up 301 redirect to similar content
- NO: It's OK to leave as 404
Step 2: If Keeping 404, Remove from Sitemap
- Open sitemap.xml
- Find and remove all 404 URLs
- Resubmit sitemap to GSC
Example - Remove from sitemap:
Step 3: If Previously Had Traffic, Redirect
Important: Only redirect to similar/related content. Don't mass-redirect everything to homepage (Google hates this).
Issue #10: Server Errors (5xx)
Why 5xx Errors Happen
- Server overload: Too many requests at once
- PHP/code error: Uncaught exception in code
- Database down: Can't connect to database
- Out of disk space: Server storage full
- Memory limit exceeded: PHP/process using too much RAM
- Timeout: Process takes too long to complete
- Bad deployment: Code deployment went wrong
Quick Diagnosis & Fixes
Step 1: Verify It's Actually a 5xx Error
- Visit the page in browser
- Open DevTools (F12) → Network tab
- Reload page
- Check Status Code (should be 500, 502, 503, etc.)
- If it loads fine, error is intermittent
Step 2: Check Server Error Logs
- Via hosting control panel (cPanel, Plesk, etc.)
- SSH into server:
ssh user@example.com - Find error logs:
/var/log/apache2/error.logor similar - View recent errors:
tail -f /var/log/apache2/error.log - Look for patterns in error messages
Common error messages:
Step 3: Fix Common 5xx Issues
Out of Memory:
- Increase PHP memory limit in php.ini
- From: memory_limit = 128M
- To: memory_limit = 512M or 1024M
- Restart PHP/Apache
Too Many Connections:
- Upgrade database plan
- Implement connection pooling
- Optimize queries (add indexes)
- Limit concurrent connections per user
Timeout:
- Increase max_execution_time in php.ini
- From: max_execution_time = 30
- To: max_execution_time = 60 or 120
- Or optimize slow code/queries
Code Error:
- Check recently deployed code
- Revert to previous version if needed
- Run tests in staging before deploying
- Enable error logging to find issue
Step 4: Monitor Server Health
- Use uptime monitoring (UptimeRobot, Pingdom)
- Set alerts for when site goes down
- Monitor server resources (CPU, RAM, disk)
- Check slow query logs
- Monitor error logs regularly
Step 5: Request Revalidation
- Verify page loads without 5xx error
- Test multiple times from different locations
- In GSC, use URL Inspection
- Click "Request Indexing"
- Google will re-crawl within 24-48 hours
Prevention Strategy: Stop GSC Errors Before They Start
Monthly Maintenance Checklist
Process Improvements
| Process | Best Practice | Tools |
|---|---|---|
| Before Publishing | Test page on staging, verify no errors, check mobile | Local testing, Lighthouse, DevTools |
| Content Management | Don't delete pages without redirects, update links | CMS audit tools, redirect manager |
| Site Migrations | Map all old→new URLs, set up 301s first, test thoroughly | Screaming Frog, redirect checkers |
| Code Deployment | Test in staging first, check error logs, monitor logs after | Git, CI/CD pipeline, error tracking |
| Server Management | Monitor resources, set up alerts, optimize regularly | New Relic, Datadog, server monitoring |
| SEO Monitoring | Review GSC weekly, track changes, alert on issues | GSC alerts, Semrush, Ahrefs |
Automation & Tools
- Screaming Frog: Crawl site regularly, find duplicates, broken redirects
- Lighthouse CI: Automated performance testing before deploy
- SEMrush/Ahrefs: Regular site audits, error detection
- Sentry: Real-time error monitoring and alerts
- Cloudflare: CDN + WAF + performance optimization
- Uptime monitoring: UptimeRobot, Pingdom, StatusPage
Frequently Asked Questions (FAQs)
Typically 2-6 weeks after fixing and requesting revalidation:
- Days 1-3: Identify root cause
- Days 4-7: Implement fixes
- Days 8-14: Google re-crawls and evaluates
- Days 15-42: Gradual indexing of fixed pages
Faster for sites with higher authority.
No, not immediately. Wait 4-8 weeks first. If it's:
- New page: Just wait, Google will eventually crawl
- Low-quality page: Improve content first, add links
- Not important: After 8 weeks, OK to delete
If you delete, make sure to 404 it or remove from sitemap.
Indirectly, yes. Fixing GSC errors:
- Ensures pages are properly indexed (prerequisite)
- Improves crawl efficiency
- Fixes performance issues that affect rankings
- Enables Google to understand your site better
But rankings depend mainly on content quality and backlinks, not just fixing errors.
Possible reasons:
- Fix wasn't properly deployed
- Google hasn't re-crawled yet (it takes time)
- Content still too thin or low quality
- Different issue than you fixed
- Page is duplicate of another page
Actions: Revalidate, wait another 2 weeks, check if it's actually resolved by looking at URL Inspection tool.
No. A 404 is the correct status code when a page doesn't exist. Bad SEO happens when:
- Pages return 200 but are actually broken (soft 404)
- Important pages 404 without redirects
- 404 pages are in your sitemap
- You're 404'ing pages that should exist
Solution: Use proper 301 redirects for deleted pages that had traffic.
Priority matrix:
- Critical (Fix Now): Security issues, 5xx errors on homepage
- High (This Week): High-traffic pages with 404/noindex, redirect chains
- Medium (This Month): Soft 404s, duplicate issues, many crawled-not-indexed pages
- Low (This Quarter): Discovered-not-indexed (wait), minor warnings
Rule: Fix by impact (affects most pages first) × severity (rankings impact).
No, prioritize:
- Request for: Important pages, high-traffic pages, recent fixes
- Don't bother for: Bulk fixes, low-importance pages, archive content
You can request up to 10 URLs at once in GSC's URL Inspection tool. Bulk requests happen through sitemaps.
Step-by-step escalation:
- Contact support again with specific error messages from logs
- Ask to speak to technical (not billing) support
- Request error logs for specific time period
- Ask about resource limits, upgrade plans
- If they still can't help, consider switching hosts
Good hosts take 5xx errors seriously. Bad hosts don't.



