search-console
Pull Google Search Console data and perform search performance analysis. Use when asked about search rankings, clicks, impressions, CTR, index coverage, Core Web Vitals, or sitemap status. Trigger phrases: "search console", "GSC", "search performance", "clicks and impressions", "CTR analysis", "inde
By openclaudia · 470 installs
npx skills add openclaudia/openclaudia-skills --skill search-console
Source repository · Upstream listing
Google Search Console
Pull search performance data, index coverage, and Core Web Vitals from Google Search Console API.
Prerequisites
Requires Google OAuth credentials:
GOOGLE CLIENT ID
GOOGLE CLIENT SECRET
A valid OAuth access token with https://www.googleapis.com/auth/webmasters.readonly scope
Set credentials in .env , .env.local , or ~/.claude/.env.global .
Getting an Access Token
Listing Available Sites
The site URL format is either https://example.com/ (URL prefix) or sc domain:example.com (domain property).
1. Search Performance Report
The core report: queries, pages, clicks, impressions, CTR, and average position.
API Endpoint
Note: The {siteUrl} must be URL encoded (e.g., https%3A%2F%2Fexample.com%2F or sc domain%3Aexample.com ).
Top Queries
Top Pages
Query + Page Combination
Available Dimensions
Dimension Description
query Search query
page URL
country Country code (ISO 3166 1 alpha 3)
device DESKTOP , MOBILE , TABLET
date Individual date
searchAppearance Rich result type
Response Parsing
2. Search Performance by Date
Track daily trends for queries and pages.
To track a specific query over time:
3. Index Coverage (URL Inspection API)
Check if a specific URL is indexed.
Endpoint
Example curl
Response Fields
Field Description
inspectionResult.indexStatusResult.coverageState Submitted and indexed , Crawled currently not indexed , etc.
inspectionResult.indexStatusResult.robotsTxtState ALLOWED or DISALLOWED
inspectionResult.indexStatusResult.indexingState INDEXING ALLOWED or INDEXING NOT ALLOWED
inspectionResult.indexStatusResult.lastCrawlTime When Googlebot last crawled
inspectionResult.indexStatusResult.crawledAs DESKTOP or MOBILE
inspectionResult.mobileUsabilityResult.verdict PASS , FAIL , or VERDICT UNSPECIFIED
4. Sitemaps
List and check sitemap status.
List Sitemaps
Submit a Sitemap
5. Opportunity Identification
Use Search Console data to find SEO opportunities.
Low Hanging Fruit: High Impressions, Low CTR
Queries with many impressions but low CTR suggest the title/description needs optimization.
Striking Distance: Position 5 20
Queries ranking on page 1 2 that could be pushed to top 5 with content optimization.
Cannibalization Detection
Find queries where multiple pages compete for the same keyword.
Workflow: Full Search Performance Audit
When asked for a complete GSC audit:
1. Overall Metrics : Total clicks, impressions, avg CTR, avg position for last 90 days vs previous 90 days
2. Top 30 Queries : By clicks, with CTR and position
3. Top 20 Pages : By clicks, with CTR and position
4. Device Breakdown : Desktop vs mobile performance
5. Low Hanging Fruit : High impressions + low CTR opportunities
6. Striking Distance : Position 5 20 keywords with optimization potential
7. Cannibalization : Queries with multiple competing pages
8. Index Coverage : Spot check important URLs
9. Sitemap Health : Verify sitemaps are submitted and indexed
Report Format
Rate Limits
Search Analytics API: 1,200 queries per minute
URL Inspection API: 2,000 inspections per day per property
Data freshness: Search data is typically 2 3 days behind
Common Errors
Error Cause Fix
403 No access to this property Verify ownership in GSC
400 Invalid date range Dates must be within last 16 months
Empty rows No data matching filters Broaden date range or remove filters