seo-google
Google SEO APIs: Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, and GA4 organic traffic. Provides real Google field data for Core Web Vitals, indexation status, search performance, and organic traffic trends.
By agricidaniel · 4,917 installs
npx skills add agricidaniel/claude-seo --skill seo-google
Source repository · Upstream listing
Google SEO APIs
Direct access to Google's own SEO data. Bridges the gap between crawl based
analysis (existing claude seo skills) and Google's real time field data: actual
Chrome user metrics, real indexation status, search performance, and organic traffic.
All APIs are free. Setup requires a Google Cloud project with API key and/or
service account run /seo google setup for step by step instructions.
Prerequisites
Before executing any command, check credentials:
Config file: ~/.config/claude seo/google api.json
If missing, read references/auth setup.md and walk the user through setup.
Credential Tiers
Tier Detection Available Commands
0 (API Key) api key present pagespeed , crux , crux history , youtube , nlp
1 (OAuth/SA) + OAuth token or service account Tier 0 + gsc , inspect , sitemaps , index
2 (Full) + ga4 property id configured Tier 1 + ga4 , ga4 pages
3 (Ads) + ads developer token + ads customer id Tier 2 + keywords , volume
Always communicate the detected tier before running commands.
Quick Reference
Command What it does Tier
/seo google setup Check/configure API credentials
/seo google pagespeed <url PSI Lighthouse + CrUX field data 0
/seo google crux <url CrUX field data only (p75 metrics) 0
/seo google crux history <url 25 week CWV trend analysis 0
/seo google gsc <property Search Console: clicks, impressions, CTR, position 1
/seo google inspect <url URL Inspection: index status, canonical, crawl info 1
/seo google inspect batch <file Batch URL Inspection from file 1
/seo google sitemaps <property GSC sitemap status 1
/seo google index <url Submit URL to Indexing API 1
/seo google index batch <file Batch submit up to 200 URLs 1
/seo google ga4 [property id] GA4 organic traffic report 2
/seo google ga4 pages [property id] Top organic landing pages 2
/seo google youtube <query YouTube video search (views, likes, duration) 0
/seo google youtube video <id YouTube video details + top comments 0
/seo google nlp <url or text NLP entity extraction + sentiment + classification 0
/seo google entities <url or text Entity analysis only (for E E A T) 0
/seo google keywords <seed Keyword ideas from Google Ads Keyword Planner 3
/seo google volume <keywords Search volume lookup from Keyword Planner 3
/seo google entity <query Knowledge Graph entity check 0
/seo google safety <url Web Risk URL safety check 0
/seo google quotas Show rate limits for all APIs
PageSpeed + CrUX
/seo google pagespeed <url
Combined Lighthouse lab data + CrUX field data.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run pagespeed check.py <url json
Reference: references/pagespeed crux api.md
Default: Both mobile + desktop strategies, all Lighthouse categories.
Output merges lab scores (point in time Lighthouse) with field data (28 day
Chrome user metrics). CrUX tries URL level first, falls back to origin level.
/seo google crux <url
CrUX field data only (no Lighthouse run). Faster.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run pagespeed check.py <url crux only json
/seo google crux history <url
25 week CrUX History trends. Shows whether CWV metrics are improving, stable, or degrading.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run crux history.py <url json
Reference: references/pagespeed crux api.md
Output includes per metric trend direction, percentage change, and weekly p75 values.
Search Console
/seo google gsc <property
Search Analytics: clicks, impressions, CTR, position for last 28 days.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run gsc query.py property <property json
Reference: references/search console api.md
Default: 28 days, dimensions=query,page, type=web, limit=1000.
Includes quick win detection: queries at position 4 10 with high impressions.
The totals block comes from a separate dimensionless aggregate query because
query level rows can omit anonymized low volume traffic. Treat totals as
site wide only when totals complete is true. limit caps total returned
dimension rows, not the size of every pagination request.
AI surfaces in GSC (2026):
Generative AI performance report (launched 2026 06 03), a dedicated view of AI Overviews + AI Mode visibility. Impressions only (no clicks/CTR/position/query); dimensions Pages/Countries/Devices/Dates (Pacific Time); 1,000 row limit; newest data preliminary; a separate Discover gen AI report also exists. Rolling out to a subset of properties.
AI Mode already rolls into standard Performance totals (Web search type), clicks (external link clicks in AI Mode) and impressions are counted in the normal report, so you cannot cleanly split "classic" vs "AI" traffic from totals. Use the Generative AI report for impressions only AI visibility.
Data reliability caveat: a GSC logging error made impressions, CTR, and average position unreliable from 2025 05 13 to 2026 04 27 (clicks unaffected; fixed forward only, no backfill ). Treat impression/CTR/position trends spanning that window with caution; expect an apparent impressions drop after the fix.
Platform properties (2026): Search Console can expose verified TikTok,
Instagram, X, and YouTube accounts as individual properties. Verify each
account separately, unless it was already added through a claimed Search
profile. Use these properties for Google Search performance only, not as a
substitute for the platform's own analytics. Source:
developers.google.com/search/docs/monitor debug/analyze social video content
/seo google inspect <url
URL Inspection: real indexation status from Google.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run gsc inspect.py <url json
Returns: verdict (PASS/FAIL), coverage state, robots.txt status, indexing state,
page fetch state, canonical selection, mobile usability, rich results.
/seo google inspect batch <file
Batch inspection from a file (one URL per line). Rate limited to 2,000/day per site.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run gsc inspect.py batch <file json
/seo google sitemaps <property
List submitted sitemaps with status, errors, warnings. Sitemap contents report
submitted counts only; URL Inspection API is the indexation truth for whether
specific URLs are indexed.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run gsc query.py sitemaps property <property json
Indexing API
/seo google index <url
Notify Google of a URL update.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run indexing notify.py <url json
Reference: references/indexing api.md
The Indexing API is officially for JobPosting and BroadcastEvent/VideoObject pages.
Always inform the user of this restriction. Daily quota: 200 publish requests.
/seo google index batch <file
Batch submit URLs from a file. Tracks quota usage.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run indexing notify.py batch <file json
GA4 Traffic
/seo google ga4 [property id]
Organic traffic report: daily sessions, users, pageviews, bounce rate, engagement.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run ga4 report.py property <id json
Reference: references/ga4 data api.md
Default: 28 days, filtered to Organic Search channel group.
GA4 "AI Assistants" channel (live ~2026 05 13): GA4 added a native AI Assistants Default Channel Group. Sessions referred by a recognized AI assistant get medium=ai assistant . Google's recognized sources are ChatGPT, Gemini, Claude, Deepseek, Copilot, Grok and the channel excludes Google AI Overviews / AI Mode. Verify Perplexity separately if needed ; unsupported sources may stay in Referral, and most AI sessions arrive referrer less and fall into Direct , so this channel undercounts AI traffic. Forward only, no backfill.
/seo google ga4 pages [property id]
Top organic landing pages ranked by sessions.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run ga4 report.py property <id report top pages json
YouTube (Video SEO)
Some third party studies report a 0.737 correlation between YouTube mentions and AI visibility. Treat it as a methodology dependent signal. Free, API key only.
/seo google youtube <query
Search YouTube for videos. Returns title, channel, views, likes, duration.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run youtube search.py search "<query " json
Reference: references/youtube api.md
Quota: 100 units per search (10,000 units/day free).
/seo google youtube video <video id
Detailed video info + tags + top 10 comments.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run youtube search.py video <video id json
Quota: 2 units (video details + comments).
NLP Content Analysis
Google NLP entity/sentiment output for internal content quality checks. Do not treat it as Google E E A T scoring.
/seo google nlp <url or text
Full NLP analysis: entities, sentiment, content classification.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run nlp analyze.py url <url json or text "..."
Reference: references/nlp api.md
Free tier: 5,000 units/month. Requires billing enabled on GCP project.
/seo google entities <url or text
Entity extraction only (faster, less quota).
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run nlp analyze.py url <url features entities json
Keyword Research (Google Ads)
Gold standard keyword volume data. Requires Google Ads account.
/seo google keywords <seed
Generate keyword ideas from seed terms.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run keyword planner.py ideas "<seed " json
Reference: references/keyword planner api.md
Requires: Ads developer token + customer ID in config (Tier 3).
/seo google volume <keywords
Search volume for specific keywords (comma separated).
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run keyword planner.py volume "<kw1 ,<kw2 " json
Supplementary
/seo google entity <query
Knowledge Graph entity check. Verifies brand presence.
Reference: references/supplementary apis.md
Uses Knowledge Graph Search API with API key.
/seo google safety <url
Web Risk API check for malware/social engineering flags.
Reference: references/supplementary apis.md
/seo google quotas
Display rate limits table. Read references/rate limits quotas.md .
Reports
After any analysis command, offer to generate a PDF/HTML report.
/seo google report <type
Generate a professional PDF report with charts and analytics.
Script: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run google report.py type <type data <json domain <domain format pdf
Type Input Output
cwv audit PSI + CrUX + CrUX History data Core Web Vitals audit with gauges, timelines, distributions
gsc performance GSC query data Search Console report with query tables, quick wins
indexation Batch inspection data Indexation status with coverage donut chart
full All data combined Comprehensive Google SEO report (all sections)
Workflow:
1. Run data collection commands (pagespeed, gsc, inspect batch, etc.)
2. Save JSON output to file: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run pagespeed check.py <url json data.json
3. Generate report: "${CLAUDE PLUGIN ROOT}/scripts/claude seo" run google report.py type cwv audit data data.json domain <domain
Convention: After completing analysis, suggest: "Generate a report? Use /seo google report <type "
Rate Limits
API Per Minute Per Day Auth
PSI v5 24