# Seo Google > APIs SEO de Google: Search Console, PageSpeed Insights, CrUX con historial de 25 semanas, Indexing API y tráfico orgánico de GA4. Da datos reales de campo para Core Web Vitals, indexación, rendimiento de búsqueda y tráfico. Fuente: https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-google Markdown: https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-google.md Repositorio: https://github.com/AgriciDaniel/claude-seo Autor: AgriciDaniel Licencia: MIT Actualizado: el mes pasado Coste de contexto: 112 tok instalada, 3.7k tok al activarse, 15.1k tok con todos los archivos del bundle Bundle: 16 archivos, 59 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add AgriciDaniel/claude-seo --skill seo-google --agent claude-code # Cursor npx -y skills add AgriciDaniel/claude-seo --skill seo-google --agent cursor # Codex npx -y skills add AgriciDaniel/claude-seo --skill seo-google --agent codex # Gemini CLI npx -y skills add AgriciDaniel/claude-seo --skill seo-google --agent gemini # Windsurf npx -y skills add AgriciDaniel/claude-seo --skill seo-google --agent windsurf # Cline npx -y skills add AgriciDaniel/claude-seo --skill seo-google --agent cline ``` ## Qué hace - Detecta el nivel de credenciales configurado (API key, OAuth/service account, GA4, Ads) y comunica qué comandos están disponibles antes de ejecutar nada - Da datos reales de Search Console (clics, impresiones, CTR, posición), Inspección de URL, PageSpeed/CrUX de campo y tráfico orgánico de GA4 - Envía URLs a la Indexing API (200/día, oficialmente solo para JobPosting/BroadcastEvent) y genera reportes PDF combinando varias fuentes ## Cuándo usarla - El usuario pide 'search console', 'GSC', 'PageSpeed', 'CrUX', 'indexing API' o 'GA4 organic' ## Qué la activa - "Muéstrame el rendimiento de Search Console de mi sitio" - "Dame los datos de CrUX de esta URL" ## Antes de instalar - Todas las APIs son gratuitas pero requieren un proyecto de Google Cloud con API key y/o service account; `/seo google setup` guía la configuración. ## Archivos - LICENSE.txt — 143 B - SKILL.md — 14 KB - assets/templates/cwv-audit-report.md — 2 KB - assets/templates/gsc-performance-report.md — 1 KB - assets/templates/indexation-status-report.md — 1 KB - references/auth-setup.md — 5 KB - references/dma-consent-mode-v2.md — 3 KB - references/ga4-data-api.md — 5 KB - references/indexing-api.md — 3 KB - references/keyword-planner-api.md — 2 KB - references/nlp-api.md — 2 KB - references/pagespeed-crux-api.md — 7 KB - references/rate-limits-quotas.md — 3 KB - references/search-console-api.md — 5 KB - references/supplementary-apis.md — 3 KB - references/youtube-api.md — 2 KB ## SKILL.md Reproducido tal cual desde AgriciDaniel/claude-seo bajo MIT. Esta sección es el documento original y está en inglés. # 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: ```bash claude-seo run google_auth.py --check --json ``` Config file: `~/.config/claude-seo/google-api.json` ```json { "service_account_path": "/path/to/service_account.json", "api_key": "", "default_property": "sc-domain:example.com", "ga4_property_id": "properties/123456789" } ``` 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 ` | PSI Lighthouse + CrUX field data | 0 | | `/seo google crux ` | CrUX field data only (p75 metrics) | 0 | | `/seo google crux-history ` | 25-week CWV trend analysis | 0 | | `/seo google gsc ` | Search Console: clicks, impressions, CTR, position | 1 | | `/seo google inspect ` | URL Inspection: index status, canonical, crawl info | 1 | | `/seo google inspect-batch ` | Batch URL Inspection from file | 1 | | `/seo google sitemaps ` | GSC sitemap status | 1 | | `/seo google index ` | Submit URL to Indexing API | 1 | | `/seo google index-batch ` | 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 ` | YouTube video search (views, likes, duration) | 0 | | `/seo google youtube-video ` | YouTube video details + top comments | 0 | | `/seo google nlp ` | NLP entity extraction + sentiment + classification | 0 | | `/seo google entities ` | Entity analysis only (for E-E-A-T) | 0 | | `/seo google keywords ` | Keyword ideas from Google Ads Keyword Planner | 3 | | `/seo google volume ` | Search volume lookup from Keyword Planner | 3 | | `/seo google entity ` | Knowledge Graph entity check | 0 | | `/seo google safety ` | Web Risk URL safety check | 0 | | `/seo google quotas` | Show rate limits for all APIs | -- | --- ## PageSpeed + CrUX ### `/seo google pagespeed ` Combined Lighthouse lab data + CrUX field data. **Script:** `claude-seo run pagespeed_check.py --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 ` CrUX field data only (no Lighthouse run). Faster. **Script:** `claude-seo run pagespeed_check.py --crux-only --json` ### `/seo google crux-history ` 25-week CrUX History trends. Shows whether CWV metrics are improving, stable, or degrading. **Script:** `claude-seo run crux_history.py --json` **Reference:** `references/pagespeed-crux-api.md` Output includes per-metric trend direction, percentage change, and weekly p75 values. --- ## Search Console ### `/seo google gsc ` Search Analytics: clicks, impressions, CTR, position for last 28 days. **Script:** `claude-seo run gsc_query.py --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. ### `/seo google inspect ` URL Inspection: real indexation status from Google. **Script:** `claude-seo run gsc_inspect.py --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 ` Batch inspection from a file (one URL per line). Rate limited to 2,000/day per site. **Script:** `claude-seo run gsc_inspect.py --batch --json` ### `/seo google sitemaps ` 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-seo run gsc_query.py sitemaps --property --json` --- ## Indexing API ### `/seo google index ` Notify Google of a URL update. **Script:** `claude-seo run indexing_notify.py --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 ` Batch submit URLs from a file. Tracks quota usage. **Script:** `claude-seo run indexing_notify.py --batch --json` --- ## GA4 Traffic ### `/seo google ga4 [property-id]` Organic traffic report: daily sessions, users, pageviews, bounce rate, engagement. **Script:** `claude-seo run ga4_report.py --property --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-seo run ga4_report.py --property --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 ` Search YouTube for videos. Returns title, channel, views, likes, duration. **Script:** `claude-seo run youtube_search.py search "" --json` **Reference:** `references/youtube-api.md` **Quota:** 100 units per search (10,000 units/day free). ### `/seo google youtube-video ` Detailed video info + tags + top 10 comments. **Script:** `claude-seo run youtube_search.py video --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 ` Full NLP analysis: entities, sentiment, content classification. **Script:** `claude-seo run nlp_analyze.py --url --json` or `--text "..."` **Reference:** `references/nlp-api.md` **Free tier:** 5,000 units/month. Requires billing enabled on GCP project. ### `/seo google entities ` Entity extraction only (faster, less quota). **Script:** `claude-seo run nlp_analyze.py --url --features entities --json` --- ## Keyword Research (Google Ads) Gold-standard keyword volume data. Requires Google Ads account. ### `/seo google keywords ` Generate keyword ideas from seed terms. **Script:** `claude-seo run keyword_planner.py ideas "" --json` **Reference:** `references/keyword-planner-api.md` **Requires:** Ads developer token + customer ID in config (Tier 3). ### `/seo google volume ` Search volume for specific keywords (comma-separated). **Script:** `claude-seo run keyword_planner.py volume "," --json` --- ## Supplementary ### `/seo google entity ` Knowledge Graph entity check. Verifies brand presence. **Reference:** `references/supplementary-apis.md` Uses Knowledge Graph Search API with API key. ### `/seo google safety ` 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 ` Generate a professional PDF report with charts and analytics. **Script:** `claude-seo run google_report.py --type --data --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-seo run pagespeed_check.py --json > data.json` 3. Generate report: `claude-seo run google_report.py --type cwv-audit --data data.json --domain ` **Convention:** After completing analysis, suggest: "Generate a report? Use `/seo google report `" --- ## Rate Limits | API | Per-Minute | Per-Day | Auth | |-----|-----------|---------|------| | PSI v5 | 240 QPM | 25,000 QPD | API Key | | CrUX + History | 150 QPM (shared) | Unlimited | API Key | | GSC Search Analytics | 1,200 QPM/site | 30M QPD | Service Account | | GSC URL Inspection | 600 QPM | 2,000 QPD/site | Service Account | | Indexing API | 380 RPM | 200 publish/day | Service Account | | GA4 Data API | 10 concurrent | ~25K tokens/day | Service Account | ## Cross-Skill Integration - **seo-audit**: Spawns `seo-google` agent for live CWV + indexation data (conditional) - **seo-technical**: Uses pagespeed_check.py for real CWV field data - **seo-performance**: CrUX field data supplements Lighthouse lab data - **seo-sitemap**: GSC sitemap status shows submitted counts, errors, and warnings; use URL Inspection for indexation truth - **seo-content**: GSC query data informs keyword targeting - **seo-geo**: Use GSC Generative AI performance reports and AI Overviews/AI Mode/Discover gen-AI include/exclude controls where available ## Output Format - CWV metrics: traffic-light rating (Good / Needs Improvement / Poor) - Performance reports: tables with sortable columns - Always include data freshness note - Save reports as `GOOGLE-API-REPORT-{domain}.md` - Markdown/LLM templates in `assets/templates/`: `cwv-audit-report.md`, `gsc-performance-report.md`, `indexation-status-report.md`; distinct from `google_report.py`'s PDF pipeline ## Technical Notes - INP replaced FID on March 12, 2024. Never reference FID. - CLS values from CrUX are string-encoded (e.g., "0.05"). Scripts handle parsing. - CrUX 404 = insufficient traffic, not an auth error. - Search Analytics data has 2-3 day lag. - `round_trip_time` replaced `effectiveConnectionType` in CrUX (Feb 2025). - Custom Search JSON API is closed to new customers (2025). ## Error Handling | Scenario | Action | |----------|--------| | No credentials configured | Run `/seo google setup`. List Tier 0 commands that work with just an API key. | | Service account lacks GSC access | Report error. Instruct: add `client_email` to GSC > Settings > Users > Add. | | CrUX data unavailable (404) | Report insufficient Chrome traffic. Suggest PSI lab data as fallback. | | GA4 property not found | Report error. Show how to find property ID in GA4 Admin > Property Details. | | Indexing API quota exceeded | Report 200/day limit. Suggest prioritizing most important URLs. | | Rate limit (429) | Wait and retry with exponential backoff. Report which API hit the limit. | ## Dónde encaja - Categoría: [SEO y GEO](https://skillsagentes.com/categorias/seo-geo.md) — Keywords, auditorías on-page, datos estructurados y visibilidad en respuestas de IA. - Creador: [AgriciDaniel](https://skillsagentes.com/creators/agricidaniel.md) — 31 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Seo Flow](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-flow.md): Integración del framework FLOW: SEO basado en evidencia con el ciclo Find → Leverage → Optimize → Win. Expone 41 prompts de IA por etapa desde la base de conocimiento FLOW (CC BY 4.0). - [Seo Cluster](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-cluster.md): Agrupación semántica de keywords basada en solapamiento real de SERP (no similitud de texto) para planear arquitectura de contenido. Diseña clusters hub-and-spoke con matriz de enlaces internos y genera una visualización interactiva. - [Seo Audit](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-audit.md): Auditoría SEO completa del sitio con delegación paralela a sub-agentes. Rastrea hasta 500 páginas, detecta el tipo de negocio, delega en hasta 15 especialistas (8 siempre + 7 condicionales) y genera un health score. - [Seo](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo.md): Análisis SEO integral para cualquier sitio: auditorías completas, análisis de una página, SEO técnico (rastreo, indexación, CWV con INP), schema, E-E-A-T, imágenes, sitemaps y GEO para AI Overviews/ChatGPT/Perplexity. - [Seo Ecommerce](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-ecommerce.md): Análisis de SEO para e-commerce: visibilidad en Google Shopping, inteligencia de marketplace de Amazon, validación de schema Product, análisis de precios de competidores y brechas de keywords entre orgánico y Shopping. ## Skills relacionadas - [Seo Firecrawl](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-firecrawl.md): Rastreo, scraping y mapeo de sitio completo vía Firecrawl MCP. Úsalo para 'crawl site', 'map site', 'full crawl', 'find all pages', 'broken links' o 'JS rendering'. - [Seo Seranking](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-seranking.md): Analista de visibilidad en IA con SE Ranking (extensión). Sigue el Share-of-Voice en ChatGPT, Gemini, Perplexity, AI Overviews y AI Mode en una sola consulta. - [Seo Competitor Pages](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-competitor-pages.md): Genera páginas de comparación y alternativas optimizadas para SEO: layouts 'X vs Y', páginas 'alternativas a X', matrices de funciones, schema y optimización de conversión. - [Seo Ecommerce](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-ecommerce.md): Análisis de SEO para e-commerce: visibilidad en Google Shopping, inteligencia de marketplace de Amazon, validación de schema Product, análisis de precios de competidores y brechas de keywords entre orgánico y Shopping. - [Seo Images](https://skillsagentes.com/skills/agricidaniel/claude-seo/seo-images.md): Análisis de optimización de imágenes para SEO y rendimiento: alt text, tamaño de archivo, formato, imágenes responsive, lazy loading, prevención de CLS, ranking en SERP de imágenes y optimización de archivos. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)