Google Search Console

Monitor your search performance and health with Search Console.

Google Search Console (GSC) is a free tool that shows how Google sees your site. It is the single most important SEO tool, and every site should have it set up.

Key reports

  • Performance - clicks, impressions, average position and the queries you rank for.
  • URL Inspection - see indexing status and request indexing.
  • Pages (Indexing) - which URLs are indexed and why others are not.
  • Enhancements - Core Web Vitals and structured data reports.
  • Sitemaps - submit and monitor your XML sitemap.
  • Links - your top internal and external links.

Example

Example · bash
# First steps in Google Search Console
1. Add and verify your property (DNS or HTML file)
2. Submit your sitemap: https://example.com/sitemap.xml
3. Check the Performance report for your top queries
4. Fix issues in the Pages and Core Web Vitals reports

When to use it

  • An SEO manager uses Search Console's Performance report to identify 30 queries on page 2 and prioritises them for on-page optimisation, moving 12 to page 1 within 60 days.
  • A developer uses the URL Inspection tool to diagnose why a newly published page is not indexed, discovering a noindex tag left over from staging.
  • A site owner uses the Core Web Vitals report in Search Console to identify which URL groups fail LCP thresholds and prioritise them for a performance sprint.

More examples

Fetch top queries via Search Console API

Fetching the top queries by clicks from the Search Console API reveals which keywords drive the most organic traffic and which positions have room for improvement.

Example · bash
curl -s -X POST \
  'https://searchconsole.googleapis.com/v1/sites/https%3A%2F%2Fexample.com/searchAnalytics/query' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "startDate": "2024-05-01",
    "endDate": "2024-05-31",
    "dimensions": ["query"],
    "rowLimit": 10
  }' | python3 -c "
import sys, json
for row in json.load(sys.stdin).get('rows', []):
    q = row['keys'][0]
    print(f"pos={row['position']:.1f}  clicks={row['clicks']:4}  {q}")
"

Inspect URL indexing status

The URL Inspection API returns the exact index verdict, last crawl time, and canonical URL Google has selected, making it the fastest way to diagnose indexation issues.

Example · bash
# URL Inspection API — check index status for a specific page
curl -s -X POST \
  'https://searchconsole.googleapis.com/v1/urlInspection/index:inspect' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "inspectionUrl": "https://example.com/blog/new-article/",
    "siteUrl": "https://example.com/"
  }' | python3 -c "
import sys, json
r = json.load(sys.stdin).get('inspectionResult', {})
print('Verdict:',  r.get('indexStatusResult', {}).get('verdict'))
print('Crawled:',  r.get('indexStatusResult', {}).get('lastCrawlTime'))
print('Canonical:', r.get('indexStatusResult', {}).get('googleCanonical'))
"

Monitor coverage errors weekly

A weekly coverage error review catches new indexation problems early, before they accumulate into significant ranking losses.

Example · bash
python3 - << 'EOF'
# Weekly Search Console coverage error check
# Requires: google-auth, google-api-python-client
import datetime

end   = datetime.date.today().isoformat()
start = (datetime.date.today() - datetime.timedelta(days=7)).isoformat()

print(f"Checking coverage errors from {start} to {end}")
print("Steps:")
print("1. Open Search Console -> Pages -> Why pages aren't indexed")
print("2. Export CSV and filter for new error types")
print("3. Log count of each error type in tracking sheet")
print("4. Compare to prior week — raise alert if count rises > 20%")
EOF

Discussion

  • Be the first to comment on this lesson.
Google Search Console — SEO with AI | SoundsCode