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