# Gsc Portfolio Audit > Audita TODAS las propiedades de Google Search Console a la vez: ranking por clics e impresiones con deltas, y diff de keywords por sitio (nuevas, suben, bajan, perdidas, o bien rankeadas sin clics). Fuente: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/gsc-portfolio-audit Markdown: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/gsc-portfolio-audit.md Repositorio: https://github.com/OpenClaudia/openclaudia-skills Autor: OpenClaudia Licencia: MIT Actualizado: el mes pasado Coste de contexto: 184 tok instalada, 1k tok al activarse, 3.2k tok con todos los archivos del bundle Bundle: 2 archivos, 12 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 OpenClaudia/openclaudia-skills --skill gsc-portfolio-audit --agent claude-code # Cursor npx -y skills add OpenClaudia/openclaudia-skills --skill gsc-portfolio-audit --agent cursor # Codex npx -y skills add OpenClaudia/openclaudia-skills --skill gsc-portfolio-audit --agent codex # Gemini CLI npx -y skills add OpenClaudia/openclaudia-skills --skill gsc-portfolio-audit --agent gemini # Windsurf npx -y skills add OpenClaudia/openclaudia-skills --skill gsc-portfolio-audit --agent windsurf # Cline npx -y skills add OpenClaudia/openclaudia-skills --skill gsc-portfolio-audit --agent cline ``` ## Qué hace - Ordena todas las propiedades de Google Search Console por clics e impresiones con variación entre periodos - Compara keywords por sitio para detectar cuáles son nuevas, suben, bajan, se pierden o rankean sin clics - Marca CTR GAP: consultas con muchas impresiones en top 10 pero CTR bajo - Detecta propiedades con error 403 (verificadas pero sin acceso a search analytics) en lugar de ocultarlas ## Cuándo usarla - Se pide comparar todos los sitios o rankear propiedades por tráfico - Se necesita encontrar nuevas keywords en todo un portafolio - Se quiere saber qué sitios están cayendo o 'down' - Se pide un reporte de GSC across accounts para agencias o multi-sitio ## Cuándo no - Se necesitan queries, páginas o cobertura de índice de UN solo sitio (usar el skill search-console en su lugar) ## Qué la activa - "Audita todas mis propiedades de Search Console" - "Ranquea mis sitios por tráfico este trimestre" - "¿Qué nuevas keywords estamos rankeando en todo el portafolio?" - "¿Cuáles de los sitios de mis clientes están cayendo?" ## Antes de instalar - Requiere un refresh token de OAuth con el scope webmasters.readonly y variables de entorno GOOGLE_GSC_CLIENT_ID, GOOGLE_GSC_CLIENT_SECRET y GOOGLE_REFRESH_TOKEN, además de pip install requests. - Necesita en el PATH: pip, python3 - Variables de entorno: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_GSC_CLIENT_ID, GOOGLE_GSC_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN, GSC_EXCLUDE - makes network requests - needs API credentials ## Archivos - SKILL.md — 4 KB - scripts/audit_gsc.py — 8 KB ## SKILL.md Reproducido tal cual desde OpenClaudia/openclaudia-skills bajo MIT. Esta sección es el documento original y está en inglés. # GSC Portfolio Audit Answers "how is everything doing?" across every property on a Search Console account, which is the question the per-site tooling can't answer without dozens of manual exports. ## Setup Requires an OAuth refresh token with `https://www.googleapis.com/auth/webmasters.readonly`: ```bash export GOOGLE_GSC_CLIENT_ID=... # or GOOGLE_CLIENT_ID export GOOGLE_GSC_CLIENT_SECRET=... # or GOOGLE_CLIENT_SECRET export GOOGLE_REFRESH_TOKEN=... export GSC_EXCLUDE="olddomain.com" # optional, comma-separated pip install requests ``` **The most common setup failure is `unauthorized_client` on token refresh.** It means the refresh token was issued for a different OAuth client than the id/secret you paired with it. Accounts that have added Google integrations over time usually have several clients; match the pair that minted the token. ## Run it ```bash python3 scripts/audit_gsc.py # full: ranking + keyword diff for the top 12 python3 scripts/audit_gsc.py portfolio # just the ranked table python3 scripts/audit_gsc.py queries --site sc-domain:example.com python3 scripts/audit_gsc.py --days 90 # quarter over quarter ``` Flags: `--days` (window, compared against the window immediately before it), `--site` (repeatable), `--top`, `--limit`, `--min-clicks`. ## Sections and what they mean | Section | Read it as | |---|---| | NEW | queries with zero clicks last period. Where growth is actually coming from. | | RISING | up ≥50%. Check whether position moved too — if it didn't, demand rose, not your ranking. | | DROPPING | down ≥40% off a real base. **Position tells you which kind:** rank fell = ranking loss; rank held but clicks collapsed = something took the clicks above you (AI Overview, a new SERP feature, or the query changed shape). | | LOST | ranked before, no data now. | | CTR GAP | ≥1,500 impressions, top 10, under 2% CTR. Title and description rewrites, the cheapest wins available. | ## Interpreting - **Report clicks first, impressions second.** One large property can swing portfolio impressions enough to mask that everything else grew. - **Separate brand from non-brand.** A site whose entire keyword set is its own name (or misspellings of a competitor's) has no acquisition engine, however good the click count looks. Say so plainly in the report. - **A whole-site collapse on its own head term is usually not SEO.** Check ownership before diagnosing rankings: `whois | grep -i "registrar\|updated date"` plus whether it still resolves. Expired, transferred, or disputed domains produce a textbook ranking cliff that no amount of SEO work will fix. - **"new" in the portfolio table means zero clicks in the prior window**, which for a recently launched site is a launch, not a data gap. - **Don't skip queries in languages you can't read.** On multi-market sites the growth is usually in non-English long tail; translate the interesting ones rather than filtering them out. - A property returning 403 is verified for listing but not for search analytics. The script reports it instead of hiding it. ## Notes - GSC data lags about 3 days; the script offsets for this automatically. - Both periods are fetched per property in parallel, so a 40-property account takes seconds. - Query rows are capped at 25,000 per period, well above what any single site returns for a 28-day window. ## 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: [OpenClaudia](https://skillsagentes.com/creators/openclaudia.md) — 76 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 - [Competitor Traffic Report](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/competitor-traffic-report.md): Genera un informe HTML autocontenible de tráfico competitivo: visitas mensuales (SimilarWeb), tráfico orgánico y Domain Rating (Ahrefs), con gráficos ranked, tendencias y tabla de datos. - [Podcast Edit](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/podcast-edit.md): Edita audio o video de podcast: recorta charla previa/posterior, quita muletillas, corta silencios, mejora el audio y aplica el mismo corte a una versión en video. - [Brand Dev](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/brand-dev.md): Obtiene datos de marca (nombre, descripción, logos, industria) desde la API de brand.dev y guarda los logos localmente. - [Wechat Moments](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/wechat-moments.md): Clasifica y resume el feed de WeChat Moments (朋友圈) del usuario para que los eventos reales y la información genuina destaquen sobre la promoción, ponderando según cuánto le escribe el usuario a cada autor. - [Ai Citations Report](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/ai-citations-report.md): Genera un informe de Citaciones de IA (GEO) para un dominio: qué prompts de búsqueda con IA citan el sitio en Google AI Overview y ChatGPT, con contexto de tráfico orgánico y cobertura por artículo. ## Skills relacionadas - [Programmatic Seo](https://skillsagentes.com/skills/coreyhaines31/marketingskills/programmatic-seo.md): Cuando el usuario quiere crear páginas orientadas a SEO a escala usando plantillas y datos, como páginas de directorio, ubicación, comparación o integración (pSEO). - [Schema](https://skillsagentes.com/skills/coreyhaines31/marketingskills/schema.md): Para cuando quieras añadir, corregir u optimizar schema markup y datos estructurados: JSON-LD, rich snippets, FAQ schema, product schema, breadcrumb schema y resultados enriquecidos en Google. - [Seo Audit](https://skillsagentes.com/skills/coreyhaines31/marketingskills/seo-audit.md): Para cuando el usuario quiere auditar, revisar o diagnosticar problemas de SEO técnico, on-page, de velocidad, indexación o rankings en su sitio. - [Keyword Research](https://skillsagentes.com/skills/every-app/open-seo/keyword-research.md): Descubre oportunidades de palabras clave, evalúa métricas y SERPs y guarda o etiqueta los términos prometedores usando los datos MCP de OpenSEO. - [Seo Audit](https://skillsagentes.com/skills/every-app/open-seo/seo-audit.md): Audita un sitio y entrega un informe SEO de una página, en lenguaje llano, que cualquiera puede accionar, centrado en una única acción para esta semana. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)